<story><title>Test-driven development: A great idea hiding behind a terrible implementation?</title><url>https://itnext.io/test-driven-development-is-dumb-fight-me-a38b3033280c</url></story><parent_chain><item><author>Illniyar</author><text>He&amp;#x27;s right, but also wrong. It really depends on what you are developing.&lt;p&gt;TDD is awesome when fixing bugs (as opposed to writing features), when writing straight up business logic (especially when there are a lot of edge cases) and when you know exactly how something is going to work.&lt;p&gt;It&amp;#x27;s really bad when doing anything that requires exploration and research (which is the example in the article).</text></item></parent_chain><comment><author>moksly</author><text>I work for a Danish municipality and we buy quite a lot of development from various software houses. Being the public sector we track and benchmark almost everything, and we actually have a dataset on automated testing that’s been running for two decades.&lt;p&gt;It’s hard to use the data, because we’re comparing different projects, teams and suppliers but our data shows no advantage in choosing the companies that are very test-focused.&lt;p&gt;They are often slower, more expensive but have the same amount of incident reports as the companies which tests less or doesn’t do automated test at all.</text></comment>
<story><title>Test-driven development: A great idea hiding behind a terrible implementation?</title><url>https://itnext.io/test-driven-development-is-dumb-fight-me-a38b3033280c</url></story><parent_chain><item><author>Illniyar</author><text>He&amp;#x27;s right, but also wrong. It really depends on what you are developing.&lt;p&gt;TDD is awesome when fixing bugs (as opposed to writing features), when writing straight up business logic (especially when there are a lot of edge cases) and when you know exactly how something is going to work.&lt;p&gt;It&amp;#x27;s really bad when doing anything that requires exploration and research (which is the example in the article).</text></item></parent_chain><comment><author>simonh</author><text>One thing to consider I think is that TDD isn&amp;#x27;t just about the tests. It&amp;#x27;s also about architecting the software into small functions and lightweight classes, which are easy to write concise tests for and then implement incrementally. To TDD advocates, this resulting characteristic of the code is a valuable goal in itself, even just as a side effect of TDD.</text></comment>