Saturday, October 5, 2013

Is Agile still not 'Agile' Enough

 Agile takes more discipline, not less. 

With the popularity of Agile methodology, it spurs varies debate upon the ‘agility’ of Agile, Does Agile mean completely free thinking or doing; or are those agile principles and practices are still too static and rigid, not ‘agile’ enough to adapt to the changes?

The big advantage of Agile methodologies is that they make communication easier. So, they are static in much the same way that a dictionary is static; they are rigid in much the same way which a language is rigid. If you choose to limit yourself to 150 words in any language you can probably get by, but don't expect to be able to express deep thoughts effectively. Ultimately it is the thinking that matters, and communication helps apply that thinking effectively. Methodologies help establish a common basis of communication. Agile enforces such interactive communications, but all parties shall still speak the same languages.

Agile drives incrementalism, iteration and improvement. Agile is not lack of discipline, but takes better engineering, architectural and management disciplines. Do those disciplines make agile too ‘static and rigid’? That could be the paradox of modern management, change can be dramatic and Agile's "static and rigid process" will handle it. The process could be changed, it could be dynamic, but the discipline and supporting practices should be in place. You can replace a practice, but without breaking this support.

Agile doesn’t mean arrogance or ignorance, Agile can be humbling -- everyone is essentially selling their services to someone -- developers, testers, requirements people, scrum masters, and yes, architects. There's a concept agilists embrace called "the tyranny of the best idea.", Agile doesn’t mean completely out of box, but shaping the new box to enable innovation and idea sharing.
Agile methods such as XP (or/and Scrum or others) provide such an ecosystem of practices that enable the necessary "agility power". You can build your own cocktail of practices, but it is hard to build from the scratch something with the "ecosystem" value. What it means that it is necessary to have a disciplined approach with outstanding engineering (and others) practices in order to handle rapid change, but also keep flexibility on mind.  

Therefore, Agile is not 'opposite" of Waterfall, without structure, free thinking or doing, Agile is complimentary methodology of Waterfall, add on the flexibility on the rigidity; accelerate speed from hierarchy; or create cascade from steep slope., etc. Agile is about discipline and not just for technical teams but for business people as well


Post a Comment