This article is the first in a two part series. It describes the problems that are commonly associated with Agile Methods vis-à-vis process rigor, and sets the scene for DEV’s remedial approach which will be presented in the second article. It further argues that configuration is best achieved by considering the challenges of integration in terms of orthogonal standards and frameworks. This contrasts with the process “continuum” that is widely held to exist between predictive and emergent ends of a methodological spectrum.
Introduction: Failure and Fervor
Agile methods have become the poster child for innovative, out-of-the-box project thinking. It can be argued that the eclipsing of the “old order” of prescriptive development approaches is now complete. By mid-2008 46% of respondents in an Agile Trends survey indicated that they used Agile practices, as opposed to 44% who indicated that they used waterfall methods [Davidson, 2008].
Of course, Agility does not imply immunity from risk. Making a strategic decision to embrace these new adaptive techniques does not inoculate against project failure. The reasons for this are as controversial as they are varied. For example, in some cases the software was delivered as promised but the customer remained dissatisfied [Lacey, 2008]. This can occur when stakeholder business expectations are lost in a fog of technical detail, or when the business case changes mid-course. In other situations, the organisational commitment to implementing Agility may only have been half-hearted, and it was a lack of political will that lay behind the project’s downfall. Ironically, such problems can be avoided by didactic project management techniques that rely more on authority than they do on consensus. Yet it can even be claimed that a so-called Agile project “failure” was, in truth, a success! After all, if failure happens early enough in a controlled manner, it can stop money from being wasted on a fundamentally bad project proposition.
To the ears of disappointed stakeholders, these reasons may sound no better than excuses. To Agile proponents they can be interpreted as evidencing a failure of application or interpretation of Agile Methods, and not as indicators of a systemic failure in the methods themselves. These varied responses to Agile failure have certainly exposed a polarisation of opinion about how good Agile Methods are when compared to more prescriptive approaches. Interestingly, the resulting entrenchment has even lead to perceptions that Agile advocates are consumed by an evangelistic and messianic fervor [Binstock, 2009].
Reconciliation through balance
Less radical Agile methodologists have attempted to find a healthy balance, or reconciliation, between the Agile and prescriptive worlds. The idea has been to keep the adaptive qualities which Agility brings to bear, whilst also leveraging the benefits associated with rigorous, prescriptive waterfall-type methods.
It seems reasonable to assume that such a compromise can be reached. A very common strategy is to view agility and rigor as occupying opposite ends of a methodological spectrum. An appropriate balance can therefore be achieved for a particular project by varying iteration length, the number and type of discrete deliverables, and the level of autonomy granted to team leads and developers. Thus one can “rev the throttle” of iterative-incremental development on a case-by-case basis.
The Rational Unified Process (RUP) is representative of this philosophy. As with Agile Methods, iterations are used to review and consolidate the development effort, and incremental releases allow early evaluation and the mitigation of risk. Yet like the waterfall approach, the scope of each step can be prescribed in considerable detail beforehand. It can even correlate the production of discrete artefacts to particular stages (c.f. Vision Document, Business Case, Software Architecture Document, etc.).