Sunday, August 26, 2007

For the Love of God, Count Something

I've been reading Steve McConnell's Software Estimation: Demystifying the Black Art.

It's a mostly-fabulous book, and I highly recommend it. I have no doubt this book will take its place as a classic alongside his Code Complete and Rapid Development titles.

This post is the first of a few summarizing and commenting on key estimation principles that McConnell covers in the book.

As my title suggests, step zero: count something ... count anything. Count features, functions point, user stories, use cases, web pages, GUI widgets... count what you can. It'll take some work to get from that count to a useful heuristic for estimation, but it's way better than the all-too-common practice of estimating by licking a finger and holding it up in the air. Hmmm ... 7 knots, from the north-west.

Steve spends many chapters exploring what to count, when, and how; who should do the counting; and what to do with the totals. But the premise is that "take a SWAG and double it" is not only unreliable, but it's indefensible. How can you explain an overrun or ask for more resources if there's no process to justify your numbers? There's no way anyone in your organization can plug your "gut" into a spreadsheet in a useful way, so you're perpetually at a disadvantage in negotiating to ensure positive outcomes.

Another vulnerability in the gut-feel approach is that -- even if the manager or programmer who makes the gut estimate is right on the money -- she can only be right on relative to the scope she is imagining to be on the table.

In many organizations, scope is not made sufficiently explicit to guarantee a proper understanding up front. Thus the "counting" part of the estimation process actually brings new specifications to light regarding the project being estimated. A couple of iterations of this process, and a lot more is known by all parties. More knowledge generally leads to less risk and more predictable outcomes.

6 comments:

Richard Majece said...

I think that advices from https://dissertationauthors.com/blog/phd-dissertation-writing will help you to learn more about writing PhD dissertation. I had such experience recently

Anonymous said...

Writing a superior essay is never an easy job. However, it is not impossible to create a great piece of work if to provide enough time and devote attention to it. If you don't how to do it, buy cause and effect essay.

Betty Bilton said...

Hello guys, I really love music, its not only my hobby its my life, but seperately I'm a student who ought to prepare a paper the topic of which is quite complicated, so I don't think for sure whether I will be ready to cope with it, so I addressed to the proffesional writers in order to get the support and help, so if you have the same problem you can do that just follow land paper writing service wherre you can not only to order good essays, but also use words to minutes calculator service in order to count the amount of words, sentences, letters

Unknown said...

Great post, positive site. I have now read your article on your website. And I'm like your style of writing, keep up the good work.

DD15 engine for sale
ISX engine for sale

Ciana Langham said...

Hello! If you see that you have no time for writing your papers then don't worry. You can apply to the essay writing service where you can find a lot of useful information. For instance, I found there analysis paper example

Dakota Leest said...

Appreciate time you spent on writing. This is truly an interesting blog post. I am dreaming of creating quality content. However, I am bad at writing and order paper writing help on https://essays-writer.net/buy-a-motivation-letter-for-scholarship.html.