Wednesday, March 17, 2010

Agile home grounds

Love it or hate it, Agile is here and it is here to stay. Enterprises, big and small, are flocking towards it like it is a magic pill that will solve all their problems. While many enterprises have been successful with Agile, a number of large enterprises still suffer from the aftermath of poorly rolled out Agile process. There is a lot to gain by combining Agile with some plan driven methods and practices. Honestly, large organizations absolutely need to adopt this hybrid approach. Agile is not a one size fits all kind of a process. Every organization and project is unique, and has its unique expectation from the process. So what makes an organization or a project a good candidate for Agile? What practices of plan driven methods should be combined with Agile practices to achieve maximum benefits from Agile?

Barry Boehm and Richard Turner describe home grounds for Agile and Plan driven methods in their book "Balancing Agility and Discipline". They conclude that there are five critical factors that need to be evaluated for agile vs plan driven suitability. These are:

  1. Criticality
  2. Culture
  3. Dynamism
  4. Personnel
  5. Size
The following diagram describes a home grounds polar chart that plots two different projects. The one in red may represent a smaller startup type of an organization, while the green chart may represent a project in a larger organization. The closer the ratings are to the center, the better it is suited for Agile. In contrary, if the ratings are towards the peripheral then Agile may not be suitable for the project.






In the above example, we see that project whose chart is described in red, has certain ratings towards the peripherals. The culture of the organization is more accustomed to plan driven methodology and the number of people in the project is about 40. Scrum and other agile techniques do not work very well with team sizes greater than 10 or 12. On the other hand, the requirements seem to be quite volatile. This is a classic case where a hybrid of plan driven and agile based methodology is required. Iterative development will best serve the dynamic requirements, but culture and size pose challenge to running in agile.

Let us consider an example of development of a software that is used to provide key information to pilots about the aircraft in flight. Such a software is highly critical and defects in such a software can result in the loss of many lives. This kind of a project will be rated at an extreme peripheral of the criticality dimension in the chart. By doing such an analysis, an organization can identify risks by moving to agile and plan risk management approaches to manage these risks.

References:
Balancing Agility and Discipline, Barry Boehm & Richard Turner, 6th Printing, Feb 2008