The Dalai Lama, who has spent his entire life in disciplined pursuit of happiness, doesn’t spend his time trying to figure out what makes people tick. Our minds are too complex, he says, to fully understand how they work. Instead, Buddhism advocates a simple approach to get you going in the right direction and a conceptual framework to help you stay on track. At it’s core, that is in fact all Buddhism is.
The don’t-forget-this-thought was my realization that a lot of the power in Buddhist philosophy (for me, at least) is fueled by its simplicity. And, its simplicity is driven by its goal-oriented nature. Western science confronts complexity head-on by whipping out the intellectual scalpel and trying to decompose it from the top down. Buddhist thought, on the other hand, acknowledges complexity and focuses not on decomposing it but on finding a few things that work and moving forward. There’s a heavy focus in Buddhism on how to adapt and learn how to be happy versus understanding how the mind works and creating a one-size-fits-all recipe for happiness. This goal-orientedness is what drives the Dalai Lama to always speak of "Happiness vs. Suffering" and not "Happiness vs. Unhappiness". It has always sounded strange to my western ears, like a word that rhymes with itself. But, "suffering" is something that exists that we can avoid. "Unhappiness" isn’t as actionable.
Thinking of it this way, I recognized a connection that I knew existed and I’ve been fishing for lately. Extreme Programming, with its four core values and 12 core practices (c2.com/cgi/wiki?ExtremeProgrammingRoadmap) is in some loose ways reminiscent of Buddhism and its Four Noble Truths leading to the Eight-Fold Path (www.buddhanet.net/4noble.htm). In both cases, the four antecedents lead to a slightly longer subsequent list of practices. And, both present simple, adaptive approaches to dealing with complex problems (though comparing the complexity of software development and the pursuit of happiness is admittedly a bit far fetched).
As I drove down the freeway listening to the Dalai Lama’s reaction to Cutler’s Western-centric questions, I was reminded of Kent Beck’s driving analogy from Extreme Programming Explained ( search.barnesandnoble.com/textbooks/booksearch/isbnInquiry.asp?userid=35062ST2KB&isbn=0201616416&TXT=Y&itm=1 ). XP, he says, is like driving a car. You don’t line up the wheel and step on the gas until you reach your destination. You don’t even do that to travel in a straight line—the roads aren’t that perfect. They can’t be predicted. Instead, you learn a few guiding principles of driving and use them to adapt your way to your destination. You’re always steering. This is core to both Buddhism and Extreme Programming.
When I got home, I fired up my news aggregator and saw Keith Ray’s post ( homepage.mac.com/keithray/blog/2003/07/07/ ), "These are not opposites". Keith pulls together several sources discussing the meaning of "agile" and whether or not it should be considered opposite to "disciplined" (another example of the effect of the intellectual scalpel). For some reason, especially with XP (maybe it’s the name?), outside observers get the impression that agile processes advocate a loose-cannon approach to development.
It just so happens that Buddhism suffers the same misconception. Buddhism is often dismissed as being nihilistic and self-centered. If it’s all about being happy, we can just do what we want, right? (If there’s no upfront design, then there’s no design, right?)
Toward their end goals, Buddhism and Extreme Programming are both extremely rigorous disciplines. To say that either is an anti-discipline demonstrates a fundamental lack of understanding. They are both adaptive. They are both evolutionary. And, they are both more concerned with providing a loose framework for things we know will work than with decomposing the problem domain into a scientific formula.
So, the ultimate problem isn’t "discipline" versus "anarchy". It’s "adaptive" versus "predictive" and the misconceptions that each of these imply.