In my experience a lot of teams that wants to start using test driven development did not write a lot of unit tests before they started to use TDD. And even if they did they often experience a feeling of getting “slowed down”. So why do teams bother to do this? Well I don’t think you’re slowing down. You might take a more time to complete a feature in terms of how much time you’re spending on writing the first version of the feature. But you must remember to think about the process as a whole. Typing code is not all you do as a developer. You do other things too such as debug. And if you reduce the time in the debugger you are more productive, right? So the reasons for adopting TDD are very similar to the reasons to adopt pair programming as discussed here. When it comes to TDD there is actually a pretty good report (if you like numbers) that show how TDD is better for you even if you already were writing tests after wards. And if you don’t like numbers I would read this (actually read it even if you like numbers because it is funny).