Sunday, February 22, 2009 11:32 AM
What Gives? Agile Gradual Change
Agile adoptions can go wrong in many ways. It can be lack of commitment, lack of support from the management, lack of knowledge and experience and many other reasons.
It may surprise you, but lots of companies that practice Agile development fail or challenge. In my opinion the number one cause for this failure is "Gradual Change".
What is a Gradual Change?
Usually when a company decides to be "Agile" they will make some efforts to change their their work habits and development process. They'll try, and they'll make changes... But the changes will be "gradual" and not "transformative". You see, Agile has some "transformative" practices such as TDD (Test Driven Development), Collective Code Ownership, Pair Programming, On-Site Customers, Not Bugs and many others. These practices are also the most challenging and hard practices.
Most teams will try to "gradually" change into practicing Agile. In practice what will happen is that most of them will select what they will actually practice. Most putatively Agile teams will not do most of the above examples and only few will do some all of them.
Waterfall teams will make smaller waterfalls.
CMMI teams will have smaller phases.
Document-centric teams will streamline their documents.
When you gradually change, you select a practice and implement it, for instance, you can introduce iterations, and then TDD and so on and so forth...
Will that work? It might and yet again is mostly won't.
According to James Shore:
"...Teams take years to get through this list, and it's exhausting. I don't know any that have made it. Really! None.
..If you adopt [Agile] incrementally, every new practice will disrupt the equilibrium you'll be fighting to achieve. You'll actually extend the period of chaos and uncertainty, making the transition all the more difficult."
In my opinion, some things can't be reached with gradual change. If you decide to go with Agile, you need commitment, understanding and knowledge.
As Tobias Mayer said:
"...[Agile] does not actually DO anything. People do things...if taught effectively gives people the opportunity to wake up to themselves. If they don't they'll go out of business... Apart from a manifesto, Agile isn't actually anything.".
Remember that Agile is just a trendy word.
תגים:Software Development, Dev, Tech