<< The Key to Maintenance is Compartmentalisation | Home | Creativity - Yet another driver towards agile processes >>

NEWS FLASH: Agile does not mean there is no plan

Why aren't all projects run using agile methods? Working in an enterprise where we have maybe 50 applications which all go live at the same time twice a year (as well as another 450 which are also in some stage of the software lifecycle), I was told that it would not be possible to plan such a release without tight control over the planning, and frankly agile methods do not cater for such planning...

Erm... I see it a little different. Agile to me means that there is a plan and you know the maximum amount of money that you can to spend. To me it also means there is a fixed deadline. As quality is also fixed (come on, it has to be bug free!), it is scope which changes. Or admittedly to some degree also quality, as you decide that some bugs are tolerable and you can live with them.

What is different about agile projects, is that the project plan and scope (functionality) are alive. They are dynamic. They change from day to day as everyone on the project learns and discovers. Just like your day to day plans change as events unfold.

It should be illegal for a project manager to state that a project plan is fixed. It shouldn't be allowed that the project manager, upon discovering that a plan needs to change, states that it will not be changed because it has already been communicated to the customer. This view is certainly un-agile. But it is also simply wrong! It is like saying "I have stated my intentions to walk to the moon by Christmas, and I shall do so, regardless of whether it is possible". In my world, it is very acceptable to admit your plan is wrong, and to re-state your intentions, especially if the deadline doesn't actually change ("I shall now fly there instead!").

Transparency to the customer, that you have discovered something that you did not put in your original plan, shows the customer that he can have faith in you, for being able to be honest about it and to re-plan, being able to handle such events.

The customer must also be able to tolerate such unplanned events, and doing so shows that the customer is mature enough to understand that this happens in software development. It also happens through out life, in all kinds or projects. When was the last time that a building was built on time? Planning is done wrong in all walks of life, and it is perfectly natural to re-plan. We should not be scared of admitting that our plans are wrong and we should certainly not be working in environments where one feels the need to hide such facts.

Copyright (c) 2009 Ant Kutschera

Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!



Add a comment Send a TrackBack