What is Agile? Part One

July 24, 2013

Since I’ve been posing and answering questions lately, I thought that I would tackle a broader topic. Before reading on, what is your definition of agile? How do you explain it to people who are new to agile and want to understand more?

Agile development can be difficult for people to initially wrap their heads around because it is not a single, prescriptive process that can be mechanically followed to success. This makes it difficult to define what it means to be truly agile in a succinct, meaningful way. This in turn creates confusion about what agile is.

Interestingly enough, the confusion about what agile is parallels something that has been seen before. While the parallel is from an unexpected source, the similarities are striking (if you will excuse the pun): Bruce Lee’s method of fighting he called Jeet Kune Do (JKD). The similarities include what drove Bruce Lee to create JKD in the first place, what JKD is really all about, selling/marketing change, and something that what we need to be mindful of as we move forward with agile.

Before I walk through the history and similarities between Bruce Lee’s JKD and agile, my conclusion is that – like JKD – agile is really a catalyst and system for change. Agile development starts us down a path that should lead to a transformational change in how we approach developing software.

The remainder of this post will review some of the similarities and explore what I mean.

Dissatisfaction with the Status Quo
Bruce Lee began developing what would evolve into JKD came after he had won a real fight. Despite winning, Lee was disappointed in how long it took for him to win, just as we are often disappointed in how long software projects actually take. If dissatisfaction exists in ways that agile can help, then we have a great starting point: the awareness of the need for change and a desire to make change happen.

Notice that I said “in ways that agile can help.” If the expectation is that software will be delivered with all expected features, on budget, and on schedule (per the initial plan), then we have a problem, right? We forecast with agile, but agile is not plan-driven. It is value-driven.

I won’t delve any further into the issue of plan-driven versus value-driven here. The point is that just as Bruce Lee’s JKD was a different approach to the martial arts, agile development is a different approach to software development than most organizations are used to.

Organizations therefore need to be equipped with an understanding of what agile is and what it is not. They need to be clear on the point that agile is NOT a silver bullet, that it will take time and effort to get right. To obtain the true benefits of agile, people need to be open to making changes and to have what is known as a growth mindset.

The Growth Mindset
Dr. Carol Dweck has studied the different mindsets extensively, and she has found that people who have what she calls a growth mindset believe that it is possible for people to change – substantially. If they want to. Those with a fixed mindset, however, tend to believe that “you are who you are” and there isn’t much that you can do to change.

Bruce Lee clearly had a growth mindset, and this was a key quality that led him to a new path. Lee began to reflect and evaluate everything he had learned up to the point of that pivotal fight, seeking to understand the true nature of fighting. As he looked deeper, he determined that it wasn’t the style that made a great fighter, but rather a combination of knowledge, skill, and attributes.

The takeaways are that we don’t need to ask all agile practitioners to become the equivalent of Bruce Lee-level “agile masters,” but we need to encourage the same desire for personal growth and reflective capacity that Bruce Lee possessed. And we need to ask organizations to recognize that a great methodology is not what will make them great at delivering software because software development is inherently a people-driven process.

This means that we need to focus our attention on developing the capabilities of our people. As Craig Larman and Bas Vodde state in their book, Scaling Lean & Agile Development: “Agility is a quality of the organization and its people to be adaptive, responsive, continually learning and evolving. “

But just what was the change that Bruce Lee championed with JKD, and how does this relate to agile?

Strip Away the Inessentials
A big part of what Bruce Lee advocated was to strip away the inessentials and retain only what was useful. Lee was a proponent of utilizing simple and direct means of attack, stating that, “Simplicity is the shortest distance between two points.” (Tao of Jeet Kune Do )

Interestingly enough, one of the twelve principles of the Agile Manifesto states: “Simplicity – the art of work not done – is essential.” Simplicity should be realized in the following ways:
  • Product Definition: Defining a minimal viable product and/or a set of minimal marketable features.
  • Development Process: Using practices that combine tasks, eliminate steps/hand-offs, and provide feedback as quickly as possible.
  • Management and Oversight: Leverage an approach that is lightweight, customer-focused, empowering, visible, sustainable, flexible and adaptable. “Transparency is the new control system.” – Jeremy Hope
The original signatories of the Agile Manifesto were seeking the same thing for software development as Bruce Lee was for the martial arts. Of course, this is easier said than done.

Selling Change
This can be subtitled as: “Don’t tell people that everything they are doing now is wrong.”

When it came to articulating his message, Lee didn’t pull any punches. (Sorry, I couldn’t resist!) He collectively referred to existing styles and approaches as a classical mess.

I’m actually torn by this (a little). On one hand, a lightening-rod statement like this is a great attention-getting marketing vehicle (a part of me admires Lee’s marketing and promotion capabilities), but on the other hand, Lee didn’t build broad support for his thinking. Putting people on the defensive makes them far less receptive to receiving the message – which puts me in the camp of building support as opposed to attention-grabbing marketing statements.

Let’s recognize that yes, we’ve managed to deliver working software using other approaches, but spend our time talking about what we’re trying to achieve with agile and how application of agile principles will help to strip away those inessentials and make us more effective and productive. We can market around our success stories with agile.

Next week I’ll finish up by looking at the confusion factor with both JKD and agile along with a little deeper looks at what agile really is – and how this parallels Bruce Lee’s Jeet Kune Do. I’ll end with what we need to guard against as we move forward.