Total Pageviews

28 January 2008

PRINCE2 + AGILE = Common sense?

An article on how Agile can sit alongside PRINCE2 and where DSDM Atern fits in.

In 2007, I put "used an Agile/PRINCE2 development strategy" on my CV. It's been quite the conversation starter at interviews. So I thought it would be of interest to blog about it here and gauge the reaction/feedback.

First off PRINCE2 is an acronym for "PRojects IN Controlled Environments" (version 2). PRINCE2 is a generic project management method for exercising control over a project's startup through to closure (SU1 to DP5 for all you who enjoy punch card like references). It's a generic project management method that had its origins in IT but which now makes no reference to IT and could be used from anything from building a ship to planning your summer holiday. Whether you would want to use it on the latter is entirely up to you. The same flexibility of choice is not however accorded to the large number of public (and increasingly private) sector projects that use it since it is seen as the de-facto project management method and its use is frequently mandated, despite there being other methods that may be more relevant for the task in hand. There have also been a large number of complex and extensive government IT project failures recently many of which would have used PRINCE2 and which highlight that even a refined method such as PRINCE2 can run aground on large scale, long running projects that are subject to considerable change.

On paper, PRINCE2 is logical, reasonable and linear. However, as experience suggests - for example in the long series of failed UK Government IT projects where PRINCE2 is the mandated method - simply being logical, reasonable and linear, is not sufficient. It is not sufficient to make it the effective project management method business and public sector organisations really need."
From PRINCE2 problems by Business Transition Technologies

PRINCE2 is based around project control. Control is clearly a Good Thing, however being a generic method with no reference to IT, the closest IT development method would be the waterfall method, which is very well lampooned on the Waterfall2006 site. It is just these shortcomings of the waterfall method which seem to cause the biggest problems with PRINCE2 projects, especially those which due to their complexity and length of development are prone to large amounts of change. PRINCE2 also does not account for software projects comprising multiple versions and how these are handled, nor for website development and deployment which can be an almost continuous process.

Change is inevitable in projects. In response to this Agile development methods arose to deal with this change more effectively, particularly from a software engineering perspective and unlike PRINCE2, cover in detail the more day to day activities such as sprint planning, daily meeting structure etc. Agile does not have comprehensive cover for project management, however the Agile DSDM development method was developed with PRINCE in mind, as detailed in the paper using DSDM with PRINCE2 [PDF]. Thus the combination of Agile and PRINCE2 is not as contradictory as it might at first seem. One is a development method for managing change, the other is a project management method for exercising control, so the two compliment one another and should result in a management method for control in a changing environment. One can see from this white paper on integrating DSDM into a PRINCE2 environment [PDF] that at the actual delivery level the focus is much more on the agile processes rather than PRINCE2.

Alistair Cockburn (no relation) and others have produced a set of agile management methods however this has grown out of the agile community and consists of a set of principles rather than the sort of detailed how-to that would make it easy to sell to the PRINCE2 diehards.

The most complete agile project management method I have come across is DSDM Atern which is described as follows:
What is DSDM Atern?

Atern is an agile project delivery framework that delivers the right solution at the right time.

Importantly, Atern harnesses the knowledge, experience and creativity of end users. It uses an iterative lifecycle to evolve the most appropriate solution to satisfy project objectives.

Using planned, visible timeboxes with clearly-specified outcomes control is exercised throughout by the project manager and the team members themselves.

Roles are clearly defined and work is divided into timeboxes with immoveable deadlines and agreed outcomes.

Atern Agility
Atern’s agile approach avoids the cumbersome rigidity of ‘big design up-front’ without the inevitable risks of ‘no design up front’.

Since it is worth spending some early time examining the structure of the overall solution before building any components, Atern advocates that projects should do just ‘enough design up front’.

Atern flexibility
Atern can be used to complement other project management disciplines such as PRINCE2 ™ and PMI without duplication of effort.

The description of DSDM Atern on explains further:

Atern is the leading, proven, agile approach providing the governance and rigour along with the agility and flexibility organisations demand today. It is also ideal as a wrapper for more limited agile approaches to ensure that the whole project lifecycle is addressed. Atern is a proven 'battle hardened approach' and has been responsible for the successful delivery of innumerable projects around the world. Its provenance across both IT and non-IT contexts goes back to 1994 with substantial productivity gains independently verified by the UK Software Metrics Association.

Making PRINCE2 Agile

So it seems to me that you could use PRINCE2 for the high level governance of a project, Atern for the structure of how the project development is to be organised and prioritised and scrum techniques for the day to day elements of effectively organising the software engineer's time and daily priorities. Although for a true DSDM Atern approach, PRINCE2 isn't needed at all - whilst it is possible to combine DSDM and PRINCE2, DSDM Atern by itself is actually enough and also embodies from the outset the Agile principles which are completely absent from PRINCE2. The particular challenge for Atern lies in integrating Atern projects within a waterfall corporate culture and of DSDM takeup and experience generally, which is unfortunately quite low.

This is just intended as an overview to illustrate that PRINCE2 and Agile are not necessarily contradictory and that is possible to combine elements of both successfully, particularly when it comes to the managing a stage part of PRINCE2 - Agile turns this into many small stages comprising stable components of work suitable for release. However, what remains a mystery to me is why government departments have been so reluctant in the face of the number of IT failures I have blogged about to promote an agile implementation of PRINCE2 and how it can best be delivered for complex IT projects running into billions of pounds. DSDM Atern isn't necessarily suitable for all projects, but certainy for iteratively deployed projects which are happy to embrace change, it should be considered as a more suitable alternative to PRINCE2.

This whole sense approach to software development from project governance to day to day management would seem to be the holy grail for minimising such failures. Perhaps it is time to encourage those who mandate PRINCE2 to understand this in order to minimise further wastage.

Further reading on DSDM is available on the DSDM website and for discussions with the authors of DSDM, I would recommend the DSDM group on LinkedIn.


Update: in June 2011 I wrote an update covering Agile and PRINCE2.
Post a Comment

Popular Posts