Monday, April 23, 2012

Scrum Product Backlog

Scrum has proved to be one of the most successful software methodology. In my current team we have been using Scrum for almost two years now. Most teams perform various Scrum events such as Sprint planning, Stand-up, Sprint Review etc. They also have a well planned Sprint Backlog but they lack a good Product Backlog. As mentioned in the Scrum Guide, Product Backlog is a very important artifact. However many teams lack it mainly because they may not know about what is a good backlog. Here is my attempt to describe its importance and value. Many have already talked about it here and here.

As mentioned in the scrum guide, 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 "

Product Backlog contains all features, functions, defects, enhancements that are required to be done in a product. For a software product, it means all the functional as well as non-functional requirements. This means that it needs to be updated regularly and should evolve over a period of time. Being a single source of all requirements, it becomes the single most important artifact of a Product.

What makes a good product backlog? One which has the following characteristics.
  • Detailed : Higher priority items are described in more details while lower priority items have less details until you can barely make out a product backlog item. The higher priority items will be worked upon in the upcoming sprints. As shown below, it follows the iceberg model.

  • Estimated: This means that stories are appropriately sized in terms of story points which is an estimate of relative complexity. This is best achieved through planning poker and is performed in backlog grooming session. Team should spend at most 10% of Sprint time on backlog grooming.
  • Emergent: Backlog is like a living entity. It grows and evolves. New items are added to the backlog and old items can be removed as more information becomes available.
  • Prioritized/Ordered: Stories or defects are prioritized by the Product Owner based on the business value and customer requirements. 
A good product backlog means following:
  • Good product backlog helps with effective Release Planning. Stories can be added to upcoming sprints which will constitute a release.
  • Good product backlog helps with Requirements Clarity. In my personal experience I have noticed that development team often complain about lack of clear requirements. As the team grooms backlog regularly, more details are added to the stories.
  • All these leads to Reducing Risk when delivering the product.
So if you are following Scrum but haven't paid attention to the Product Backlog, I strongly recommend making it one of your highest priorities.

No comments:

Post a Comment