This blog is the first in an occasional series of blogs highlighting my experiences and associated research while implementing a Scrum methodology for a software development project at a Fortune 500 Financial Services corporation.
As Scrum practitioners are aware, one of the essential facets of a successful Scrum methodology is the estimations of effort needed to complete user stories. These estimations are commonly referred to as "story points." There is no prescribed manner in which to estimate level of effort or story points. The following methods are commonly used:
- Very Low, Low, Medium, High, Very High
- Fibonacci Sequence (1, 2, 3, 5, 8, 13, 21, 34, ….)
- T-Shirt sizes (XS, S, M, L, XL)
- Dog breeds (Chihuahua through Great Dane)
What do these estimates mean? "Text book" scrum states that these estimates/story points should be meaningless, with the exception of its relative value to other user stories. Let's take a look at a real world example, like running a marathon. Two user stories in that "project" could be getting dressed and the actual running of the marathon. The getting dressed user story would be relatively small (i.e. Very Low, XS, or Chihuahua) in comparison to the effort of running the marathon (i.e. Very High, XL, or Great Dane). The point is to have story points be determined in a relative sense. In an ideal world, duration should not be taken into consideration, only level of effort.
Of course, projects rarely exist in an ideal world. Your stakeholders may relate better to estimates in duration rather than level of effort, especially when project milestone dates must be provided to executive leadership. This is the reality I am currently experiencing on my project, in which we are using a Scrum/Waterfall hybrid. We estimate our user stories using the Very Low through Very High method and map hours of effort to these labels. The hours of effort for a story, allow us to plan our sprints accordingly, and provide milestone dates to our executive stakeholders. Our hours of effort mapped to estimates as follows:
- Very Low = 0-8 hours
- Low = 8-20 hours
- Medium = 20-40 hours
- High = 40-80 hours
- Very High = 80+ hours
Note that the range of estimated hours increases with each label. This is due to the fact that as the effort increases on a user story, the greater the likelihood of unknowns. Also note that Very High has an effort estimate of 80+ hours. We have determined that if a user story requires a Very High estimate, then it needs to be broken down into two or more stories.
Scrum practitioners, how does your project estimate user stories?
In my next blog, I'll explore the process of decomposing user stories into tasks and how we do that on my current project.