The first thing you need to do when you are implementing Scrum is to create a Backlog. It can be hundreds of items long, or contain only the few things that you need to figure out first. Of course, you need a clear idea of what you want at the end of the work.
Jeff Sutherland. “Scrum. The Art of Doing Twice the Work in Half the Time”
In this article we would like to share the information about our in-house practical training we have conducted with regard to one of the most important planning topics – Product Backlog formation and estimation. We hope that you will find this experience useful and may utilize some of the points in your Company.
The second training in our “Agile methodology of software development and Scrum framework” series was dedicated to the formation of Project Backlog and estimation of user stories.
The following steps were considered by participants during the course of the training:
- Getting customer requirements for the target product development.
- Filling in the Product Backlog based on the requirements split into short user stories.
- Estimating user stories in story points.
Conducting the training
The participants were grouped in two teams. There is a Product Owner and a Scrum Master in each team. Every team acted as a customer for its counterpart; i.e. members of each team set out requirements for the product they want manufactured. A multipurpose chair was chosen as the product to be developed.
Getting customer requirements
The first phase of the training represented a collection process for customer requirements by each team. A team, being a customer for the other team, formulated its product requirements in a free form. The Product Owner put customer requirements in a simple list. The teams then switched the roles so that the second team became collecting product requirements requested by the first one. By conclusion of phase one, each team had a list of 10–15 requirements. The first team requested a high-tech chair with multiple tweaks, and the second one requested a rocking chair compliant the detailed requirements.
Filling in Product Backlog
In phase two, the teams were to split customer requirements into minimal Product Backlog entities – user stories. The teams, under the direction of their respective Product Owners, discussed the customer requirements and split them into elementary units. The process was moderated by teams’ Scrum Masters.
Estimating backlog items
There are several approaches in use for the estimation of user stories: T-shirt sizes, Dog voting, Fibonacci numbers etc. Every approach implicates a dedicated method to get the estimation.
Two most popular visual instruction methods were offered the teams to estimate their backlog items:
- Poker Planning is one of the most popular estimation techniques. Project participants estimate user stories by voting with the help of numbered cards similar to playing ones.
- Ordering Method is a step-by-step game. The idea of the game is to position all tasks comparative to each other on a single scale and then estimate them by using the Fibonacci numbers written on the same cards as those from the planning poker.
Both methods are described in detail in multiple sources on the Internet.
The teams, sitting at their tables, estimated all user stories in their Product Backlogs in accord with the recommended method. The process was managed by the two Product Owners and moderated by the two Scrum Masters, respectively.
The backlogs were then ready for Sprint planning followed by Sprint launching, what became the subject of the next training 3.
Main patterns of training
- It is important to fully understand and write down all customer requirements with great attention to detail.
- Product Backlog filling is a duty of Product Owner, but the process turns to be more efficient when they work together with the other team members.
- To estimate Product Backlog items is everybody’s duty in the team.
- During the estimation process, all user stories are discussed by all team members until a complete understanding is developed.
- The correct estimation of items found in Product Backlogs clears the way to filling in subsequent Sprint Backlogs with greater accuracy.