What is a Backlog?

Hierarchical Testing – What are you Testing? and Why?
September 6, 2017
Is your Software Complex?
October 31, 2017

What is a Backlog?

Seems like it should be pretty obvious. But is it really? Before we dive in lets look as an (apparently) unrelated situation… Go into your favorite system (of any type, that is used for any purpose) and pull up a report. Now physically print it out, and go pick it up. What is it that you holding?

Fundamentally, you are holding a piece of paper with some type of ink (or toner) on it in various patterns. That is all that it *IS*.  Only when one adds multiple layers of context [which do not change what the item *IS*] does additional meaning exist. One needs to understand that patterns of ink represent letters, these letters (and gaps in ink patterns) represent words. At this point there will likely be many people who know what all (or at least the vast majority) of the words mean, but there is still additional context and knowledge required.  After the application of enough additional layers, one sees that this is a representation of some of the information in the originating system; it does not represent all of the information in the system, nor is it likely to be the only way in which the selected information could be presented. Compete understanding only comes when one comprehends the ecosystem/environment in which the originating system is being used.

If one does not know the environment, or the system, or the language, or the character set; one can not have any real hope of making use of the report.

From this perspective, a backlog is nothing more (or less) than an ordered list of items. The items are “deliverables” of some type, and the ordering is such that those at the top of the list are more important (meaning should be delivered sooner) than those lower on the list. Just like the situation described above, there are many additional layers of context and knowledge required to create, maintain, utilize, or even understand the backlog – but those are not inherent in what the backlog *IS*.

There are varied ways of dealing with the additional contextual information. Scrum is a framework that largely deals with backlog management. Many Agile Practices use a backlog as a primary tool [though the Agile Manifesto makes no explicit mention of such a list in any of the 12 principles or 4 value comparisons]. Even Gantt chart driven efforts can be used to produce a Backlog.

In order for the Backlog to be valuable (i.e. effective in achieving goals) the backing information for the items must be of appropriate quality, and the means used for ordering of the list must be such that time-weighted value realization is maximized to the degree practical. This is where many organizations run into trouble. Poor quality in the items or ordering can be devastating, but people are lulled into a false sense of security because they “have a backlog” and are “delivering according to the backlog”.

In summary, understanding that a backlog itself is a quite simple artifact avoids many problems. However this mandates that the complexity of the systems needed to produce a valuable backlog are also understood and is where the real effort needs to be focused if one wants to achieve success.


Leave a Reply

Your email address will not be published. Required fields are marked *