Merl's Blog

Zen Buddhism and Agile

Now, I know what you’re thinking. How can 2 very different concepts like Buddhism and software be related? That’s really up to you to decide if there is a connection or not, but I can tell you what first came to mind when I was learning about agile.

I first thought of an ancient Zen parable known as

The Koan of the Two Monks and a Woman.

An old wise monk and a young monk were traveling together. At one point, they came to a river with a strong current. As the monks were preparing to cross the river, they saw a very young and beautiful woman also attempting to cross. The young woman asked if they could help her cross to the other side.

The two monks glanced at one another because they had taken vows not to touch a woman.

Then, without a word, the older monk picked up the woman, carried her across the river, placed her gently on the other side, and carried on his journey.

The younger monk couldn’t believe what had just happened. After rejoining his companion, he was speechless, and many miles had passed without a word between them.

Finally the younger monk could contain himself any longer, and blurted out “As monks, we are allowed to touch a woman, how could you then carry that woman on your shoulders?”

The older monk looked at him and replied, “Brother, I set her down on the other side of the river, why are you still carrying her?”

Agile

Today is my first day learning about Agile, so I am not fully sure if I understand it completely. Here is my understanding of it so far.

Many people talk about a methodology, or solutions to pre existing problems. Agile is simply a set of values and principles for Software Development.

I will provide the Values and Principles below.

# While there is value in the items on
# the right, we value the items on the left more.

VALUES:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

12 PRINCIPLES:

Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.'

Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

Business people and developers must work
together daily throughout the project.

Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

Continuous attention to technical excellence
and good design enhances agility.

Simplicity--the art of maximizing the amount
of work not done--is essential.

The best architectures, requirements, and designs
emerge from self-organizing teams.

At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.

Agile helps guide you in your interactions with your customer as well as with your team. I like the term values and principles because they are not dogmatic, and lend themselves to the specific situation at hand. What might work on one project may not work on another, and what may have worked yesterday on might not work today on the same project. The future can be unpredictable and we should always be ready to adjust.

My favorite value is the 4th one “Responding to change over following a plan”! I think that is why I thought back to the Koan of the two monks. The special thing about koans is there is no true answer, it just is.

My take away from the Koan is that the wise monk had a rule to not touch the woman, however his principle to help others superseded his rule. I feel this is similar to Agile.

So you tell me, is this a connection or or is it a stretch?

Merl