Agile Project Management: A silver bullet or a passing fad?
Definition of APM
There is no unique definition of agile project management because a number of scholars have come up with different proposals for defining the concepts involved. As a basis to understand APM it is crucial to define agility both from the literal sense and the organisational context. Agility is the ability to act proactively in a dynamic, unpredictable and continuously changing environment (Owen et al, 2006; Orr, 2005) and organizational agility is the ability to be inherently adaptable to changing conditions without having to change (Tang et al., 2004). Many a scholar attempted to define APM from different dimensions. The definitions mainly vary on the basis of the scholar’s industrial bias and the level at which the term agile is taken (Owen et al, 2006) but they all exhibit some things in common. For example, Aguanno (2004) describes agile methods as a combination of Extreme Programming, Scrum, FeatureDriven Development, Lean Development, Crystal Methods and APM. The definition is clearly biased towards the information technology (IT) and it adds confusion because it combines lean and agile methods. His thesis in coming up with this definition is that the term agile was chosen on the basis of the ability of these methods to respond to dynamic environments through controllable and flexible approaches. Tomaszewski et al (2008) as well as a number of authors (Conforto and Amaral, 2008; Cicmil et al, 2006; Sanchez and Nagi, 2001) refute this combination on the basis that lean is an approach on its own aimed at reducing the process time by eliminating non-value adding waste whilst agile is more concerned with improving delivery speed by reducing the effect of uncertainties and complexities. A somewhat more general definition from an IT perspective is given by Cadle and Yeates (2008:429) who define APM as the ‘various systems development approaches that emphasise flexibility, speed and user involvement in development systems.’ On the other hand Highsmith (2004:16) forwarded by Conforto and Amaral (2008) give a general definition of APM as ‘a set of values, principles and practices that assist project teams in coming to grips with this challenging environment.’ A more comprehensive definition of APM is given by Hass (2007) who defines APM as a highly iterative and incremental process, which demands that developers and project stakeholders get actively involved in ‘working together to understand the domain, identify what needs to be built, and prioritise functionality.’ However, what is more important to note is that in all circumstances, agile environments exhibit internal and/or external uncertainty that requires some unique expertise and a high level of urgency to minimise the effect of dynamism (Fitsilis, 2008; Alleman, 2005). This is particularly important if one considers the currently prevailing situation and the mounting effect of the financial crisis on organisations. Chin (2004) gives an interesting equation to define the agile project management environment, which is;
Agile PM Environment = [Uncertainty + Unique Expertise] x Speed
To avoid confusion in this thesis our definition of APM derives from the aforementioned definitions and some relevant literature. For instance, according to Augustine and Woodcock (2008) the main responsibilities of the manager in an agile environment are setting the direction, establishing simple and generative rules of the system, encouraging constant feedback, adaptation and collaboration. This they argue that it enables project teams involved with agile implementation to effectively deal with change and look at the organisation from a biological system perspective (i.e. as a fluid and adaptive system inhabited by intelligent people). To complement this Alleman (2005) emphasise that smaller and manageable teams are an important part of agile project management. In addition agile project management acknowledges that intelligent control and self organisation are the central tenets for order establishment (Conforto and Amaral, 2008). In view of the above, agile project management can be defined as a management principle that uses iterative development techniques at regular review points with emphasis on closer collaboration among the client, stakeholders and small autonomous development teams in a flexible way that allows the system to evolve towards the true project requirements at a particular point in time under a specific contextual environment to completely minimise the effect of complexity, unpredictability as well as uncertainties on final project delivery.