Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Story Point Estimation

DZone's Guide to

Story Point Estimation

Looking for a way to spice up your Sprint planning? Read on to learn about a gamification technique that helps drive the velocity of your Scrum team.

· Agile Zone
Free Resource

See how three solutions work together to help your teams have the tools they need to deliver quality software quickly. Brought to you in partnership with CA Technologies

Introduction

In today's era of software development, elaborating the business requirements in the form of stories is considered to be an engineering best practice. The narrator puts their heart and soul into bringing out all the business details and bringing value to the story in front of the team.

The team actively listens to the story and resolves, as best they can, any questions they have pertaining to it. Once the team has built its understanding in terms of estimates, complexity, and uncertainty, then comes the essential task of story point estimation.

Story point estimation is one of the essential steps in Agile. This article talks in detail about story point estimation methodology. Various types of inferences that can be directly/indirectly drawn from it, and conflict in the story point estimation process.

Estimation Technique

Planning Poker is one of the more widely preferred ways of estimating story points. This technique is based on the Fibonacci Series of allocating story points (1, 3, 5, 8, 13) based on effort, complexity, and uncertainty.

Teams cohesively identify a 1 point story as a base story in the Sprint planning meeting and accordingly allocate the numbers to the other stories proposed for the Sprint.

Inferences

Story points help to infer various parameters as mentioned below:

  • Velocity: Story points are directly proportional to the velocity of the team for a particular Sprint. Velocity here refers to the average story points of the last three Sprints, and thus the more story points, the higher the Velocity.
  • Productivity: Studying the pattern of each Sprint's aggregate story points will allow the Scrum Master to gauge the productivity of the team in a particular Sprint. Based on the historical aggregate of story points, a control limit is set and a team's productivity can be marked as RED, AMBER, or GREEN in a particular Sprint based on the aggregate story points taken by the team in a particular Sprint.
  • Impediments: Lower story points achieved within a particular Sprint sometimes also reflect the impediments which a team is facing and due to which it is unable to complete its story and claim the story points.
  • Backlog Health: Lower story points can also be a representation of poor backlog health because of which the team is unable to pick more stories.
  • Utilization: Story points can also help to highlight an over utilization of the team if it occurs. An increase in team Velocity, along with increased efforts in logging compared to estimate efforts, shows the over utilization of the team.

Conflict

Story point estimation exercises sometimes raise conflicts within the team where one set proposes certain points and the other set proposes another set of story points. For example, some ambiguity may arise around the effort, complexity, and uncertainty within the team. A Scrum Master/Facilitator of the Sprint planning meeting takes the position of an intermediary and resolves all the conflicts so that it's a win-win situation for the entire team.

Discover how TDM Is Essential To Achieving Quality At Speed For Agile, DevOps, And Continuous Delivery. Brought to you in partnership with CA Technologies

Topics:
velocity ,scrum master ,agile ,story points ,user stories

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}