Software developers hate to give estimates, and they’re generally bad at it. I can say this because I came up as a developer, and I understand the attitude. We’re wired to dig in and fix problems, not sit around characterizing them. This is one reason we like to code at night. If we finish early, we’ll go to bed. If not, we’ll just keep coding.
Accurate estimating is a serious challenge for managers and scrum coaches. Ironically, it was less of a problem back in the waterfall days. Longer development cycles meant more risk, so we put more effort into estimating. Also, bigger chunks of work meant that an underestimate on one task might be offset by an overestimate somewhere else.
GMAT data sufficiency questions are surprisingly sophisticated, and most students do not truly understand the game or leverage all the hints present in these complex problems.
Contract development firms would live or die by their estimates, so they developed elaborate quantitative tools. See my earlier post on agile development.
This challenge, sizing up a problem without actually solving it, is a testable cognitive skill. I am referring to the dreaded data sufficiency section of the GMAT exam, which is cleverly designed to kill you if you try to solve each problem. The skill is to work each problem only far enough to determine the data requirements. Here’s a sample:
A dealer offered a service contract at a price that would gross 40 percent over cost. Which, if any, of these facts is needed to determine the dealer’s cost: 1) After reducing his price by 10 percent, the dealer sold the contract at a profit of $403, or 2) The dealer sold the contract for $1,953.
Sometimes, “we don’t know anything until we know everything.” Every piece of the puzzle must snap together. This is true of the development phase, but not estimating. Making decisions under uncertainty is the theme of most management training.
The diagram above is the ne plus ultra of data sufficiency problems. I found it, not on a test-prep site, but on Twitter. If you’re handy with geometry, you’ll notice that you don’t have enough measurements to fully determine the shape. You can’t compute its area, for instance.
But that’s not the question! Even though the exact shape isn’t fixed, the length of its perimeter is. This is a great example where you don’t need to know everything, to know the answer.

