Story Points Estimation

From apppm
Revision as of 22:43, 16 September 2015 by S113735 (Talk | contribs)

Jump to: navigation, search

Story Points are an estimation tool used by many IT-development teams. Story Points are often recommended in Agile Project Management frameworks and methods such as SCRUM, Agile-Kanban or Extreme Programming (XP). The Story Point estimation tool separates itself from conventional tools by being an arbitrary unit of measure that estimates required effort instead of the more tangible and well-known hours. Proponents of the tool argues that Story Points encompass a range of dimensions including, complexity, uncertainty and risks involved in the task. It remains, however, a controversial tool, often because the concept is not well understood, its benefits are abstract and effective use requires prerequisite work as well as medium or long project run-times.

One clear benefit of using Story Points is that it enables the project team to measure the velocity of the team: An hour is always an hour, and in a perfect world the burndown-chart burns with exactly the amount of work-hours you assign to your tasks. This is, of course, almost never the case. Project teams works more efficiently in some periods than other. Overhead also varies through the different phases of the project. By assigning story-points based on effort to tasks you create an effective tool to measure the current speed of the team. An added benefit is that the perceivable metric often creates a common goal to increase the pace within the project team.


Contents

Application and Use

A Story Point is an arbitrary unit of measure, and so, the precise method of application is not well defined, and may vary greatly between different projects and teams. It is, however, very important that a shared understanding and application of method exists within any team estimating using Story Points.

The template method below provides an example application of the Story Point estimation tool. It is in no way prescribed, and any truly Agile team should aim to develop their own approach:

  • Step 1: Identify base stories.

Most Agile software development teams will have either general or technical User Stories made available to them at the beginning of the project. From the backlog of stories identify one or more base-stories to serve as reference to estimate the relative size of the backlog.

  • Step 2: Make individual "bids" on stories.

Have each team member (including testers, front- and back-end developers, project owners etc.) write down a reasonable "bid" for the story. This could for instance be done using the Fibonacci sequence: 1, 2, 3, 5, 8, 13, 21... The bid should represent each member's personal estimation of the effort required to complete the given story.


  • Step 3: Have each team-member explain the reason for their bid.


  • Step 4: Reach consensus for assigned Story Points.


  • Step 5: Break down stories.


  • Step 6 (During development): For each story to be committed to a developing round i.e. "Sprint" go through step 2-5.



inspiration - (https://www.scrumalliance.org/community/articles/2014/january/a-practical-guide-story-points-based-estimation.aspx, http://www.ascendle.com/blog/a-step-by-step-guide-for-estimating-software-development-free-software-development-estimate-template, https://dev-wiki.maastro.nl/display/SDTP/Estimate+story+points)

Limitations

Alternatives

References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox