The Complexity Manifesto vs. Agile Fundamentalism

Thou shalt do nightly builds!  Yesterday I signed on to Jurgen Appelo's Complex Manifesto for Software Development, a document whose first principle is "Every problem has multiple solutions" and whose last principle is "It is impossible to predict the best solution." The Complexity Manifesto posits that the path to agility lies not in the observance of a set of reductive, fundamentalist "thou shalt" and "thou shalt not" commandments, but in the cultivation of mastery and discipline in all their complex glory.

I'm reminded of a big "aha" moment I had while reading sports writer John Feinstein's excellent book on golf, A Good Walk Spoiled. Golf is such a difficult game to master that even the great players are never actually good at it–they just suck less than everyone else. Feinstein wrote of one PGA Tour player who spent a year trying to improve his swing–it had to be taken apart and painfully put right, and during that process he was worse than useless, but then through some magical background process involving muscle memory, mathematics and emotional release, it all came together one day and he experienced an enormous gain.

My point (and I do have one) is that while there is joy in perceived simplicity, such as an easy, disciplined golf swing, or a smooth agile process, simplicity of that order is not achieved through reductivism and rule-making; it is hard-won through discipline and mastery. I was talking to Chris about this earlier, and he added that what sets agile apart is the thoughtfulness baked into its structure as a set of values and principles rather than a set of rules. "Rule based systems lend themselves to misinterpretation, misapplication and gaming," he said, "while systems based on values and principles empower individual choice and responsibility and lead to simple, elegant and appropriate solutions."

Appelo asks us to practice agility as an art, to enculturate our organizations with a
set of sustainaable values, principles and practices that, once mastered, inform our
actions from within. What he cautions against is the tendency to be reductive rather than expansive, to fret too much over what is and isn't agile, rather than focusing on growth and experimentation.

My own fear is that too much reductivist thinking too early in the development of the agile movement could lead to self-limiting rigidity, insularity and irrelevance before agility has even had a chance to mature and flourish. The Complexity Manifesto swings the dialogue back in a more generative direction. As Appelo says, "we must recognize that it is human to prefer simple solutions, but also that the world is more complex than we think."

Share it!

Leave a Reply

Your email address will not be published. Required fields are marked *