March 4, 2004

Agile Manifesto : "Over", not "Instead of"

I just read an article by John Seely Brown ( http://www.slofi.com/IKM_Practice_vs_Process.pdf ) that was recommended to me by Adewale Oshineye. It is about the tension within firms and communities between innovation and control. I thought that a new agile principle could be that we value innovation over control. It made me revisit the Agile Manifesto and I now have an even greater respect for the people who created the document. We all know the Agile Manifesto ( http://agilemanifesto.org/ ). Whilst we value the items on the right, we value the items on the left more. For example, Responding to Change over Following a Plan. I suspect that many people read it differently to what it actually says. Many people, myself included, read “Instead Of” rather than “Over”. The Agile Manifesto does not say that we should not plan, it just says that we should value change more than the plan. This is because software development by its very nature is all about change. We should therefore do planning but in a way that allows for change. Similarly, the manifesto says we should value people and interactions over processes. This is one of the biggies for people who opposed to Agile and XP. They claim that XP is for hackers with no process. In fact, XP has a very clearly defined process, it is just very light and allows for change and creativity. We should therefore have a process rather than randomly lurching about as people assume. In fact, most agile processes are excellent in that they are based around the business (sponsor) controlling the order of development rather than the IT manager. Working software over extensive documentation. Once again, it does not say no documentation. The documentation should have a purpose rather than for its own sake because the methodology calls for it. And the same for customer collaboration over contract negotiation.

My current project needs documentation. It needs a plan. It needs contracts with third parties. It needs a process (which will be a variant of XP if the business sponsor and myself get our way). Why does it need a plan and all the other stuff? Quite simply, it is a massive programme of work that will cost about $30-50million. It will require about fifty interfaces and ten systems to be developed for use by users in five different global locations. The development team will be performed by a number of teams that need a common way of working. Not all of the team will be alpha prime developers, some will be more junior or less able because the company has a policy of looking after its people and helping them to develop. The project funding is an investment funding decision which is a business decision based upon estimated costs from a plan. The interfaces need scheduling and coordinating with systems that are also currently in a state of development or rework. A number of the projects will be to implement systems from third parties that will need modification. The development team cannot sit with the users because there are so many of them and also the users are located throughout the world so we need to communicate decisions and issues using documents in some cases.

So if I tell you I need a plan, don’t think I’m not agile because I still value change more than the plan. I also value innovation over control.

Posted by chrismatts at March 4, 2004 5:09 PM