The product backlog is an organized and structured list of work items that reflect your customer needs in relation to a particular product. The product backlog is used to categorize customer requests and ensure the development team is working on the most important features for your business.
Before work begins on a new software release, the product manager needs to organize and categorize the items in the product backlog. For new products this may involve spending time with business stakeholders and documenting their requirements into work items. In the case of an existing product this may involve reviewing the list of known customer requests, bugs (defects) and new features.
Adding features to the product backlog
The product backlog can be made of different types of work items. The following list shows the typical work item types in a product backlog:
- Outstanding technical work (technical debt)
- New features
Bugs are known defects that are found during the development, testing and production use of the system.
Technical debt relates to any technical work that needs to be carried out. It can be code refactoring, work to address performance and scalability issues,upgrading 3rd party components, etc... Technical debt is often not visible to the end user unless it impacts the daily system usage such as performance issues. Outstanding technical work needs to be prioritized and scheduled so there is visibility of it in the work plan and all stakeholders are aware of what the development team is working on.
It can be hard to prioritize purely technical work because, often, users don't see the value in spending time in these kind of tasks, however it is important to prioritize and address any technical debt before they become a real hindrance to the system and/or the development process.
New features are functional items that are not currently available or potential improvements to current functionality. Depending on the size and complexity of the system, I tend to separate new feature requests from improvement requests.
A good product backlog will contain a number of work items of various different types including bugs, new requests, improvement requests and technical debt.
Once you have your product log, the next step is to categorize and prioritize the each work item.