Scrum is a lightweight framework to create value through adaptive solutions for complex problems. For any complex problem, unknown is more than known. Hence it is not possible to predict everything upfront and plan ahead. So there must be a way to maintain predictability through just enough planning. In Scrum, the Product Backlog Refinement is an ongoing activity that helps the Scrum Team(s) to refine the upcoming Product Backlog Items and keep them ready for the next one or two Sprints. This article aims at some common anti-patterns of product backlog refinement activity.
A quick recap of Product Backlog Refinement activity:
- Scrum team participates in the Product Backlog Refinement (PBR) activity
- Product owner joins the PBR with a prioritized Product Backlog based on the items ordered according to the business value
- Product owner explains the items as per their order to the Developers
- They try to decompose the large items into more smaller and granular
- Developers may ask queries, clarifications, assumptions to the Product owner to get more clarity on the items
- Developers may also discuss high level design, architecture, dependencies of the upcoming items
- Once the Developers have enough clarity on the upcoming items, they provide estimate to the upcoming Product Backlog Items
- Product Owner may check if there is any ordering changes needed based on Business Value and the estimates
Common Product Backlog Refinement Anti-Patterns
Though it looks simple and straightforward, the activity of product backlog refinement often suffers from various anti-patterns and below are a few of them.
Rare refinement: When Scrum Teams do not give importance to the Product Backlog Refinement, they cannot have visibility on what are the items that are upcoming for the next Sprint(s). So it may sometimes lead to either not having sufficient work to the Developers or not having enough information on the upcoming product backlog items. Both these situations lead to improper utilization of the Developers time and effort.
Too much refinement: If Scrum Teams conduct too many (or too frequently) Product Backlog Refinement sessions, it will impact the Developers’ focus on the current Sprint items. It may also lead to too much futuristic work so it may lead to a waste of time and effort.
Unprepared refinements: Sometimes the Product owner walks into the Product Backlog Refinement without preparation on the upcoming backlog items. When Developers ask queries on those items a typical answer from the Product owner is “good question, I will check and get back”.
Less involvement from Developers: Some Scrum Teams feel that not all the Developers are needed for the Product Backlog Refinement, a couple of senior Developers can participate while remaining Developers will work on the current Sprint items. This will create dependencies, knowledge gaps, and lack of commitment within the Developers.
Seniors estimate the Product Backlog items: In some cases, only the senior developers estimate the Product Backlog items during the Product Backlog Refinement. This will lead to lack of commitment within the Developers.
Surface level understanding: When Developers do not understand the requirements in depth, their estimates may go for toss. When estimates are given based on surface level understanding and when they actually pull those items into a Sprint, they will go for back and forth clarifications and renegotiate the estimates. This will create inconsistency and unpredictability.
How to address these anti-patterns?
- Make sure to reserve some capacity in current Sprint to conduct the Product Backlog Refinement
- It will be good if the Scrum Team decides during the Sprint planning itself on when they will have the Product Backlog Refinement
- At least 2 Refinement sessions during the Sprint is good, one session to go through the items and estimate them. During the first session if the Developers have any
- unanswered queries, the Product Owner can go back to stakeholders and get the answers. In the second session the Developers can go through the clarifications and just estimate the items
- Product owner should do some homework before coming to the Product Backlog refinement. If required, have a conversation with the stakeholders to discuss the upcoming backlog items
- Make sure all the Developers participate in the Product Backlog refinement as much as possible. This improves their morale and teamwork
- Scrum Team can define a criteria about the “readiness” of the backlog items
- Let the Developers ask queries on the upcoming items to get sufficient understanding on the items before they provide estimates
- Scrum Master should ensure:
- Developers are giving consensus based estimates
- Everyone involves actively
- Product owner does not force the Developers to compromise on estimates
- Timebox the discussion on the items and move to the next item if the item is unclear
- Encourage the Developers to identify need for Spikes
- If the velocity is “X” story points, make sure you always have 2X of the items in Product Backlog discussed, clarified, understood and estimated.
Recent Posts
- How to make Daily Scrum more effective? 16/02/2024
- Effective Impediments management in Scrum 09/02/2024
- CSM Vs PSM certifications 01/02/2024
- Effective Management of Dependencies in a Multi team Scrum 01/02/2024
- Challenges for the Product Owner with multiple Scrum Teams 23/01/2024