After going
through the basics of Scrum, the different meetings, the different Artefacts etc.,
it’s about time we start digging into details of how Scrum could be implemented
in a Project.
If you are
someone who is not new to Agile Software Development or Scrum, you may have
heard the term “Story Point(s)” when people talk about estimates. The purpose
of this article is to help you understand what a Story Point is and how you
must be using it for your project.
What is a Story Point?
Story Point
is a unit of measure for expressing an estimate of the overall effort that will
be required to implement the User Story under consideration. Each user story
will have a Story Point estimate assigned to it. When we estimate with story
points, we assign a point value to the item. The value by itself does not have
a meaning and is more of a relative identifier of the size or complexity of the
story in comparison to another story. For ex: a story with a 2 story point
estimate is perceived to be twice as complex as one with a 1 point estimate.
Instead of
assigning numbers like 1, 2 & 3, teams could even assign values like 1000,
2000 and so on. As I said before, the actual number by itself is insignificant.
What matters is the relative ratio of the numbers.
What should I consider before Arriving at a Story Point?
As the
story point is going to represent your estimated effort to develop a story, the
estimate must include everything that could potentially impact the effort. Some
considerations include:
The amount
of work to do – This is the most important consideration because if there is
more work to be done, obviously the estimate will be higher.
Real Life Trivia: For teams that are transitioning from regular waterfall SDLC projects the most common mistake they do is to associate a story point with a fixed duration (either hours or days). Yes, having such kind of a conversion factor makes estimation very easy but that is not Scrum. Scrum recommends that the estimate is a representation of the complexity rather than an accurate depiction of the duration in days the team is going to take to finish the work.
The
complexity of the work – The complexity involved in the work we are taking up
should definitely be a consideration factor while arriving at the story point
estimate. The more complex the work, the higher the estimate will be. As we
have already covered volume of work as one parameter, we should be focussing on
things like how likely are people to make mistakes while implementing this, do
we know everything required to begin work etc.
Risks &
Assumptions that could impact the work – The earlier in the life of a Story the
estimation is happening, the more uncertainty exists around the requirements
because even the product owner is probably still making up his mind about what
the product is expected to do. There would be a lot of assumptions and even
potential areas for change in the future. All these represent risks to our work
and accordingly will result in a higher estimate.
Real Life Trivia: Scrum does not recommend any weightage or order of priority for us to consider among these 3 factors while arriving at the story point number. The team is expected to exercise their judgment and arrive at a number that can help quantify the story’s complexity and work required in a reasonable manner. For example, you could start with a number to represent the amount of work involved. Then you could consider the risks and uncertainties to adjust the number again. The greater the risk likelihood or impact, the greater the impact it is going to have on the number. Then we could consider the complexity of the work to be done. We could consider factors like how much study, trial & error experiments, negotiations with stakeholders etc required during the course of implementation and then adjust the number to arrive at the final figure.
Like I said
before, the story point is not a representation of the duration in days or
hours but rather is a number that represents complexity. The Story point can be
pretty hard to grasp especially if you are someone very used to the waterfall
methodology of software development. Nevertheless, if you try to do it for a
couple of sprints, you will get the hang of things and should be able to take
things forward the Scrum way…
No comments:
Post a Comment