Let's Code: Test-Driven JavaScript, my new screencast series on rigorous, professional JavaScript development, is now available! Check out the demo video here.


Cargo Cult Agile

14 May, 2008

Commentary on The Art of Agile Development's Stand-Up Meetings practice.

Back in the 40's, the story goes, American troops landed on a remote island. The natives of the island had never seen modern civilization before, and were amazed by the men and materials Allied forces brought by the island. They watched the troops set up an airstrip and a tower, don headphones, and call great metal birds filled with valuable Cargo down from the heavens. When the bird landed, shares of the Cargo were distributed to all of the islanders, bringing prosperity and comfort.

One day, the troops left, and the great metal birds stopped arriving. Missing their Cargo, the islanders made their own airstrip out of woven bamboo. They constructed a tall platform, placed their chief on the platform, and had him don coconuts carved to look like headphones. But no matter how hard they tried, the great metal birds never returned.

Decades later, researchers found the island. The natives still donned coconut headphones and called to the heavens... to no avail. They named the islanders' odd religion a Cargo Cult.*

*I first saw this story in the writings of Richard Feynman. Wikipedia says it's based in reality. Steve McConnell has also riffed on this subject.

Cargo Cult Agile

The tragedy of the cargo cult is its adherence to the superficial, outward signs of some idea combined with ignorance of how that idea actually works. In the story, the islanders replicated all the elements of cargo drops--the airstrip, the controller, the headphones--but didn't understand where the airplanes actually came from.

I see the same tragedy occurring with Agile. Many of the teams I know have adopted just two aspects of agile development: stand-up meetings and biweekly planning sessions. Nothing else.

But you know what? Stand-ups are one of the least important aspects of agile development. In a way, they're an admission of failure.

Okay, I'm exaggerating. A bit. But consider this: one of the values of Agile is communication and collaboration. The daily stand-up meeting exists to promote communication. But if the team really collaborated well, would it be necessary? Your team really should be sitting together, pairing, and sharing ownership of their work. If they're really doing that... really doing it... the stand-up doesn't add much value.

So I see these Cargo Cult Agile teams following the rituals of agile development without understanding the underlying ideas. They have a daily stand-up meeting, but they don't collaborate. They plan every two weeks, but they don't deliver.

It's probably inevitable that teams water down and misunderstand agile development. It's unfortunate, though--and a little ironic--that a set of methods created to reduce meetings and waste is being abused to increase them. Cargo Cult Agile teams often go from a weekly one-hour meeting to daily half-hour meetings. This is not an improvement.

Stand-up meetings are a neat tool, but they're hardly the core of agile development. Beware Cargo Cult Agile. Don't use stand-up meetings to avoid real communication and collaboration.