Let's face it. Estimation is a necessary evil for all projects. Having good estimates helps to mitigate time and cost risks and better enables us to deliver successful projects. While the agile environment may have more flexibility, most organizations cannot tolerate never-ending projects.
As a whole and at a high level, estimation of agile projects is not that different from estimating any other project. You need to have a process and follow it. But that process might differ slightly, or some aspects might be more important due to the nature of the agile environment. With this in mind, here are six tips for improving agile estimation:
- Estimate smaller stories first, before tackling epics. If you think about it, it is always easier to estimate smaller, rather than larger tasks. To begin with, focus on some of the smaller stories first. It will get the team accustomed to the estimating process, get some stories with good estimates, and improve your chance of meeting them.
- Break epics down, even if only into smaller epics. Given that smaller is better, rather than tackle what might be a large epic, consider breaking it down. While stories are ideal, some epics can be broken down into multiple epics, making them easier to estimate accurately. Smaller is also better for sprint planning, so there is an additional benefit.
- Update estimates during the course of the project. While traditional projects are estimated 2-3 times, it is better to think of estimation of iterative projects as ongoing. The first estimates are produced with the initial product backlog. As the sprints progress and the backlog is reviewed at the start of each sprint, be sure to revisit estimates. Once several sprints have taken place, the team will know more about the work. They may be better able to estimate the larger epics and break them down.
- Like all estimating, this is a team sport. Some very large projects have separate estimating teams that do not perform the work. With the agile environment where teams are normally no more than 10 members who are normally colocated, be sure to involve the team to get the best estimates. And as a corollary, you may want to note who seemed the most confident or outspoken in the process. This may be the best person to do the work, since they will be more committed to their estimate.
- Like all estimating, look at historical or industry data. As with any other project, historical or industry data can play a role. For example, just because project methods change, decades of study that show the average computer programmer produces 10 lines of debugged code per day have not been invalidated. And suppose you have not been saving past project data such as any estimating meeting notes and product backlogs with estimates. In that case, this is a great project to start a new practice!
- Be sure to involve subject matter experts. As with any project estimates, subject matter expertise is important, and perhaps even more so in the agile environment. Hopefully some of this expertise will be on the team, but that is often not the case with flexible project which can change direction at any sprint. Bring in subject matter experts to consult and work with the team, especially as part of the estimating process, to be sure to get the best estimates.
Like all skills, improved estimation comes from continuous improvement. At the end of every project, if estimates were an issue, be sure to consider how you might better estimate the next project.
Want more tips for estimating and agile? Be sure to check out these additional articles:
The Importance of Confidence and Estimates
5 Tips for Handling Difficult to Estimate Tasks
5 Tips for Highly Effective Sprint Planning
Sprint Planning Template Checklist for Excel
Subscribe for Our Project Management Resources, Best Practices, and Tips
Confirm your subscription to receive an email with immediate download access to Project Manager's Resources, a valuable list of books and web sites.
Get the latest tips and updates sent directly to your inbox monthly.
We hate SPAM. We will never sell your information, for any reason.