Pattern of the Month: Backlog
Pattern of the Month: Backlog
Agile and lean delivery of value depends upon having assured quality and a managed system of flow. That's where the backlog comes in.
Join the DZone community and get the full member experience.Join For Free
The agile and lean delivery of value depends upon having assured quality and a managed system of flow. By enumerating work in the form of an ordered list, focus can be brought to an endeavor so that quality can be better assured and throughput potentially increased. Many such lists may be enumerated to give transparency over the flow of value between stations - perhaps from analysis to design and then from implementation to test - as teams take on work and incrementally supply finished deliverables. By means of this visualization, the amount of work which is batched within a system of production can be optimized and controlled. Potential sources of waste, including bottlenecks and the depreciation of in-process work, may be exposed and challenged.
The work which a team will take on is planned into one such ordered list, and for the purposes of transparency it ought to be a definitive source. This queue is known as the team's backlog, and it represents a forecast of the scope required to satisfy the product or service the team is engaged in supporting. That forecast might never be complete, work being added to the backlog as new scope emerges. This allows the lessons learned from ongoing incremental release to be considered, and a feedback loop established. The team's backlog will typically be ordered so that the work thought to be most valuable is taken on first. The ordering of work tends to become more critical the closer it gets to being actioned.
In Scrum, there is a Product Backlog, owned and ordered by the Product Owner role, and from which a Development Team forecasts a subset of work which will satisfy an agreed goal for that iteration. This subset of work is known as the Sprint Backlog and it represents the Development Team's plan for delivering value during that "Sprint." The size of the work may be estimated by the team so that any commitment made to the Sprint Goal will be realistic. The Development Team can order their Sprint Backlog as they see fit, so as to accommodate certain technical dependencies or perhaps to control development risk during the iteration. Each "Daily Scrum" provides an opportunity to inspect and adapt the Sprint Backlog so that the goal may be better met.
Backlogs are therefore not merely sets because the ordering of work is important. They can be seen as queues which can potentially be re-ordered. The principle of first-in-first-out will hold unless such re-ordering happens. The grooming (refinement) of work within a backlog may therefore occur, and revised forecasts ought to be expected if lessons are to be learned and new discoveries brought to bear in a timely fashion.
Backlog is Pattern of the Month at agilepatterns.org
Intent: Enumerate all work to be done in the form of an ordered list.
When everything is a priority, nothing is a priority.
First come, first served.
Also Known As:
Prioritized Requirements List
Motivation: Requirements can originate from multiple sources and stakeholders. As such, priorities are often unclear and the scope of changes may overlap, thus making estimation difficult. A single repository of ordered requirements is needed.
Structure: A backlog will consist of multiple backlog items, all of which will be placed in order. Each item will be sufficiently clear and unambiguous to be given a size. Items can be added or removed from the backlog, or re-ordered within it, a process known as backlog grooming. Grooming also allows backlog items to be modified if necessary.
Applicability: Backlogs and the associated principles of queue management are applicable to all agile methods.
Consequences: A sized and ordered backlog allows estimates to be made regarding the likely time of item completion, assuming that the velocity of delivery is known. A less reactive management style is cultivated and “firefighting” is reduced. Backlogs require good management and clear ownership. Establishing this discipline can be a problem for many organizations.
Implementation: Scrum teams have two backlogs: a Product Backlog, which contains all product requirements as they are understood at the current time, and a Sprint Backlog which contains the work items needed to complete a selected portion of those requirements. DSDM has a Prioritized Requirements List which is analogous to a Product Backlog. Kanban teams generally only operate using one backlog, although the constituent items may require different qualities of service.
Backlog, Agile Alliance
Purging the Kanban Backlog, by David J Anderson
Product Backlogs in Practice, The Agile Zone
Sprint Backlogs in Practice, The Agile Zone
Published at DZone with permission of Ian Mitchell , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.