TDD Next Year

I had two major practices to put in place to improve our overall software development for this fiscal year.

  1. Implementing Test Driven Development with a target of 70% unit test coverage.
  2. Implementing frequent, lightweight code reviews.

Easy enough, on number two we’ve been fairly successful and will continue to tighten things up over the next year. Crucible has proved to be a good lightweight tool to help enable this.

On number one I suspect we’re at the same place a lot of development shops end up especially if they aren’t already XP shops. We’re doing a bit of TDD, but the bulk of the unit tests are written after the code sometimes days or weeks after the code. Thus we lose a lot of the design benefit. As a bonus it feels more like a chore when you write the tests later.

On a positive note, we’ve come a long way and the developers see many of the benefits of having a good set of tests around your code. And all pretty much all of the code developed this year had 70% or greater test coverage.

Next year is likely to see another goal of going from unit testing to TDD.