November 17, 2008

...Learn TDD with Codemanship

We're Doing Agile. So Why Is Our Code Still Crap?

There's a debate bubbling away on James Shore's blog post about The Decline And Fall of Agile

I waded in a couple of times, and feel so strongly about the points I've raised that I thought I'd copy and paste the second comment here for your delight and delectation:

I work with a lot of teams who are struggling with the apparant paradox "but we're doing Agile, so why is our code still crap?" Very often a little bit of analysis of their end product reveals that they're actually not really doing many of the practices they claim to be.

They might, for example, believe that they're being test-driven, and yet a simple test coverage report might reveal that the majority of their code must have been written without a failing test that required it. Or they might think they're doing refactoring, but a bit of digging reveals a huge backlog of code smells and crippling levels of technical debt, for example. (And, let's be honest, when you actually pair with them, "refactoring" usually just means "hacking about randomly in the code").

It's the most common anti-pattern I see among Agile teams: the "oh, but we're different" syndrome, as they point and laugh at "lesser" non-Agile teams who are, in most practical senses, actually producing software that's no worse.

The first episode of the TV comedy "Nathan Barley" - written by the brilliant Charlie Brooker - has some useful insights into this. In the first episode, down-at-heel journalist Dan Ashcroft writes a scathing attack on fashion victims and new media trendies called "Rise of the Idiots", which is then feted by the very people he was attacking (Nathan Barley in particular), who genuinely believe he was writing about "someone else".

Talking about brilliant Guardian columnists, Malcom Gladwell has written a very thought-provoking piece this weekend on the relationship between practice/application and "genius". The magic number seems to be 10,000 hours - the time it roughly takes to become brilliant in some complex discipline.

Rant II over...

Posted 12 years, 6 months ago on November 17, 2008