Sunday, December 22, 2013

"DONE" - Thoughts on Software Estimation

When developers are asked to estimate the effort & time required for a change request, or fixing a bug, they give some numbers. And starts working on it and says its done. But actually there is more to do in it.

For example:
1. It should be tested, integrated, and pass the QA
2. The code also needs to be reviewed & refactored (if the developer/company does't follow this practice as part of their regular development)
3. Finally it should be accepted by the customers

But developers don't consider all of these and gives estimates. But the Parkinson's Law applies and the project automatically pulls the effort and time actual required from the developers.

I usually tell the developers that you have the right to give the actual time required for it. Need to shrink and give false estimates which are less. Take all of those into consideration and tell the time required for it.

Let me give an example of what DONE means. If we want to buy an Air-conditioner for our bed room, when we are done? We are done only when cool air is flowing out of the A/c and our room is getting cool.
To complete the above task, we need to take all of the following steps into consideration for estimating the cost and time required.

1. Search (online or visit a nearest store) for the needed capacity, model, brand, of the affordable budget, quality, service availability etc.
2. Go and place and order for it.
3. Get it transported to our house.
4. Get the required electrical wiring & man-power to do it.
5. Actually mount the A/c and connecting it the mains.
6. Finally the A/c need to be tested and accepted/approved and we then pay the bills

There could be few more or less steps involved in getting the room cool then only we can say it is DONE.

No comments:

Post a Comment