Of course you would not expect every sprint to have a perfect burndown. You would not expect to complete every story in every sprint (my goal has always been 90% or greater stories complete), but if you are finding yourself with many “overhanging” stories each sprint there are a number of things that you can do to diagnose and fix the issue. In this particular post, I am going to discuss problems with time and hours.
There are three things that can go wrong with hours:
- The number of hours the individual estimates for capacity is too low.
- The number of tasks identified is incorrect (not enough tasks identified).
- The number of hours associated with each task is too low.
All of these problems can be solved by keeping track of actual tasks and hours during the sprint. It is only through this actual history that we can do a better job in the future. I have heard numerous times that the only hour tracking necessary is the time remaining and that it is “not agile” to track actual hours. Nothing could be farther from the truth. This misunderstanding reminds me of using points for a sprint (points make little sense for a sprint but are appropriate to a release). Successful agile relies on the proper application of the proper measure at the proper time. Of course actual hours will tell you nothing about your ability to complete the current sprint, but they speak volumes as to what you can accomplish in later sprints.
Fixing low capacity is easy. At the beginning of a sprint, each individual gives hours that they think they will be able to give to the team for the sprint. If you keep track of what they actually are able to spend, you can compare the two numbers at the end of the sprint. If a particular individual is consistently not able to meet the number theorized at the beginning of the sprint, then the proper response is to adjust the estimate to be closer to the true hours given. It also helps to track just where these hours are going. Many of my teams have chosen to track “Time Off Sprint Activities” during sprints to understand where their time is actually spent. Many times they are pulled into work that was not anticipated (“emergencies”) and this stops them from burning down.
Tracking this time off task can be very enlightening. With one of my teams it was found that they were regularly spending over 50% of their time doing work outside their team. While it was generally known that they were getting pulled from their primary work, no one in the organization knew to what extent until we kept track of actual hours off task. This lead to management doing a better job of keeping the team off limits for all but the real emergencies.
More importantly, starting with a more accurate representation of actual hours will lead to taking on fewer stories and a greater chance of completing those stories that are actually taken.
Fixing not enough tasks identified and not enough hours per task is very easy once you keep track of actual tasks and hours. This way, when you plan in the future, you can shortcut tasking with hours by first asking, “do I have stories in my backlog that resemble this story?” If so, then it is very easy to take the actual tasks and hours as a starting point for estimating. Over time, a wealth of information about past performance can be used to more accurately predict future tasks and hours.
It is through applying more accurate capacity, tasks and task hours that I have consistently been able to have teams that, after a few sprints, are able to complete over 90% of committed stories for the average sprint. This increased predictability leads to all other kinds of benefits (can you say no death marches) and is greatly appreciated by product owners and customers.