Is TDD a good practice? Yes! TDD helps to ensure that code is well-structured, maintainable and bug-free. #TDD #SoftwareArchitecture
@Kanekotic like most software development practices I feel #TDD has a time and a place.
I believe any nontrivial code base will benefit from TDD with *fewer* bugs and cleaer code however things like rapid prototyping and exploratory work that will be thrown away later can be drastically slowed down.
I also, personally, find it tricky to learn a new language, library or framework via TDD and instead try to grok the fundamentals then come back to testing after I've managed to get a few hours of experience under my belt.
Ultimately TDD is another tool #agile teams can choose to utilise or not.
Yeah, I agree and try to TDD anything that'll be in prod. I am a TDD proponent! 🙂
Avoiding over engineering is indeed another great reason to use TDD.
Years of being a consultant have shown me you don't need TDD to build a production system but you'll have a considerably more maintainable system if you do!