Demand Management Using Agile and Lean Principles and Tools
The problem of demand for IT services and project resources exceeding available supply is something every organization faces. I was asked again recently about how Agile helps with demand management.
Agile addresses the problem in several ways.
First, an Agile team’s highest priority is to satisfy the customer through early and continuous delivery of valuable software. Unbridled demand almost always will exceed resource capacity, but increasing flow of finished work from the development organization definitely results in higher levels of satisfaction from those who produce the demand.
Further, delivering working software frequently, from a couple weeks to a couple months, with a preference to the shorter timescale, means a team satisfies demand on a more regular basis and on a timeframe that corresponds to the customer’s ability to absorb and implement new features and enhancements.
Finally, Agile processes promote sustainable development. Sponsors, developers, and users should be able to maintain a constant pace indefinitely. Sponsors and users prefer to engage in a regular cadence and in a way that is least disruptive and harmonizes with business cycles and work processes. Agile invites them to interact frequently and in short, focused settings to review and accept finished work, and to provide input on prioritization of work for the next near-term planning horizon.
One of the most valuable tools for informing all involved on the degree of balance between demand and output is a Cumulative Flow Diagram.
A presentation on flow by Matt Anderson from Cerner Engineering provides a nice breakdown of the information provided in a CFD. The point he makes about the angle of divergence between the arrival rate and completion rate is key. Obviously there are two points of attack to close that gap: 1) constrain work at the point it enters the backlog, and 2) accelerate the rate at which work is completed.
Many organizations attack only the first by creating an onerous bureaucratic process that succeeds in constraining work allowed to enter the backlog, but at the same time stifles innovation and the flow of business value from technology.
Agile and Lean principles and practices create mechanisms to get the right work into the backlog in the right order based on business value, while enabling teams to reduce lead times and increase the rate at which valuable working software is delivered.