I have found unit tests to help my productivity:
- They help me work out how I'd like my code to be organized (classes, methods, etc).
- They help document how to interface with the code.
- Looking at one unit in isolation helps focus on edge cases and hidden assumptions that could bite later on.
- Chunks of code that are reused will have tests already written.
- Both refactoring and bug fixing can be done more efficiently, since you can immediately test whether you broke something else.
If your programs are actually on such a short timeline, and never get updated (even for bug fixes?), then it may make sense to find the right balance between the thorough unit test you'd use for an operating system library and the quick-and-dirty handful of manual tests you'd use for a one-time-use program.
A couple of extra suggestions: First, your productivity with TDD and unit tests will improve with practice. Second, learn and make use of available features of your development environment and addins that accelerate development of unit tests.