April 2, 2006

...Learn TDD with Codemanship

Mortgage-driven Development

From time to time I come across people who seem hellbent on making things as complicated as possible. It's no secret that I'm a fan of Test-driven Development, and have adapted the basic principles so they can be applied to metrics and process improvement.

I love the idea of setting testable goals, and then doing only what you need to do to satisfy the goal.

Do the simplest thing that could possibly work

So you can probably imagine how frustrated I get working with people whose mantra appears to be:

Make the biggest mountain you can out of any molehill

Spring is here in the UK, and last week I was enjoying a coffee by the canal in Camden Town with my erstwhile brother Antony.

Anyhoo, we were bemoaning those people who make things as complicated as possible, and it suddenly hit me like a bolt through the brain - what if these people really are doing the simplest thing that could possibly work, only their goals are not what we think they are?

If you want to deliver working software in a timely and economical manner, for example, then hiring dozens of inexperienced "cheap" developers makes no sense. It'll take them much longer to deliver and the software will be crappy, full of bugs and will need an even bigger team to maintain it after the first - almost certainly very late - release, and it'll cost many times more to boot.

Like I said, if your goal was a successful project, then this strategy would make no sense. But what if your goal was to pay off your mortgage? The longer it is before you're not needed any more, the more payments you can make. All of a sudden, the strategy makes perfect sense. It's a simple way of paying off your mortgage by stretching projects out and making yourself indispensable for as long as possible. You might even be earning a cut for every team member (that's what we call "advanced Mortgage-driven Development").

They're not as stupid as they look, y'know...

(Next time I'll talk about Mortgage-driven Architecture)
Posted 1 week, 1 day ago on April 2, 2006