A product owner, during software development, prepares a detailed list of requirements, tasks, and releases that need to be accomplished in order of priority towards the development of the software (product). This list also clearly outlines everyone who is involved in the process and the roles they play. This list is known as a product backlog and is derived from a product roadmap.
A roadmap is the product’s long term strategic plan that shows clearly the process of its becoming through several iterative releases. The roadmap outlines the cost-benefits of each of the product’s releases which is important particularly in a situation where a product is built and deployed in small cycles. The roadmap unites all stakeholders in a collaborative working environment and helps maintain continuity and focus throughout the process.
An effective product backlog, while accommodating changes that come along, should be well managed and prioritized to keep all processes and stakeholders focused on the final product. Proper management entails the participation of the product owner, ScrumMaster, and the scrum team. A ScrumMaster should be well equipped with an Agile scrum master certification and experience to be able to steer the scrum team effectively.
What is the importance of a product backlog?
A product backlog is simply a plan of action created by the product owner which is used for building a product. It brings stakeholders together and helps organize (and filter) the ideas that go into the making of a properly functioning IT product. A well-organized backlog helps set realistic expectations on the part of stakeholders and the development team members, particularly where there is a change of requirements. Further, a product backlog:
- Prioritizes the most important items/features to enable good use of resources
- Is flexible to accommodate changing priorities from the end-user
- Allows for iterative development of a product in an agile environment which facilitates the continuous systematic improvement of a product
Components of the product backlog
- Features in the form of user stories and use cases
- Functions
- Enhancements
- Requirement and design changes
- Infrastructure changes
- Fixes
Important tips to consider when organizing a product backlog
- A good roadmap and clear requirements lay a strong ground for the project. It is the roadmap that is broken down into epics, and epics into requirements and user stories for the backlog. The product owner should therefore get the input of the end-user, development team, and designers to create an optimized backlog.
- Items in the backlog should be organized in order of their priority and scheduled. Timelines help to lay out reasonable guidelines and budgets for accomplishing each release.
- Not all items deserve to be included in the product backlog. It is important to separate the important items from those that are clutter. Important items add value to the product while clutter items distract the development team’s focus and are usually outside the project scope.
- Requirements keep changing thus it is vital to groom the backlog and reprioritize the items therein before every sprint. Also, tasks that have been accomplished and deployed should be marked complete to help assess the progress of the project. The remaining backlog items should be organized into the long and short term.
- While it is important for the backlog to be as detailed as possible, the overly finer details should be left for the development team to break down and work on when creating sprints.
The product backlog to-do list
Here is a simple guideline for creating a product backlog.
- The roadmap
The roadmap, as we have already seen, gives all the stakeholders a clear context, direction, and vision about the product to be developed. The roadmap shows the team how the product will evolve through iterative releases until the entire product is completed and handed over. It includes the product features and functions, short and long-term goals, as well as the timelines within which they should be achieved. For product managers, a roadmap is a tool that helps them break down large projects and prioritize features.
- The milestones
The features of a product outlined in the roadmap are broken down into shorter-term milestones with fewer easily achievable tasks. Although a project can proceed without milestones, milestones help keep track of the project’s progress, especially in large projects.
- The backlog items
In scrum, the features of a product are known as backlog items. These features have different names in other methodologies for instance in XP they are known as stories and in DSDM they are referred to as requirements.
A feature can be defined as a functional part of a product that meets stakeholder needs and delivers tangible business value. Features of a product are drawn from user stories and use cases.
Backlog items are usually prioritized by value i.e high, medium, and low priority with high-priority items delivering the greatest value to the product. These will typically appear top in the list. Defects requiring repair and technical enhancements are also part of the product backlog items.
Characteristics of backlog items
- They should deliver business value
- They should be estimable
- They should fit within an iteration. Otherwise, it will need further breaking down.
- Should be testable.
- Product backlog grooming
Once the product backlog has been created, it is not final. It requires grooming (refining) from time to time throughout the product development process to ensure that the items are always organized in order of priority and estimation done appropriately. Grooming requires input from the product owner (he’s the one in charge), the ScrumMaster, the development team, designers, and other stakeholders. Grooming often happens before sprint planning and after sprint review.
It is also important to define what it means when a feature is ‘READY’ and when it is ‘DONE’, this way the development team will be clear about the deliverables and the product owner clear on what to expect. This should be the last step before a sprint backlog is created.
Ideally, ready means that features are clearly defined, estimated, and are ready for development. Done, on the other hand, means that features have been built and are ready for deployment.
- Sprint planning
During sprint planning, priority backlog items are transferred from the product backlog to the sprint backlog. Here, features can be broken down further into technical requirements, and their scopes estimated to make it easy to organize them into sprints. It is within sprints that features are actually built. During sprint planning, items from the backlog are selected in order of priority and estimation so that the team only works on tasks they can handle within a sprint.
- Enhancements
Enhancements are part of product development. Features are enhanced to improve their functionality thus an enhancement is an improvement suggestion for an existing feature that will optimize a product’s value to its users.
- Fixes
No process lacks issues. The product development process is also not rid of bugs that may lower the product’s value if not fixed. Bugs will usually be discovered during product testing or actual use. Bugs are returned to the product backlog as items and prioritized for fixing the soonest possible.