Tuesday 13 October 2009

PPM and Agile dont mix.. Right?

Let me give a blatant but well deserved plug to the PM Podcast - An excellent podcast on all aspects of project management. Catch it at http://www.thepmpodcast.com .

The recent one that has caught my ear in particular was PPM and Agile dont mix.. Right? with a really good discussion of how you can combine the top down orderly approach of Programme Management with the bottom up informal (to the point of being anarchic) approach of Agile.

All Cornelius Fichtners prodcasts really earn the valuable space on my 8Gb iPod! There can't be a better way to earn professional development credits while walking my dogs.

Lets Do The Risk Warp Again

In this trilogy of blogs (triblogy?) we have been seeing how some basic intuition and understanding of projects can lead us to manage and master risks. Dont think all these charts and graphs are any great theory - they are just a graphic representation of common sense!

Having understood the "cone of uncertainty" let us see what we can do to reduce uncertainty by warping it - bending the rules of project management.

Lets look at bending it three ways:
  • Firstly let's reduce the long period between the user saying what they want - Requirements Specification - and being able to get a finished product and saying "Yes - That's It!" - Delivery Acceptance.
  • Then let's compress the process to get to the requirements.
  • And then let's compress the design and development process.
How?
  • Use iterative and prototyping approach - "So is this what you mean?"
  • By getting the user and the developer together - to avoid the risk of misunderstanding so well illustrated by the Tree Swing Design cartoon.
  • By breaking the process down into small steps.
While this is has the characteristics of an Agile approach, many of these concepts have been around a long time. Iterative methodologies grew up in the eighties when PC development tools and 4GLs allowed programmers to design databases with the screens and reports in hours rather than weeks. They could talk straight to users and show them the programs to get feedback on the spot.

This develops into Agile methodologies where:

  • Product definintions and requirements get cut down to brief "User stories"
  • The requirements and design specification are replaced by scrums of colloboration between users and developpers
  • Rapid development techniques allow the deliverables to be demonstrated to get rapid confirmation of the design
What does all this do to the Cone of Uncertainty?
Well the risk reduces:
  • the time between design and acceptance is reduced.
  • The risk will increase again at the start of each new iteration stage.
  • The initial risk is also cut down because the early stages of definition are reduced to a high level description of what each stage is going to address.
  • There is still some final acceptance. But this is reduced to what I would call integration acceptance - confirming that the deliverables from each stage work together.

So our Cone of Uncertainty is warped into the Christmas Tree of Collaboration!