Backlog in Scrum
The backlog is a list of everything from features, enhancements, bugs, and user requirements needed to build a complete product. Learn more in this article.
What is Backlog in Agile Scrum?
The backlog is a list of everything from features, enhancements, bugs, and user requirements needed to build a complete product.
In Agile software development and in most scrum tools you will come across two types of backlog:
- Product Backlog
- Sprint Backlog
Both the product backlog and the sprint backlog are two of the three scrum artifacts. The third artifact is called as the product increment, which is the result of what the development team build during the sprint.
In this article, we'll look at the differences between Product Backlog and Sprint Backlog in detail.
What is Product Backlog?
The product backlog is a list of everything a team needs to work on to build a complete product. A product backlog consists of all the features a customer requested, user stories, changes in functionality, and all the bugs reported by the customer.
Technically, a product backlog is never empty. It is always evolving as your team grows and as your product matures. That's why it's important to always keep it in check.
A product backlog is sorted by the highest priority at the top. That means, things that a team don't need to work on immediately isn't on the top of the product backlog. And adding a work item to a backlog doesn't necessarily guarantee that it will be worked upon and get shipped.
It is usually never complete and is always evolving as your team gathers new information about your user’s needs and your product’s market.
Adding a work item into your backlog should be fast, easy, and simple to do, so team members can add any bug reported or user requirement quickly and get back to work.
Similarly, it should be easy to remove an item that does not result in direct progress to achieving a desired outcome or enable progress toward the outcome.
Who Owns the Product Backlog in Agile?
The product owner owns the product backlog. The product owner is also responsible for prioritizing the product backlog.
With work items continuously getting added and removed from the backlog, prioritizing the backlog to ensure the development team works only on the most important task at any given point of time is essential to shipping software that is useful to customers.
Once prioritized, the development team then works on them either using an iterative approach by running Sprints or a continuous approach tracking on a Kanban board. Teams that run Sprints often keep track of progress using a burndown chart, while Kanban teams use a cumulative flow diagram.
What is a Sprint Backlog?
A sprint backlog is a list of work items that is derived from the product backlog. Only the highest priority items from the product backlog is added to the sprint backlog.
The sprint backlog is finalized by the development team with inputs from the product owner. It is decided based on the sprint goal, the sprint duration, and the story points that were added to each work item during the sprint planning ceremony.
But the entire scrum team (product owner, scrum master, and the development team) owns the sprint backlog. The product owner comes up with the sprint goal, the development team decides what goes into the sprint backlog, and the scrum master facilitates the entire sprint.
Here's an example of a Sprint Backlog with a burnup chart
The main purpose of the sprint backlog is to help the the team stay focussed on only the most important items that need to be worked on. That's why once the sprint begins, the sprint backlog is rarely updated with more work items.
Even in the cases when it is absolutely necessary, the only the items that satisfy the sprint's goal are added to an already active sprint backlog.
Product Backlog vs Sprint Backlog: Key differences
It's easy for teams to get confused between a product backlog and a sprint backlog, even though there are plenty of differences between the two.
Below is a tabular column showing seven key difference between a product backlog and a sprint backlog.
Keeping Your Backlog Organized
As your backlog grows big, it is important to keep it organized and groomed. This is called as Backlog Grooming. Product owners should review the backlog before the next sprint planning meeting and ensure that the priorities set are right, the prioritized items have all the right information, and the feedback from the previous Sprint has been incorporated.
When the backlog gets unmanageable, product owners get together to group all items in the backlog based on the company's near-term goals and long-term goals.
Once categorized based on near-term and long-term goals, the product owners should then ensure all items in the near-term goals are fully fleshed out, described, and estimated. That way, prioritizing work items grouped under short-term goals is easier.