The Art of Agile Estimation
When it comes to agile mobile development, the key to predictability and sustainability is the ability to make accurate estimations. Despite their criticality, however, estimation practices still lack a true scientific approach. No observations can predict future occurrences. Thus estimation is an art form akin to guesswork. Yet estimates are core data points used to plan upcoming work and assure customers their needs will be met just in time.
We may regard estimates in two ways: “How much time will I need?” and “how much time do I have?” The first question provides a good approach to building a plan from the bottom-up. The bottom-up approach to estimation requires teams to think through the work in advance and estimate times needed to accomplish each step in the development plan. The second question leads us to more of a top-down budgeting approach. This top-down, fixed time-frame approach requires teams to create a list of tasks that can reasonably be accomplished given the budget of time. Both approaches have their own merits and are not mutually exclusive. The bottom-up approach is more methodical whereas the top-down approach tends to be innovative. Every team benefits from a little methodology and innovation.
Agile estimation and planning uses a combination of these approaches. Specifically in Scrum, story-point estimation can predict how many sprints will be necessary to deplete a backlog. Additionally, the velocity metric provides a benchmark budget of how many points can be accomplished in each sprint. Story points are supposed to represent an abstraction from the traditional estimation unit of time. Points are simply a categorical rating. For example, points can be expressed as easy, moderate, or difficult (more commonly, points are described as t-shirt sizes: small, medium or large). Lastly for the esoteric, units like the Fibonacci sequence may also be used to categorize stories.
For those who prefer to “keep it real” with more approachable units of estimation, there are ideal days. Ideal because they attempt to strip away any risk of unplanned distractions and diversions. No matter the unit, however, the estimation itself remains a guess. Since every project is unique, very little empirical data can be used to predict a future outcome. The probability of accurately predicting how much time will be needed is still slim. Regardless of the estimation approach, managers just need to make it work.
Sometimes you’ll need to get creative and find a way to get the work done in the time allotted. Alternately you may need to think through the process before you act. No formula, structure or guidance can help—this approach is purely creative. In general: the more creative and innovative the estimation, the more accurate the result. Less creative forms of estimation tend to be consistently off.
In short, always consider estimates as more art than science—an expression of creativity meant to be appreciated for its emotional power. They cannot be used as a measure to predict an outcome. Since every mobile app development project is unique, it is very difficult to accurately and confidently predict how long a project will take.
At the same time, however, an estimation is still a commitment—an assurance made to assuage the uncertain, an unwavering commitment to get the work done; the very key to the predictability and sustainability of a successful agile team.