Search This Blog

Thursday, August 11, 2022

Product Backlog is not a Queue

Following up with a few PMP certification candidates during their preparation, I heard people say "We put any idea into a queue in the backlog." In general, lean management thinking discards the concepts of large queues or batch sizes as these large queues increase the risk of non-delivery and non-compliance. I am sure we have all write a large list of things to accomplish in a day or week only to find that we accomplished only a percentage of them. Fundamentally, queue and backlog serve different purposes and to say that we queue up ideas in a backlog means we may set ourselves to fail without clear understanding of these terms. 

Both the backlog and queue are containers for work. But the type of work in them are different. The fundamental difference is that the backlog continuously grows requiring prioritization but the queue fixed and work in progress. Consequently, the backlog contains future oriented ideas to develop the product. It could be change requests, experiments, enhancements for currently working functionality, and non-functional features. But the items in the queue are work in progress items frequently mentioned in the iteration backlog or the release backlog depending upon how agile is practiced in an organization (single cadence due to the nature of the product, for example).

Items in the backlog therefore require research and evaluation by both stakeholders and team members to assess their market fitness of these capabilities on a number of different attributes such as alignment to strategic initiatives (objectives and goals) as well as the ability to deliver (infrastructural considerations and team's ability to deliver and sustain). So, backlog items are often evaluated for desirability, viability, and feasibility.  The prioritization techniques could involve Kano Model, MoSCoW model, etc.

Items in the queue are supposed to avoid buildup. This is the reason why Lean Manufacturing introduced the Work-In-Process (sometimes called Work in Progress) or WIP to limit them. The idea is that the flow is maintained. Everybody should be able to remove the WIP and pick up the next prioritized item, thus requiring the cross-functional orientation (Here is where T, Pi, V- and E-shaped skills came into existence). I am sure people can relate to the notions of FIFO or LIFO queues with the goal that we are constantly cleaning the queue. These are items committed to be done by the team and hence prioritization may be already addressed. But, their ability to block themselves can not be ruled out so that people ensure that other techniques like RICE (Reach-Impact-Confidence, Effort) or WSTF (Weighted Short Job First) are used. 

Last but not the least, the product backlog, release backlog, and iteration (or sprint) backlog are the same containers. 

  1. When no release/iteration is assigned to an item in the backlog, the backlog is called the product backlog. This could contain a high-level use case good for research, experimentation, exploration, or spike, or a major epic that is a breakdown of the capability which is still too big for the team to do anything about it. It could also contain other features or user stories that the team decided to park it for later consideration. 
  2. When a group of iterations are packed due to the need to integrate the increments from each release and release as part of a single cadence, then, the items assigned to a release belong to the release backlog. Frequently, features and user stories are part of this release backlog.
  3. When backlog items are in fact assigned directly to an iteration rather than a release, these items belong to an iteration (or sprint) backlog. Items in the iteration backlog could be part of the single cadence, multiple cadence, or release on demand. Iteration backlog contains both the user stories (Iteration Planning - Part 1) and tasks (Iteration Planning Part 2). 
  4. Queues apply in the iteration backlog as that is where work happens to create the increments.

The diagram below illustrates.  

Dr. Sriram Rajagopalan's synthesis of Backlog and Queues

So, let us make sure that we understand the terms right so that we don't propagate confusion and compromise clarity. 

What are your thoughts? Have I missed, misinterpreted, or miscommunicated any concepts. I am all ears!