Just saying "We're Agile" is not enough, apparently

Haut Tec » Agile is an Attitude, Not a Method

So it turns out that you can't just say, "We're Agile," throw all discipline out the window, and have a successful project! Who knew?

To paraphrase Casablanca's Captain Renault, "I am shocked, shocked to find that people are using Agile as a cover for sloppy coding!"

Now, the team in the article above had the persistence and good sense to work through their issues and realize the benefits of agile development, but many of my company's clients have not been so wise/fortunate.
Some developers, rightfully fed up with the constraints of waterfall development, have staged a revolution at their companies. They went to management waving some Wikipedia article about Agile development and said, "Look! We can be four times as productive and give you your application at a fraction of the cost if you just let us go Agile! It removes all that nasty overhead and lets us go back to writing code, which is what you ostensibly hired us to do in the first place!" And management, momentarily stunned by hearing a developer use the word "ostensibly," agreed to the experiment.

Of course, what the developers really wanted was to stop writing documentation and going to meetings and just write code. What they forgot was that without the documentation and the meetings, they had no requirements, and without the requirements they had no test cases. So now they were free to write code, but they had no idea what to write. So they started holding "scrums" and "story sessions" and generally wandering the halls begging for requirements or, worse, making them up themselves, and they got themselves into a mess. When they finally did get to write some code, there was no way to test it because the QA team was still waiting for the documentation that told them what the code was supposed to do.

After a few months of wandering in the Agile wilderness, these developers and their management team threw their hands up in disgust and said, "Agile doesn't work! Let's go back to the old ways!" And like the Israelites longing for the fleshpots of Egypt, they ran back into the comfortable, if inefficient, slavery of waterfall development.

It turns out that the laws of organizational physics still apply: a certain amount of discipline is required in any human endeavor to balance the natural entropy generated by humans working together. If you relax the rules for the group around documentation, signoffs, and strict order of operations, you must balance that with responsibility at the individual level to ensure that handoffs are clean, requirements are clearly understood, and, ultimately, the code works as expected.

Done right, Agile development is a highly disciplined, flexible approach that clearly outstrips the competition. When developers, analysts, and testers take personal responsibility for understanding their tasks, communicating decisions to the rest of the team, and delivering on their commitments on a daily basis, any team can "go agile." Relax the rules without that balance, however, and you get chaos.

Or, put another way...

Come and see the violence inherent in the system!
Post a Comment

Top Posts

The Giving Season

Wanted: Someone to Make My Life Easier

Do You Really Want to Be CTO?