How Agile Are You?

May 12 2009 Published by Bryant under Programming

Recently I’ve been reading all the classics of Agile development. I’ve been studying Refactoring by Fowler. I’ve been looking at how best to do TDD in .NET. And I’ve been reading how to maintain legacy code in an agile way.

But it’s hard to read the agile literature without feeling a little bit guilty and little bit like it’s a religion. Either you’re agile or your not. And if you’re not introducing agile ideas into wherever you program then you’re behind the times.

I have to wonder, for the average developer, how agile are you?

gymnast1

Let’s find out, shall we? I’ll give you a little quiz and you answer yes or no:

The Agile Quiz

  1. Do you write tests before writing code?
  2. If code looks bad (ie – Code Smell), but works just fine, do you clean it up?
  3. Do you welcome late changes in requirements?

If you answered yes to all of these, CONGRATULATIONS! You’re agile!!!

But in my experience you’re in the minority. In fact, in my long programming career, I don’t think I’ve met anyone that follows all these steps.

In Theory Only?

Don’t get me wrong, I think they are great ideas in theory, I’m just not sure how practical they are and if they really get implemented anywhere or if architecture astronauts just give them a lot of lip service — “Oh yeah, we’re an agile shop!”.

Maybe I’m being too literal though. Maybe no-one ever achieves 100% on the agile quiz. I guess that’s why they’re defined as a loose set of principles in the agile manifesto:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: * Individuals and interactions over processes and tools * Working software over comprehensive documentation * Customer collaboration over contract negotiation * Responding to change over following a plan

By leaving them as principles, they can be seen as goals that we all strive for in our development rather than something that can be fully achieved. Personally, I like the sound of that. Because, in theory, I really like the agile ideas. Plus, I don’t have to feel so guilty about not following them all the time ;)

View Comments