While agility has always been present in management of all kinds, the term ‘Agile’ as used today originated with the Agile Manifesto in 2001. It has since permeated all areas of business with frequent references in business literature to Agile HR, Agile Marketing and so on. The manifesto articulated four broad values and 12 broad principles.
From these have emerged many different perceptions and interpretations of Agile. Agile project management is an umbrella term for methods that take an incremental and iterative approach. Although the current agile movement is primarily focused on software development, its origins can be found in manufacturing industries. It built on earlier formalisations of agility (such as Concurrent Engineering) and adopted existing techniques (e.g. scrum and kanban) to create a reasonably coherent approach.
The need for greater agility arises mainly from uncertainty. When scope and specifications are difficult to define at the outset, an iterative life cycle is required. Scope is investigated, ‘experiments’ are performed and gradually the scope emerges.
Beware the terms ‘traditional’ and ‘waterfall’. These are almost always used in a pejorative sense and mainly as a means to promote Agile over all other approaches.Hence, the projects that require greatest agility are frequently referred to as emergent or adaptive. This is in contrast with the predictive nature of projects with low levels of scope uncertainty.
The different flavours of agile are united by certain key characteristics:
Short development iterations known as timeboxes or sprints.
Very close working between developers and stakeholders.
Regular reprioritisation of work.
Rapid and flexible approach to addressing scope change.
Various techniques have evolved to support these characteristics such as timeboxes for scheduling, MoSCoW for prioritisation and burn down charts for progress reporting. The ubiquitous Shewhart cycle (PDCA) is at the heart of this, as it is with all flavours of project delivery. The key differentiator is that the cycle becomes short, frequent and is performed by multi-disciplinary, self-managed teams with greater autonomy than is common in more predictive environments.
One very simple way of understanding the difference between agile and more predictive forms of development is their relationship to the triple constraint.
In many 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.
Agile approaches also focus on incremental delivery. The aim is to deliver value to the customer as quickly as possible and then continue to deliver value at frequent intervals.