« April 2007 »
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Where's Dave?
Mobile version


Tuesday, 3 April 2007
Is agile's greatest strength also its most significant risk factor?
Topic: Human factors

It sometimes seems as if the strengths of a thing also contain the seeds of its demise. For example, the celebrated individualism of Americans has enabled many impressive achievements over the years. And yet, the very same individualism has led to the United States having an appallingly poor healthcare system, compared with what one would expect for a nation of such wealth.

What Kripanidhi sees as "fragility" in agile software development may be another example of the same phenomenon.

The key strength of agile development is its emphasis on people over process, as expressed in the very first point of the Agile Manifesto. The people over process mentality is what enables us to avoid most of the problems inherent in process-centric approaches to software development; problems that have never been solved merely by refining the process itself.

But this strength brings with it a risk not present in traditional methods. Traditional methods are designed to limit the extent of both success and failure, by taking it as axiomatic that people cannot be trusted, and defining elaborate checks and balances to prevent anyone's individual choices from going too far without cumbersome review and systematic discouragement. "Process" cannot distinguish between good and bad ideas, so it errs on the side of caution and stifles all ideas outside the parameters of its prescriptive definition.

Thus, with a traditional approach, spectacular success is impossible; but catastrophic failure is nearly so, as well. The fear of catastrophic failure outweighs the hope for spectacular success, so people exchange the chance of spectacular success for the hope they can avoid catastrophic failure.

Agile takes process out of people's way. This leaves them completely free to succeed spectacularly, to an extent traditional processes would quash by design. But people are equally free to fail spectacularly, beyond the limits traditional processes would permit. There is no safety net.

To be successful with agile methods, people have to exercise a level of professional discipline far in excess of that required to deliver "acceptable" (or at least, "typical") results under a traditional approach. They have to live and breathe principles such as transparency, collaboration, and courage - personal traits that would quickly get a person fired in a typical 1980s-style organization. And that discipline must be founded on a clear understanding of value and how to deliver value; a simple knowledge of how to follow a sequential process is not sufficient.

This sort of change is not a matter of memorizing a few new buzzwords and following a slightly different "cookbook" process than before. It is a truly fundamental shift in thinking. Perhaps that is why people who have not been able to wrap their heads around the real meaning of "people over process" interpret troubled agile projects as evidence that "agile is fragile", rather than recognizing that those cases offer opportunities for learning and for continuous improvement.

Thus, the emphasis on people over process may be both agile's greatest asset and its most risky downside.


Posted by Dave Nicolette at 4:38 PM EDT
Post Comment | View Comments (4) | Permalink

Friday, 13 April 2007 - 6:20 PM EDT

Name: "Wille"
Home Page: http://faler.wordpress.com

I'd rather take my chances with "fragility" and average people in a people-over-process environment, than the success of a old school "formal" project with brilliant people:

I was once on a project where I met some of the most brilliant people I have ever met. There where definitely at least five or six people who would be head and shoulders over most other people I have worked with, in terms of skill and mentality.

..yet the project was a train-wreck: all these people had their hands tied and mouths gagged by "process", mindless process, reviews resulting in design-by-committee, and design by fear made these brilliant people (me included) useless by basically making them into monkeys and tech secretaries with no authority over anything without running it past a committee and a five week discussion-panel, where eventually the least informed and least knowledgeable manager got to make low-level technological decisions. The project actually had more managers than people doing things, and probably around 100 people working on it.

..it wasn't rocket science, all it would have taken would have been to take the leash of the smartest 5-8 people and let them run with it, and the project would have been done in 5 months. To the best of my knowledge, that project is still going on after years.. 

 Just a small cautionary tale from reality about how distrust in people, and fear of failure as a driver for "traditional" process can make the most brilliant of people become part of a project that is like a spectacular train-wreck..

Friday, 13 April 2007 - 6:28 PM EDT

Name: "Wille"
Home Page: http://faler.wordpress.com

On a sidenote with regards to your note on the "appallingly poor healthcare system" of the US:

I think it is a national past-time in most western societies to moan about their healthcare system. From what I've heard, having to wait for months or even years for surgery is almost unheard of in the US (if you have insurance cover that is..), as is waiting for hours on end in the Emergency Room.

In most parts of Europe (UK and Sweden in particular) these things are par for the course: I once had to wait around for 8 hours in the ER with a dislocated finger sticking out at an inhumane angle. My mother almost died on the waiting list for having a brain tumour removed: first five months on the waiting list, then an additional two months over the summer because "it was the summer holidays". 

Sunday, 15 April 2007 - 4:15 PM EDT

Name: "Dave Nicolette"
Home Page: http://www.davenicolette.net/agile

Unfortunately, both your cautionary tales are all too common - the one about heavyweight processes, and the one about healthcare services.

 

Friday, 9 January 2009 - 10:35 AM EST

Name: "Ryan"

I don't agree that "Agile takes process out of people's way". People over process doesn't mean you simply abandon process. It means that you give people guidelines and let them come up with their processes so they can work effectively in their own way to achieve the goals taking the guidelines into account.

If you don't have process, you can't hope to continuously improve because you won't know what you're trying to improve.

I do agree that Agile is hard and you need lots of discipline. Once you realize that the principles behind Agile start to reinforce each other (continuous integration, TDD, short releases, quick and short planning based on current goals, pair programming...), you realize the power of putting those principles into practice. It takes great discipline to do these things every day, but the rewards are worth it.

View Latest Entries