++. The thing about tests is they feel foreign at first and like a huge hit. I think it’s probably three times harder to write the tests than the code; ballpark, back of the napkin. So a one month project might be a four month project if all testing, fixtures, mocking, and build niceties are met. The thing about that is that it cuts debug and future related development and refactoring and customer upset time—and maybe training time since reading tests is a perfect way to learn a code base—down geometrically. So a two day bug is a two hour bug. It won’t make those three months up immediately but after a year… it’s probably paying interest and dividends.
And tests eventually become fun to write. At this point, I enjoy writing tests almost as much as greenfield code and much more than dealing with legacy code.