More thoughts on estimation

Software testing is similar to investigative journalism in more than a few ways. The journalist and tester immerse themselves in an environment to interact and learn from experience to be able to tell the tale of their adventures and exploits at some point in the future. Software testing and investigative journalism are similar in the sense that they are not construction. There is no finished product. The end result of both of these activities is knowledge.

The Tale
When telling the tale, the journalist begins with the big, bold events that people like to talk about and other people like to listen to accounts of. Natural disasters fall into this category. This time last year, I was still dealing with the aftermath of Hurricane Ike. Days after the event, accounts of Ike were being told. Days after the hurricane ended, accounts were being told day in and day out. If you were luck enough to have electricity, this is all you had the privilege of listening to.

After large obvious, easy to analyze events, there are the events often considered equally large and important but are more difficult to analyze and people are not as eager to discuss. Casualty count of war is a really big deal; you will be hard pressed to see this discussed on the evening news though. It generates dissent in the population and creates a lot of questions as to whether what is being fought for is really worth the cost.

From there people move on down the list of things they encountered until reporting on things like dag weddings and days the local Girl Scout group will be selling cookies.

I’ll leave the drawing of parallels to the reader, there are many examples relating to software investigation and reporting that quickly come to mind.

The Journalist
The journalist telling the tale is investigating for someone that wants to know about what is going on in the world (Wow! Not unlike software testing!). The people that want to know, want to know by a certain date so that they can process, edit and share the information. The journalist is not working leisurely; s/he is working rapidly to discover everything thought of as important to the theme under this time limit.

Often, once the investigation has started the investigator will see a series of events and think “Wow, the information I know right know is very superficial. There has got to be something else going on here. I need more time to figure it out!”

More time…more time…

More time means more money of course, so someone has to be willing to continue paying for this activity. So being the savvy businessman that s/he is, the journalist pulls a number from his butt and goes back and says “I need another month! Then I can know this and this and that”. The person he is reporting to says “Hell no, I’m not paying you for that long. This story has to go out. You have a week.”

The Negotiation
Yes, this example is ridiculously simplistic. But it is a fairly good representation of what a tester goes through an iteration of development.

Think about this. Before going on an assignment, the investigator is shown a single picture of the scenery he will be in. the picture is not the real scenery though, it was drawn up by someone who thinks this might be what the scenery will look like when you get there. The journalist is expected to estimate how long it will take her/him to gather all the information most worth knowing.

I agree, absurd.

My Review
One thing is clear, there is information here that is unknown and it is worth a substantial amount of money to spend time figuring out what there is to know. Also, the question of wanting to know how long it will take to acquire this information is a very reasonable thing to ask.

Based on the assumption that there is obviously something here worth knowing, why not spend some time to do a short ‘pre-investigation’ and get a better idea of what is going on before giving an estimate?

Today is the most ignorant day of the rest of my life. I will always know more tomorrow than I think I know today.

Though doing this will not allow you to create an accurate estimate, it will be more accurate than what you have given with out the pre-investigation simply because you know more.

Leave a Reply