Agile

From PRINCE2 Agile wiki
Jump to: navigation, search

An Agile development system is one that uses an adaptive lifecycle instead of a predictive one.

Predictive Lifecycles

Predictive lifecycles are used when it's possible to have a clear image of the final product of the project. Then, this product would be specified, designed, and planned upfront, and we'll follow the plans and materialize the design throughout the project.

A usable product is usually only delivered at the end of the predictive lifecycles. These projects can be run in multiple phased to allow for some level of adaptation, but each phase is predictive, and the whole project would be considered predictive as well.

Predictive methods are called Waterfall in the IT development industry.

Adaptive Lifecycles

Adaptive lifecycles are useful when it's not possible to define the product upfront, because it's based on an unpredictable market/user-community, or it seems ineffective to have a real consensus among the stakeholders.

The product is not defined upfront, but evolved during these lifcycles, by focusing on the outcomes and expected business values. This is possible by running the project in short cycles that focus on a subset of features (most important ones), deliver a potentially releasable output to the client/users, get feedback, and finally use the feedback to define the next short cycle. This lifecycle is called adaptive, because we're continuously adapting to feedbacks.

Vertical vs. Horizontal Approach

Based on the provided definition, it's required for Agile projects to use a horizontal development approach, instead of a vertical one, as demonstrated in the following image:

Output RBPLdO.gif

PRINCE2 Agile's Definition of "Agile"

PRINCE2 Agile prefers to ignore the simple definition of Agile as the use of adaptive lifecycles, and uses a popular description instead:

The term ‘agile’ is very broad and is viewed in many different ways throughout the agile community. There is a set of well-known frameworks referred to as ‘agile methods’ and there are also well-known behaviours, concepts and techniques that are recognized as characterizing the agile way of working. But there is no single definition of agile that accurately encapsulates them all, although the Agile Manifesto (see Figure 2.1) comes the closest to achieving this. -- Official manual, Page 9

The term ‘agile’ when used on its own in this manual refers to a general family of behaviours, concepts, frameworks and techniques that is widely accepted throughout the agile community as being part of the agile way of working. The terms ‘behaviours, concepts, frameworks, and techniques’ also encapsulate other similar terms such as methods, principles, values, mind-sets and approaches. -- Official manual, page 21

This description, which can be reduced to "it's Agile when it's commonly referred to as Agile", is very risky for companies willing to become Agile by leading them to the wrong path, and creating poor results.

External Links