Wednesday, July 04, 2007

Absolute estimates and Relative estimates

As soon as you ask any software developer about the effort it takes to implement a particular requirement, the answer would be either in hours or days. This is called absolute estimate and in the agile world the concept of relative estimate has been introduced by Mike Cohn(atleast as far as I know !).

In case of relative estimates, one would estimate the size rather than the effort relative to each other and then, this size could be mapped to effort based on the velocity/some other means. But the key thing is to understand the applicability of relative and absolute estimation techniques.

Story points are the units used frequently while applying relative point estimation technique.

Coming to the applicability part, the business people want to know how many days or months it would take to deliver the product. You can't tell them that the requirements takes 55 story points, these numbers may not help them to allocate budget or prepare themselves to market the product. They should always be given the absolute estimates. But, the route to absolute estimates at this point should be through relative estimates. This is because, as we move higher the abstraction the clarity reduces and accuracy with absolute estimates decreases. At higher abstraction levels relative estimates suit better than the absolutes. The maturity of the team lies in converting these relative estimates to absolutes and sharing with stakeholders.

Generally, product planning, release planning phases are at higher abstraction level than the iteration planning phase.

At iteration planning level, one has more understanding of requirements and can be more accurate in providing the absolute estimates.

No comments: