28 Product Backlog and Refinement Anti-Patterns
Is your Agile team struggling? Check out this list of the most common anti-patterns across Agile teams, and see what you should, and shouldn't, be doing.
Join the DZone community and get the full member experience.Join For Free
Scrum is a practical framework to build products, provided you identified in advance what to build. But even after a successful product discovery phase, you may struggle to make the right thing in the right way if your product backlog is not up to the job. Garbage in, garbage out – as the saying goes.
The following article points at 28 of the most common product backlog anti-patterns – including the product backlog refinement process – that limit your Scrum team’s success.
The Product Backlog Refinement According to the Scrum Guide
First of all, let’s have a look at the current issue of the Scrum Guide on the product backlog refinement:
“Product Backlog refinement is the act of adding detail, estimates, and order to items in the Product Backlog. This is an ongoing process in which the Product Owner and the Development Team collaborate on the details of Product Backlog items. During Product Backlog refinement, items are reviewed and revised. The Scrum Team decides how and when refinement is done. Refinement usually consumes no more than 10% of the capacity of the Development Team. However, Product Backlog items can be updated at any time by the Product Owner or at the Product Owner’s discretion.
Higher ordered Product Backlog items are usually clearer and more detailed than lower ordered ones. More precise estimates are made based on the greater clarity and increased detail; the lower the order, the less detail. Product Backlog items that will occupy the Development Team for the upcoming Sprint are refined so that any one item can reasonably be “Done” within the Sprint time-box. Product Backlog items that can be “Done” by the Development Team within one Sprint are deemed “Ready” for selection in a Sprint Planning. Product Backlog items usually acquire this degree of transparency through the above-described refining activities.
The Development Team is responsible for all estimates. The Product Owner may influence the Development Team by helping it understand and select trade-offs, but the people who will perform the work make the final estimate.”
A Typical Product Backlog Refinement Process
Based on the Scrum Guide, a typical process looks as follows:
- The product owner prioritizes the backlog in advance, so it reflects the best possible use of the development team’s resources:
- The product owner creates and pre-populates the two upcoming Sprints with user stories, using the team’s project management software (or a spreadsheet or any other organizational tool the team applies).
- The product owner maintains this pattern continuously.
- The product owner also adds new user stories that he or she may have identified since the previous refinement session.
- The product owner provides the answer to the ‘why’ question (business purpose).
- The team answers the ‘how’ question (technical implementation).
- And both collaborate on the ‘what’ question: what scope is necessary to achieve the desired purpose?
Common Product Backlog (Refinement) Anti-Patterns
Despite being relatively straightforward, the process of creating and refining a product backlog often suffers from various anti-patterns. I have identified five different categories: General Product Backlog Anti-Patterns; Product Backlog Anti-Patterns at Portfolio and Product Roadmap Level; Product Backlog Anti-Patterns of the Product Owner; Product Backlog Anti-Patterns of the Development Team; and Product Backlog Anti-Patterns of the Scrum Team.
General Product Backlog Anti-Patterns
- The scrum team creates a product backlog covering the complete project or product upfront because the scope of the release is limited. (Question: how can you be sure to know today what to deliver in six months from now?)
- The product backlog contains more items than the Scrum team can deliver within three to four Sprints (this way the product owner creates waste by hoarding issues that might never materialize).
- The product backlog contains items that haven’t been touched for six to eight weeks or more. That is typically the length of two to four Sprints. If the product owner is hoarding backlog items, the risk of older items becoming outdated emerges, thus rendering the Scrum team's previous work obsolete.
- All user stories in the product backlog are detailed and estimated. That is too much upfront work and bears the risk of misallocating the Scrum team’s time.
- The product backlog items are sliced horizontally based on components instead of vertically based on end-to-end features. This may be caused by your organizational structure. Then move to cross-functional teams to improve the team’s ability to deliver. Otherwise, the team – and the product owner – need a workshop on writing user stories.
- There are user stories in the product backlog without acceptance criteria. It is not necessary to have acceptance criteria at the beginning of the refinement cycle although they would make the task much easier. In the end, however, all user stories need to meet the definition of ready standard, and acceptance criteria are a part of that definition.
- The product backlog contains user stories that are comprised of little more than a title (see above).
- There are user stories with an extensive list of acceptance criteria. This is the other extreme: the product owner covers each edge case without negotiating with the team. Typically, three to five acceptance criteria are more than sufficient.
- The product backlog is not structured by themes or epics. This makes it hard to align individual items with the “big picture” of the organization. The product backlog is not supposed to be an assortment of isolated tasks or a large to-do list.
- The product backlog contains few to no spikes. This often correlates with a team that is spending too much time on discussing prospective problems, instead of researching them with a spike as a part of an iterative user story creation process.
Product Backlog Anti-Patterns at the Portfolio and Product Roadmap Level
- The product backlog is not reflecting the roadmap. The product backlog is supposed to be detailed only for the first two or three Sprints. Beyond that point, the product backlog should, rather, focus on themes and epics from the product roadmap. If those are not available, the product backlog is likely too granular.
- The organization’s portfolio plan, as well as the release plan or product roadmap, are created once a year in advance. If the product backlog stays aligned to these plans, it introduces waterfall planning through the backdoor. Agile planning is always “continuous.” At the portfolio level, the plan needs to be revised at least every three months.
- The portfolio planning and the release plan or product roadmap are not visible to everybody. If you do not know where you are going any road will get you there. This information is crucial for any Scrum team and needs to be available to everybody at any time.
- The portfolio planning and the release plan or the product roadmap are not considered achievable and believable. If this is reflected in the product backlog, working on user stories will probably be a waste.
Product Backlog Anti-Patterns of the Product Owner
- The product owner is using the product backlog as a repository for ideas and requirements. This practice clogs the product backlog and may lead to a cognitive overload and make alignment with the ‘big picture’ at the Portfolio Management and Roadmap Planning level very tough.
- The product owner is not working daily on the product backlog. The product backlog needs to represent at any given time the best use of the development team’s resources. Updating it once a week before the next refinement session does not suffice to meet this requirement.
- The product owner creates user stories by breaking down requirement documents received from stakeholders into smaller chunks. That scenario helped to coin the nickname “ticket monkey” for the product owner. Remember: user story creation is a team exercise.
- The product owner creates user stories by providing not just the ‘why’ but also the ‘how,’ and the ‘what.’ The team answers the ‘how’ question – the technical implementation – and both the team and the PO collaborate on the ‘what’ question: what scope is necessary to achieve the desired purpose?
- The product owner is not applying the INVEST principle by Bill Wake to user stories.
- The product owner invests too much time upfront in user stories making them too detailed. If a user story looks complete, the team members might not see the necessity in getting involved in further refinement. This way a “fat” user story reduces the engagement level of the team, compromising the creation of a shared understanding. (By the way, this didn’t happen back in the days when we used index cards, given their physical limitations.)
- The product owner is not involving the entire Scrum team in the refinement process and instead is relying on just the “lead engineer” or any other member of the team independently of the others.
- The product owner does not involve stakeholders or subject matter experts in the refinement process. A product owner who believes themselves to be either omniscient or a communication gateway is a risk to the Scrum team’s success.
Product Backlog Anti-Patterns of the Development Team
- The development team submissively follows the demands of the product owner. Challenging the product owner whether his or her selection of issues is the best use of the development team’s time is the noblest obligation of every team member.
- The development team is not demanding adequate resources to tackle technical debt and bugs. The rule of thumb is that 25% of resources are allocated every Sprint to fixings bugs and refactoring the code base.
- The development team is not demanding 20% slack time from the product owner. This is overlapping with Sprint planning and the team’s commitment. However, it cannot be addressed early enough. If a team’s capacity is always utilized at 100 %, its performance will decrease over time. Everyone will focus on getting his or her tasks done. There will be less time to support teammates or to pair. Small issues will no longer be addressed immediately. And ultimately, the ‘I am busy’ attitude will reduce the generation of a shared understanding among all team members (why they do what they are doing).
Product Backlog Anti-Patterns of the Scrum Team
- The team does not have enough refinement sessions, resulting in a low-quality backlog. The Scrum Guide advises spending up to 10% of the Scrum team’s time on product backlog refinement. Which is a sound business decision: nothing is more expensive than a feature that is not delivering any value.
- The team has too many refinement sessions, resulting in a backlog that is too detailed. (Too much refinement isn’t healthy either.)
- The scrum team has not created a ‘definition of ready’ that product backlog items need to match before becoming selectable for a Sprint. A simple checklist like the ‘definition of ready’ can significantly improve the Scrum team’s work. It will increase the quality of both the resulting user stories as well as the general way of working as a team.
Even in the case where you have successfully identified what to build next, your product backlog, as well as its refinement process, will likely provide room for improvement. Just take it to the team and address the issue.
What product backlog and refinement anti-patterns are missing? Please share with us in the comments.
Published at DZone with permission of Stefan Wolpers, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.