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.