I find that unit testing is more than just a useful thing to do, it is also a responsibility of the developer. If you release code that hasn't been written to pass a valid and comprehensive set of unit tests, you could well be delaying your project, or causing issues in someone else's packages, classes, etc.
In addition, you should be in close contact with your customer (even if it is your own company), and try and encourage them to do comprehensive acceptance testing. It is in their best interests (although I have found that some companies are resistant to the idea, because of the short term outlay of time required to perform the testing, despite the amount of time it will save if the product doesn't do exactly what they want).
Edit
So, yes, I guess the point I am trying to say is: yes, I do see Test Driven Development as the way to go. Another thing I didn't mention of course is the fact that the tests help document the code. You will know what the methods are supposed to do, and you will be sure that they still do when you make changes at any later stage.