TDD is another tool in the toolbox. It has it's place, and combined with good tooling, can make for a great development experience. I use it mostly when adding features to an existing code base. In C#, with modern tooling like Visual Studio, Rider, or ReSharper, you can use your test as a base to start scaffolding methods out with auto generated code, and that can end up being a time saver.
For a brand new product, I'm almost never using TDD. I'm building out a solution in the pattern I want, getting some minimal feature or features up, and then I write tests appropriate to that pattern. Later on I might use TDD to keep working on it, but it can be a burden at the start of projects.
For a brand new product, I'm almost never using TDD. I'm building out a solution in the pattern I want, getting some minimal feature or features up, and then I write tests appropriate to that pattern. Later on I might use TDD to keep working on it, but it can be a burden at the start of projects.