Should You Go Agile?
Agile methods are not for everyone. Certain things must be borne in mind before going agile. However, agile methodologies are widely applicable and should be used by more people than are currently using them.
Code and fix, being the common methodology used in today’s environment, requires the application of more discipline and not adding to the chaos. The light approach adopted by Agile methods have an advantage over heavyweight methods. When there is no process at all, it is more than likely, simpler processes will be followed and adhered to.
For those new to agile methods, the question is where to start. As with any new technology or process, one needs to make one’s own evaluation to see how it fits into your environment.
The first step is to try out agile methods on suitable projects. Agile methods are fundamentally people-oriented, which makes it essential to start with a team keen to try and work in an agile way. A reluctant team is not only more difficult to work with, but imposing agile methods on unwilling people is fundamentally at odds with the whole notion of agile development.
It is valuable to also have customers (those who need the software) who want to work in a collaborative way. Without customer collaboration, one may not see full advantages of an adaptive process. On the other hand, customers reluctant to collaborate may soon change their mind as they being to understand the agile approach.
There are those who claim agile methods cannot be used on large projects. However, ThoughtWorks, an India based firm has been successful with agile projects that involved around a 100-people across multiple continents. Even so, it would be best to pick a small project to start with. Large projects being inherently more difficult to handle, it would be better to learn on a project that is easily manageable i.e. small in size.
Don’t pick a project with little business impact even though it means less damage if anything goes wrong. However, it also means an unimportant project makes for a poor test, since nobody cares much about the outcome. Far better, to try agile methods on a project that is a bit more critical than you are comfortable with.
Again, find someone experienced in agile methods to teach you from his mistakes. Once a good mentor has been found, make it a point to follow his advice closely.
Hopefully, you are now convinced about your readiness to use agile methods? Over the last ten years, lot of experience has been gained in the use of agile methods. If, your clients are ready and willing, I would advise you to always use an agile approach. This way, slowly and surely there will be many more converts to the agile approach.