Au contraire: it makes software development a lot more fun, at least in my experience.
However, it back-loads the fun. With usual coding, the fun part is at the very start, you get to see something very quickly. But then the debugging starts, at least if there is any complexity involved, and the fun quickly wears off. You'll figure it out eventually, but by that time you are worn and tired.
With TDD, the not-quite-as-much fun part is front-loaded: you have to really think about what you are trying to do, almost always start with non-GUI code so there are no quick-wins to show off. However, once the you get all the tests to pass you are done and can check in and/or go home on a high note.
If you ever had to hunt down a bug for 2 days in an untested code base, you know that testing brings back the fun of coding. Actually, writing tests is fun as well if it is done with the right levels of abstraction, and if you follow the red-green-cycles.
Comments
TDD is a great way to take the fun out of software development.
Au contraire: it makes software development a lot more fun, at least in my experience.
However, it back-loads the fun. With usual coding, the fun part is at the very start, you get to see something very quickly. But then the debugging starts, at least if there is any complexity involved, and the fun quickly wears off. You'll figure it out eventually, but by that time you are worn and tired.
With TDD, the not-quite-as-much fun part is front-loaded: you have to really think about what you are trying to do, almost always start with non-GUI code so there are no quick-wins to show off. However, once the you get all the tests to pass you are done and can check in and/or go home on a high note.
If you ever had to hunt down a bug for 2 days in an untested code base, you know that testing brings back the fun of coding. Actually, writing tests is fun as well if it is done with the right levels of abstraction, and if you follow the red-green-cycles.