Recently on episode 5 of the DQMH podcast, Chris interviewed Joerg of Hampelsoft. There was a lot of good conversation, but one of the things that stuck with me was the idea of Debug Driven Development. That is writing code in such a way that it is easy to debug when things go wrong.
I think debugging is very important, but how do you do Debug Driven Design (DDD)? Just like Test Driven Development is about writing the tests first, DDD is about putting the debugging hooks in place first. This means having logging and error handling system in place first before you start building out your application. Then as you are building it, debugging becomes trivial.
Writing logging and error handling capabilities first is something I have always strived to do, but I never really had a name for it. Thanks to Joerg (and I’m sure Steve and Fab as well) I have a name for it.