BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles A Fast Story Point Estimation Process

A Fast Story Point Estimation Process

Bookmarks

 

Estimating story points can be a tedious process. So tedious in fact that some teams abandon doing story points to help predict their velocity. Instead of letting go of this valid way to predict upcoming work, how about finding a way to make the process of estimating points much faster? Not only faster, but FUN! Yes, story point estimation and fun in the same paragraph!

We faced a situation where we had to know if we could meet a hard launch date for a new site that involved completely new creative and a services-based architecture approach that affected the interactions with backend systems. Several Agile teams (internal and external) were part of the effort and we needed to know if we could make the launch. We had to determine if we could accomplish the remaining work in the time available – or if we would have to cut scope to get to the date. We pulled together the team as well as key managers (15 people in total) to figure out as quickly as possible if we could commit. We had groomed over 125 stories in advance and were able to estimate the story points in about 15 minutes. At the end of our session, we could definitely say that we needed to pare scope to make the launch – and the business could decide what to cut so the date could be preserved.

If you have a co-located team, here’s a way to estimate up to 100 stories quickly. This process has worked very successfully when a team needed to provide a reliable timeline for when story development and testing would be complete so a major project launch could be planned. And it can replace estimation methods like planning poker that can take a long time.

So don’t stop estimating story points because it takes too long – use a different way! The risks of this new approach are negligible as this is Agile and supports moving forward boldly and with urgency to deliver working software.

Assumptions

  • There has been a Backlog Grooming Session and the team understands the gist of most stories
  • The team is co-located
  • You have a wall or conference room that the team can use
  • The stories are printed out on individual pieces of paper/post-it’s before the point estimation process begins – and all are taped/stuck to the wall in advance

  • Write a Fibonacci scale across the wall – 1-2-3-5-8-13-21 and then add a column labeled “?”

The Process

  • Team members form a line
  • The first team member is asked to place a story under the column that he/she thinks represents the correct story point value
  • The first team member moves to the end of the line
  • The next team member can either move the story that’s already been placed or can chose another story to place under the story point column he/she thinks represents the correct story point value
  • And so on until all stories are placed under a column

  • There will be stories that bounce back and forth between columns – the facilitator of the process can move those above the columns for discussion at the end of the exercise
    • When most stories are placed, ask the team to vote on which column the “bouncing” stories belong under
    • If they still can’t agree, place the story under the column with the highest number of points
  • There will be some stories that the team needs more info on – place these under the “?” column
    • Keep these to a minimum
    • If there are a lot, another Backlog Grooming Session may be needed so the team is clearer on the story details
  • The entire process of placing stories and negotiating any ones in dispute will move very quickly
    • Teams generally have fun in the process of placing stories
  • Once the team is okay with where stories are placed, add up the stories in each column and multiply by the column heading to get total story points

  • This can then help the team estimate remaining sprints based on current velocity
  • Note that there will be some prioritization for including the stories in actual sprints – this exercise focuses on figuring out how much work is left in the backlog

Give it a try! If you don’t currently have a groomed backlog, consider making up an example so teams can see how it’ll work. For example, if you have a project called “Make Pancakes” stories could be created for “Define what kind of pancakes”, “Create shopping list so I don’t miss anything”, “Go to the store so I have all the items needed”, “Assemble ingredients to verify I’m ready”, “Cook”, “Serve”, etc. These are stories that would be readily understood. So long as you have enough for the team to run through it can demonstrate this process well.

About the Author

Mary Ann Michaels has many years of project leadership for large-scale retail systems implementations. She is a big fan of Agile and how the methodology allows teams to quickly deliver working software – and uses tools learned on-the-job as well as through her MBA and various training courses.She has worked for large companies including Walmart.com, Levi Strauss & Co, Williams Sonoma, and Coldwater Creek. And she has both technical and business expertise having managed application development and support teams as well as a distribution center. She holds a BA in Math/French from Michigan State University and an MBA from Pepperdine.

Rate this Article

Adoption
Style

BT