In my view if you don’t have comprehensive automated regression testing then you aren’t agile. End of story. Now I appreciate that code coverage alone is not the answer to everything – but it is a good indicator of quality and one that can be tracked easily. Things get really interesting with the integration/system tests and finally the end2end tests. Incorporating at unit tests into the continuous integration build is a must, but it’s even better if the system test are also part of the job. End2End tests can often require more time – but there’s no reason why they can’t be run in regular intervals.

As an ex-programmer, I’ve only dabbled with Test Driven Development – but my experiences have been very positive. And a friend of mine is of the opinion that it leads to better design as well – so I often mistakenly call it Test Driven Design!