Friday, January 30, 2015

Agile Paradox: Is “Prescriptive” Agile Practical?

Agile is a paradox because Agile is not lack of disciplines, but needs to be more disciplined.

As an emergent software management methodology, Agile advocates interactive communication, iterative collaboration and continuous improvement. Based on its 12 agile principles, there are all sorts of agile explorement and deployment -Agile as management philosophy and principle; Agile's best practice or next practice; when, where and why should you be prescriptive in Agile software development approach? In other words, when, where and why should you be disciplined?

Agile is a paradox because Agile is not lack of disciplines, but needs to be more disciplined than any other development method. There is no hiding in Agile. Everyone has to tow their weight or the failures in the team would be immediately exposed.

"Prescriptive" Agile includes incremental recommendations to the team as they build experience. In most cases, organizations are not in a good position to leap directly to a mature agile team structure and supporting policies and culture, and to deliver effectively using a lightweight method that depends on "people over process" to assure high quality results. So "good prescriptive" agile would be well grounded and ideally, with really best practices and principles.

It is more about agile guidelines: You can measure whether practices are being done and to what degree, but each team is different, hence it isn't really prescription but more guidelines and heuristics. When doing agile, some of the permutations need to be adapted to:
* Team gets the principles but are unsure how to get started.
* Team has been told they must go agile so just want to know what it involves!
* Team understands the principles, want to do it their own way, but there are constraints (stemming from scaling agility to a whole organization)
* Team recognizes the new way of working, but wants a solid foundation on which to inspect and adapt
* Team assumes that a guidebook will be given to them and that the agile practices completely replace everything else.
There will only be a few invariant across the whole agile spectrum. What you shall worry more about is when teams 'inspect and adapt' without understanding the consequences.

Get it working right as it was designed to be used and then start stretching the envelope as required. The challenge for Agile in general, is to identify a universal set of foundational ideas that are both more fundamental (described in Agile Manifesto) and more specific (Agile practices). The philosophical foundation will identify key aspects of human nature that must be served - things being talked around in the Agile community. More specific are disciplines including the best parts of Scrum and XP.

Regardless of which flavor of Agile practices you explore, you need to follow Agile principle, people over process, change over documents, make continuous adjustment for your “prescriptive” agile formula, being agile rather than just doing Agile.


Post a Comment