Why is TDD so boring?

I'm absolutely not a marketing guy, but I used a small ploy with the title, and it worked; you are reading, aren't you?

Test Driven Development (TDD) is actually fun and not boring. That's my sincere opinion. Perhaps the reason is one of the following:
  • It might be that "what is new is fun". Using TDD is a different way of programming compared to what most of us are used to from before. To start by writing tests. And only writing real code in order to make a failed test execute successfully.
  • Perhaps the reason is that we get good productivity in the projects from start to finish. Instead of finding the bug rate increasing late in the project, the quality can be high even through pretty dramatic and late change requests are being dealt with.
  • Another probable reason is that we like the instant feedback. Did that change break anything? Compare it to how it was a few years ago when the compilation was done only at night time and you learned about compilation errors the morning after...
  • It's fun to deliver high quality. It appeals strongly to our sense of professionalism.
Perhaps the reason is more a combination (as always) of the above.

When I started with TDD, I did it mostly because I thought it was something I should do in order to increase quality in my projects. I didn't expect it to be fun. That came as a pleasant surprise.