Agile Development
Wednesday, March 12th, 2008This week I’ve been on a course on Agile Development (or Agile Delivery, or whatever they want to call it). This time round, it looks like the brainwashing is taking hold much better, and I think I’m starting to accept it a bit.
The key principle that I’ve taken to is that of accepting improvement, not expecting perfection. I have all sorts of arguments against Agile, but when they are challenged against that principle, I have to acknowledge that we don’t do them perfectly now, and we will continue to not do them perfectly in the future, but we may not do them any worse, and it’s possible we may do them better under Agile. (That sentence was clearly too long. I apologise to any reader who suffered mental trauma in reading it.)
From my own perspective in software design, Agile definitely has a significant risk of getting the design wrong because enough time wasn’t taken over it, and then having to re-develop based on a corrected version. But this happens anyway. The difference is that in Agile, the developers should only get 2 weeks down the road before it will be spotted, so reversing it shouldn’t be a major crisis. Or at least that’s what the theory says anyway.
The idea of accepting improvement also seems like a reasonable idea in life. Often we over-analyse a situation trying to find a perfect outcome, which may not actually exist or be achievable. Sometimes, it’s enough that things get better.