In my first big project after university, a RPC API, I used test driven development and it felt really good. I had about 300 tests in the end and if I changed something, a few would blow up and I could fix it.
But it slowed development down massively.
In the start because I had to set up the testing as I had to setup the real software.
Then I had to mess around with the testing framework as I had with the projects frameworks.
Also I had to write features AND write their tests.
And later in the project, when new features broke old stuff not only the features had to be fixed but also the tests.
I don't know, but I had the feeling that the time I spent with the test-code was the same I would have spent with fixing possible bugs later.
But it slowed development down massively.
In the start because I had to set up the testing as I had to setup the real software.
Then I had to mess around with the testing framework as I had with the projects frameworks.
Also I had to write features AND write their tests.
And later in the project, when new features broke old stuff not only the features had to be fixed but also the tests.
I don't know, but I had the feeling that the time I spent with the test-code was the same I would have spent with fixing possible bugs later.