The mirage of software estimation

Friend sent in a link:

Subject: Why software estimation is so difficult
Or are we just bad at it.
Finally some mathematical rigor to it:
http://www.idiom.com/~zilla/Work/kcsest.pdf

A necessarily incomplete excerpt from the introduction of the paper:

… Is it possible to apply mathematical and scientific principles to software estimation, so that development schedules, productivity, and quality might be objectively ascertained or estimated rather than being a matter of opinion?

And can we do it in a way that does not take longer than, uh, doing the project itself? It would be even better if it did not take longer than the boss/customer/client takes to blow their collective tops.

… there are a large number of design methods, development processes, and programming methodologies that claim or hint at objective estimation of development schedules, project complexity, and programmer productivity. …

Yup, got that right.

Hardly any methodology comes up and honestly claims that the estimates are going to be rather shaky. There are those that emphasize change management and re-estimation as you go along. However, they blame it on “changing requirements” or “project risks”, not on “our estimates are way inaccurate anyway”.  Hardly anybody acknowledges that estimating how many tasks can be done in a sprint, or how long a sprint will take to do is a guesstimate. Instead, they just downplay the estimation bit, to a bullet point in a presentation: “thou shalt estimate thy tasks”. You come away thinking there must be something everyone else knows about making accurate estimates and you are the only idiot on the planet who does not.

… it would be easy to conclude that these methods are not being practiced.

Yeah, not in very many places. Just adopt a methodology and your schedules will all come out just right.

In sections three and four we will find that algorithmic complexity results can be directly interpreted as indicating that software complexity, development schedules, and productivity cannot be objectively and feasibly estimated and so will remain a matter of opinion. …. The situation here [with approximate and statistical estimators] is more optimistic, but we give reasons for maintaining a scepticism towards overly optimistic claims of estimation accuracy.

Well, that was that. No accurate estimates for you. Schedules are just guesswork.

In all the project management literature I have read, the work of project management consists of a lot of tasks or processes, and one teeny-weeny box in the big flow is “activity duration estimation”. And I have not seen a single description of actually how to go about doing it.

The PMBOK (Project Management Body of Knowledge) produced by the pmi (http://www.pmi.org) has more to say: it described the inputs and the outputs of the process of “activity duration estimation” and the tools to do it:

  • Enterprise Environmental Factors (that is, everything about how the company does business)
  • Organizational Process Assets (aka Historical Information)
  • Expert Judgment

Wow. Expert Judgment. Hmm…. that reminds me:

Once, I was trying and failing to setup networking on Windows on a home machine. When I reluctantly fired up the help system by clicking on the “Troubleshooting” link on the networking tab, I was walked through some inane Q&A menus, finally landing on “for more information, ask the system administrator of the network”. You can see this kind of “help” in a lot of places, including user manuals.

The alleged system administrator is the equivalent of the “Expert” of the project management lore, one who would have the knowhow to give accurate, useful information.

The problem: I was the system administrator of the network. And I did not (yet) have a clue!

Advertisements
Post a comment or leave a trackback: Trackback URL.

Comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: