Are you trying to calculate the sizes of complex features? A feature is composed of many stories that may have been estimated by different teams. But are those estimates consistent across teams and over time? Probably not. Stories may be impacted by the teams’ differing skill sets, changes in environment and assumptions, and other factors.
Story estimation is a challenge for all Scrum teams. Teams estimate their stories during backlog refinement and planning sessions. At these events, they assign estimates to stories using story points, often using a Fibonacci series. When deciding how many points to associate with a story, they consider factors like risk, complexity and effort. These estimates tend to become more accurate and consistent over time. But what happens when multiple scrum teams work together to create a single feature/epic? How do you get teams to estimate stories consistently across teams?
One team may size a story as a 3 (story points) but another team sizes the same story as an 8. To understand their true velocity, it’s useful for teams to provide consistent estimates. This is where the concept of reference stories is useful.
A reference story serves as a guide to assist teams in estimating by providing a benchmark story to base new estimates on. The teams create reference stories with specific story point values. Then, when estimating a new story, they use the reference story to determine its size in story points. Later, the total size of these estimated stories can be used to determine the size of their associated reference features.
By conducting a reference story workshop. Who participates in the workshop? All teams do. If you’re using the Scaled Agile Framework (SAFe), this would include every team in the release train. Everyone works together in the workshop to create the reference stories. The purpose of this event is to identify and size the stories that will define the guideline/example stories that are then used to define the estimate for future stories. Once these reference stories are defined, the teams will compare an un-estimated story to these reference stories to determine its estimated story point value. This will make all future story sizes consistent!
NOTE: All teams participate. It is critical that everyone agrees that these reference stories will be used for all future estimations.
Before ranking the stories, reorganize them to avoid having the Complexity ranking impact the Risk ranking.
Now that this process is completed, the teams will use these reference stories in the refinement and planning process. Work with the scrum masters to ensure the teams are following through. The temptation to revert back to gut-feel or bottoms-up estimating will be strong at first, but it’s important not to slip back into old ways. Using these reference stories across all teams should make your estimations more consistent. As your organization takes on larger efforts, this consistent estimating will allow for the creation of reference features. A reference feature size is determined by its associated stories and provides a great tool for estimating large-scale efforts.
While this guide to creating reference stories should help your teams immensely, if your organization still needs support navigating the ins and outs of Agile processes, please don’t hesitate to reach out to us. Our experts at Anexinet would love to help you get started.
*Thanks to Victor Penman for his assistance with this article.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.