Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Balancing Agility and Discipline: A Guide for the Perplexed Review by Maurice Hagar
Flawed But Helpful
I like the pragmatic tone of the book, its structure, "day in the life" pictures, case studies, and conclusions. Yet the authors indulge some Agile misconceptions and their case is riddled with straw man argumentation.
Right from the start they set up a false dichotomy between agility and discipline, as if Agile is not a discipline or not disciplined--the authors define discipline as "process mastery, preparation, and courage." Agile done right is all this. And who hasn't seen undisciplined "discipline" (process-heavy approaches is what the authors intend here).
The key to success, they argue, is balancing agility and discipline--what Agilist wouldn't agree?--by using their "risk-driven approach" as a "pragmatic means of reconciling the strengths and weaknesses of disciplined and agile methods." This requires assessing project personnel, criticality, size, culture, and dynamism to customize an agile-discipline hybrid that minimizes risks.
Most Agilists I know are pragmatists, not purists, and do, in fact, use hybrids as needed. The "risk-driven approach" advocated here is a helpful way to quantify the risks and work towards a hybrid. But one caution: "Balancing agile and plan-driven methods requires exceptional people." Agreed, and the authors admit that because you need, and therefore find, more exceptional people in an Agile environment, you're more likely to find success by scaling Agile up than by paring plan-driven methods down.
Other helpful points of clarification for "the perplexed:"
- Agile is an "adaptive rather than predictive mind set."
- "Agile is `planning driven,' rather than `plan-driven.'"
- Agile defines quality as customer satisfaction vs. "specification and process compliance."
- Agile's rapid growth and adoption is due to today's dynamic business environment and to "the resurgence of the philosophy that programming is a craft rather than an industrial process"
- "Personnel turnover is a project's number one risk."
Examples of straw man argumentation:
- "The approaches have become adversarial." I've seen some healthy debate but most practitioners are looking for common ground.
- "The primary difference between agile and plan-driven development practices deal with the design and architecture of the software. Agile methods advocate simple design, one that emerges as functionality is implemented." The authors spill a lot of ink demonstrating that simple may not be sufficient. Yet just a few pages earlier they point out: "Agilists speak of a `mentality of sufficiency'--doing only what is necessary." "Simple," then, actually means "sufficient" to the experienced Agilist.
- The authors point out that Agile refactoring risks turning into costly redesign. And a plan-driven approach, where quality is defined as compliance to outdated specs and rework is common, improves on this how? Later they admit that Agile done right looks at each user story in context of the big picture.
- They complain that getting all the stories done and integrated--particularly "tasks that fall between story cards"--often requires "police" action that "conflicts with agile philosophies." What they call "police" action I call "management" action and, yes, I admit it is often required.
All in all, this book is recommended as it adds to the conversation and moves it in the right direction: whatever works! We've got too much work to do for infighting.