Trouble with TDD is that it doesn't fit product development.
1. TDD isn't faster than simply writing test cases down, and executing them manually, especially when UI is involved.
2. TDD quadruples the amount of work needed for any given change.
3. TDD is the opposite of agile where you try to ship some product to the user ASAP to get feedback before spending time to refactor and clear technical debt. Write tests only for features that are confirmed so you don't spend time and effort on stuff people don't want.
4. Similar point as 1, but you need to evaluate if making something easy to test is worth the time savings than just running the test manually.
1. TDD isn't faster than simply writing test cases down, and executing them manually, especially when UI is involved.
2. TDD quadruples the amount of work needed for any given change.
3. TDD is the opposite of agile where you try to ship some product to the user ASAP to get feedback before spending time to refactor and clear technical debt. Write tests only for features that are confirmed so you don't spend time and effort on stuff people don't want.
4. Similar point as 1, but you need to evaluate if making something easy to test is worth the time savings than just running the test manually.