If you have a plant in your garden, and if you do not take care of it through regular grooming, it grows in all directions and will become unmanageable over a period of time. So you spare sometime to cut the extra grown branches, remove the dead leaves, apply pesticides etc to support the plant’s well growth. Similarly, in Agile software development also we take care of the product in terms of removing the unwanted features, removal of defects, ensuring only valuable features are prioritized for implementation etc. There is a specific event in the Agile product development to conduct these activities. That event is called Product backlog refinement (a.k.a. product backlog grooming) and it is a key event in Agile product development.
The product backlog refinement helps to keep the upcoming backlog items discussed in detail and line them up for the future sprints. So this will improve the rhythm of the scrum team and by the time the scrum team reaches the next sprint planning meeting, the items will have clear information.
Definition of Ready (DOR) is a key artefact that has to be considered in the product backlog grooming. The DOR is a criterion that will ensure the stories groomed in the refinement meeting are “Ready for the next Sprint”. The product owner and the team will discuss what should be the feasible DOR and agree on the items. Below are some important aspects that can be part of the DOR:
- The story should have complete clarity from the “what” aspect
- The story should be feasible in one sprint (that means small in size)
- The story should be testable (that means acceptance criteria defined)
- Any assumptions, constraints, dependencies are identified and addressed
- The story should meet INVEST principle
What happens in the product backlog grooming meeting?
- Discuss the stories to get clarity (only what part but not how part)
- Split stories if they are large
- Merge stories if they are too small
- Discuss acceptance criteria
- Discuss the assumptions, constraints
- Identify dependencies
- Estimate the stories using story points
When you are working as a single Scrum team on one product backlog, it will be pretty much clear and you may not see major issues for the product backlog grooming. However, when you have more than one team working on same product backlog, there will be some common issues observed. If we do not tackle these issues effectively it will become another general meeting without any valuable output.
What are the issues in joint product backlog grooming?
- Timely starting of the meeting is very rare
- It takes longer than planned duration
- Very few stories are groomed and they may not be enough for next sprint
- Which team needs to groom the backlog item?
- Should everyone from every team attend the backlog grooming? If so is it not time waste?
- Who will estimate the size of the backlog item?
- Who will split the stories into technical tasks?
- Teams tend to pick up easy stories and leave the hard stories behind
- More than one team wants to work on same story (when it is technically challenging/interesting)
- Sometimes no team wants to work on a particular story (may be its not really challenging)
So how do we tackle the above issues?
It will be good to have a “common working agreement” in place to resolve the above issues. It is very common for the Scrum Teams having a “working agreement” at their team level when it is a single scrum team working against a single product backlog. When there are more Scrum teams working against same product backlog, it will be useful to have a “common working agreement” across all the teams in addition to the team level working agreement.
What will be part of the “common working agreement”?
- Define a commonly feasible time for the meeting and get buy-in from all teams
- Define the approach for the teams to choose the stories in the product backlog grooming meeting. Some approaches you can try as below:
- Round robin
- Anti-clock wise
- If for some reason one team cannot pick a story then the next team has to pickup
- Define a common baseline story and size it (better to have 2 baseline stories like 2 & 5 or 3 & 8 story points)
Some useful tips to make the joint product backlog grooming effective:
- Before the meeting, ensure the scrum masters from the respective teams should check with PO and have the backlog prioritized with stories for the further discussion the meeting
- The Scrum masters should ensure the team members are aware of this meeting and they plan to come on time
- Definition of Ready is prepared
- Initially let all team members along with their Scrum Masters attend the meeting and based on the need you can plan to have representatives from each team on rotation basis. In this case the representatives will go back and update their respective teams
- Keep a specific timebox slot for each story grooming. If it is taking longer than that duration someone should act as time keeper and move to next story
- All teams should respect the common working agreement
- Scrum Masters should observe the behavioral smells from this meeting and coach their respective teams on the areas that need improvement.
- Periodically review the DOR and common working agreements to update the suggestions or changes needed to make them effective
- Try to apply lean principles like eliminate waste, differ commitment wherever applicable
- Encourage open and transparent interactions across the teams in the meeting