According to the Scrum Guide, the Product Backlog is “an ordered list of everything that might be needed in the product and is the single source of requirements for any changes to be made to the product.”
Each entry in the list is called a Product Backlog Item (“PBI”). Since User Stories are such a common practice, Backlog Items are often just called “Stories” even though User Stories are not part of Scrum and backlog items are not necessarily in User Story format. (I use story and backlog item interchangeably).
A list is just a list, so there is nothing binding about the Product Backlog. It is a list of ideas – things that you think belong in the product, but this list is subject to change at any time.
Each backlog item has the following attributes:
- Description – a statement of the goal or purpose of the story.
- Sequence number – its place in the queue – determined by the Product Owner
- Value - a statement of the business value of the story – determined by the Product Owner
- Estimate – the development team's guess about how much work is necessary to get the story to “Done”.
Often, the acronym INVEST helps to remind us what makes a good backlog:
- Independent – the product owner can prioritize in any order
- Negotiable – the story does not define how the story should be implemented
- Valuable – the story has business value (e.g. to a user, customer or stakeholder) – no artifacts purely for the benefit of the development team are allowed.
- Estimable, Small and Testable – each of these serve to ensure that the backlog item is small enough and concrete enough to be implemented reasonably effectively.
We can think of a Backlog Item as a reminder to hold a conversation. That conversation is between those who understand the goal (often the product Owner, a stakeholder, a subject manager expert or even an actual user) and the development team, i.e. those who will implement the story.
This conversation should be held shortly before the backlog item will be implemented so that it is easy to verify that the story was implemented correctly. Everyone still remembers the decisions that were taken and no one has had time to change their minds!
The result is the “confirmation” – a statement of how to confirm or verify that the implementation of the story met the goals set for it.
The process is often referred to as the “three C's”: Card, Conversation and Confirmation. The idea is that you write the story of the front of the card and the confirmation on the back of the card after the conversation. In a software environment, that confirmation will become more formal acceptance tests and ideally, automated acceptance tests, if the team is good!
The conversation serves to get the story ready for implementation. The Team and the Product Owner may agree to rename to the story to make the description more understandable. They may take large, complex stories and “refine them” into smaller stories with simpler acceptance criteria. The sum of the parts equals the whole, but is easier to implement, validate and accept. Important: A small story is not a task, it still meets the criteria for a Product Backlog Item: When implemented, it has business value.
Ideally, your stories should be small enough that the team will forecast at least 6 and preferably 10 stories or more, regardless of sprint length.
This process of making the stories smaller and getting them ready for implementation is called backlog refinement. This video explains the process:
For an explanation of estimating with story points, check out Explaining Story Points to Management