Agile project management is an umbrella term for development methods that take an incremental and iterative approach. Although it originated in software development, and is still principally found in that environment, the principles can be applied to other disciplines.
The different flavours of agile are united by certain key characteristics:
- Short development iterations known as sprints.
- Very close working between developers and stakeholders.
- Regular reprioritisation of work.
- Rapid and flexible approach to addressing scope change.
One very simple way of understanding the difference between agile and more traditional forms of development is their relationship to the triple constraint.
In traditional projects, the emphasis is on scope. Within the identification process and definition process, the requirements management and solutions development functions play a major role. Planning then derives time and cost from scope.
In agile projects, the emphasis is on time and cost. Scope is derived from these so that planning is concerned with what scope can be delivered within the constraints of time and cost. The identification and definition processes are reduced and focus on broad functions and features rather than the detail of what will deliver those functions and features. The detail is prototyped during the delivery process and finalised through close co-operation between stakeholders and developers.
One of the most common development frameworks for agile projects is scrum.