Skip to main content

Development

Agile estimation and planning: Part 3

In Part 1 and Part 2 of this series, we investigated why we use relative estimation as the foundation for our estimation and planning process. In this article we will look at a second aspect of Agile estimation that helps us improve the accuracy of our estimates.

Traditional estimation is an expert estimation technique: that is an expert is responsible for providing the estimate. Typically the expert is a project manager, or perhaps a senior technical member of the team who has a deep familiarity with the system or technology that will be employed in implementing the system. As described in Part 2 of this series, there are some challenges when someone who is an expert provides the estimate. While they might be accurate if they were estimating something they themselves would be doing, there ability to estimate on behalf of others has it’s limitations.

Imagine this scenario. An individual who is quite knowledgable about buildings is placed directly in front of a building as depicted in this image and ask to estimate how many rooms the building contains. What do you think their estimate would be?

Agile estimation also makes use of expert estimation, but our definition of expert differs from the classic approach. Agile principles emphasize the importance of teams working together to achieve results. Each team member (individuals) is valued for the perspective they can bring a given problem.

Actually, if you even ventured a guess at how many rooms there might be in the building depicted in the image above you fell into the trap thinking of the problem as having a single dimension. Seldom are problems this simple. You probably recognized that immediately, and realized that additional perspective is required to understand the full scope of the problem.

Having multiple people look at the problem from different perspectives helps achieve a more thorough understanding. We can imagine we would get a much different estimate for the rooms in the building if we have another person providing a different perspective on the problem. For example if we have someone standing on the side of the building, as shown in the following image.

Clearly the estimates provided by individuals seeing the problems from different perspectives would differ substantially. Taking into account the input from multiple perspectives will gives us a more complete understanding of the problem, and a better foundation for our estimates.

By now you can probably see where this is going. Adding yet another perspective could shed even more light on our problem would add an even more complete understanding of our problem, and consequently more accuracy in our estimation. Imagine that we add the perspective of a third individual, as depicted in the image below.

Even with these multiple perspectives, we are still missing information that would enable us to provide an accurate estimate. What about the view from the back, and the top, and the bottom? What about the view from inside, which might include observations about the number of floors if one climbed from the basement of the building to the top. (Oops, there’s a basement in that building? We didn’t see that.)

We can see that by brining in a diverse set of perspectives, which we would anticipate if we have a cross-functional team, our understanding of the entire problem will be enhanced resulting in more accuracy in our estimates.

Before leaving this topic it’s also important to note one additional way we seek to further increase the accuracy of our estimates related to this approach. As noted in Part 1 I will ask individuals to write their estimates on a post-it note without sharing that information with others. This approach leads to much more diversity in the responses than if I allow them to share their estimates with others openly. Often some members of the group will offer estimates which are clearly inconsistent with the group at large. When we look at something as transparent (pardon the pun) as water in a bottle, the very divergent answer is likely inaccurate, but when we’re looking at complex problems, such as those related to the development of complex business systems using advanced technologies, there may well be individuals who can provide divergent estimates that are in fact very valuable. For example someone might be familiar with a particular 3rd party component or open source library that might greatly decrease the effort required to achieve the result. By asking individuals to initially provide their estimates blind to others the divergence among the estimates often provides additional valuable insight into the problem.

Combining relative and whole-team estimation, further augmented by at least the initial estimate provided by each team member being blind to others, we establish a solid foundation for producing useful estimates. Estimates are still estimates, and not precise. In our experience, however, we’re able to effectively leverage this approach to establish estimates that allow us to effectively forecast and track project delivery.

The planning and tracking aspects will be described in the next and final article in this series.

Thoughts on “Agile estimation and planning: Part 3”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Vernon Stinebaker

More from this Author

Categories
Follow Us