The Uncommon League

View Original

What’s the Best Approach to Estimating an Agile Story in Sprint Planning?

Let’s outline a few helpful pointers on how to estimate a user story in Agile more effectively. Since we are in sprint planning, our estimating approach will differ from how we estimate a Story Map.

Estimates in sprint planning are best performed based on the acceptance criteria for the user story. So before estimating the user story, we recommend gaining agreement from the team on the acceptance criteria. The Product Owner and/or Business Analyst typically help guide the team in creating the acceptance criteria for user stories. 

Conduct a thumbs up or thumbs down vote with the team on the acceptance criteria. Thumbs up means it’s good, and let’s move forward to estimating. Thumbs down means the acceptance criteria is not fully baked, and the team has too many questions. Sorry - no sideways thumbs. A vote must be up or down.

Read the room. If everyone votes thumbs-up, that’s a good indication the entire team understands the acceptance criteria. If everyone has a thumbs-down, that’s a good indication that the team needs further discussion to understand the acceptance criteria or that the acceptance criteria needs to be rewritten with more details for the team to understand. 

Pick the estimation technique. Hopefully, your working agreement already calls out the estimating technique that the team will be using. There are several techniques available. We will focus on story points.

What is the scale you are using for story points? Most teams use Fibonacci values (1, 2, 3, 5, 8, 13, and 21) for their scale. It’s popular because it’s the most effective at estimating more accurately.

The team should understand what story point values mean. Do they translate to development hours? Example: 8-10 development hours translate into 4 story points. Are story points based on the complexity of the acceptance criteria or solution for the user story? Example: User stories that are very difficult to develop will get 20 story points, while simple and easy user stories get 3 story points.

Whew, we got that covered. Now how are we going to perform estimation? Are we using playing cards with the values on them? Are we blurting out values in a meeting? Does every team member get a story point vote? What is the process for estimating? A good face-to-face conversation is the best approach. 

Holding up story point cards all at once is also a good approach. This approach prevents “Preference Falsification.” Those are big fancy words that mean we as human beings are hard-wired to get along with each other. We sometimes give up our ideas and perceptions to avoid becoming an outcast or avoid being the only one to have concerns. Our need to get along overrides our ability to share our unique experiences and insight. Raising the story points estimation cards all at once helps address this issue. 

Build the consensus on the estimate. Ask team members with the highest and lowest estimates to provide the team with a bit of insight into why they chose that story point value. Was it because of risk? Do they have a unique experience with the solution that others don’t? This discussion leads to help the team build a consensus for the estimate. Not everyone will agree in the end, but the conversation is a good one to have. That conversation can spark memories or experiences that other team members may have forgotten. It also a great way to share tribal knowledge.

Take the final vote and get team agreement. You may need to time-box the discussion to 3-5 minutes. Add the estimate to the user story. Be careful in assigning user stories to a sprint. You only have so much capacity as a team for each sprint. Yup, you’re estimating our team’s capacity, too—more on that in another article.

If you want to dive into the research by the Agile Alliance:

“Using Agile Story Points as an Estimation Technique in CMMI Organizations” by Alaa El-deen Hamouda - https://www.agilealliance.org/wp-content/uploads/2016/08/Research.2014.Hamouda.pdf

“Demystifying Story Points” by Zaheerabbas Shaukatali and Swati Garg - https://www.agilealliance.org/resources/experience-reports/improving-estimation-story-points/