Agile Practices for Waterfall Teams Part 1: Maintaining a Backlog
On a waterfall project, the bulk of the value is delivered at the end of the project. On an agile project, value is delivered incrementally through iterative cycles with the highest-value items prioritized, increasing customer satisfaction. Backlogs serve as the mechanism for clarifying priority on projects carried out by agile teams, allowing them to put the customer’s highest priorities first. How can waterfall teams achieve a similar effect?
What is a Backlog and how do agile teams use one?
One of the key differences between waterfall and agile is that agile is iterative and time-boxed. On a waterfall project, the bulk of the value is delivered after requirements are defined, development takes place, deliverables are tested, and the project is handed off to the customer. Agile projects structure those tasks into an iterative cycle. The highest-value pieces are defined, developed, tested, and presented as a working unit for the customer to review and approve, and retrospectives provide the framework for continuously improving the process so that it works better for teams and customers.
Backlogs serve as the mechanism for clarifying priority on an agile project. At the highest level, the product backlog is an evolving set of prioritized requirements for the product. Next is the release backlog, governing how much of the product will be developed in each release, and under that, sprint/iteration backlogs shape the goal for each sprint/iteration.
How can waterfall teams maintain a backlog?
On the surface, backlogs and prioritization may not seem to fit waterfall projects. After all, requirements are laid out in advance of any development work, so the priority should not change after a certain point. However, priorities shift all the time on any given project. By incorporating a backlog into a waterfall project, these shifts can be documented and the team can adjust to accommodate new priorities. The ability to accommodate shifts in priority helps waterfall teams bridge one of the severe limitations of waterfall projects, which is that the project deliverables often don’t match customer needs anymore by the time they are ready.
By incorporating backlogs into the project, the team can ensure that the highest-priority items are addressed and that the final product is more relevant to customer needs. Waterfall teams should consider developing a product backlog to list features and requirements and rank them by priority. This backlog can either supplement or replace the standard list of requirements.
Even though in waterfall projects the entire functionality is delivered in one big bang implementation (or in phases for larger projects), staying focused on what is most important is still valuable by enabling better resource utilization and giving stakeholders more control on what gets done first and what gets done later.
What are your experiences with maintaining a backlog on agile projects?
If you’d like to learn more about agile, please visit our Agile Transformation page.