Earlier quoted context omitted.
So you disagree with TDD, but you need to rebuild your system from scratch every 5 years? I feel like this is an argument for TDD. As for throwing away tests; Unit tests are meant to be pretty simple - rule of thumb is you can run a thousand tests in ten seconds. Arrange, Act, Assert - they don't need to be complex, they just need to imprint the intent into the codebase. If the intent changes, by all means remove the…
> So you disagree with TDD, but you need to rebuild your system from scratch every 5 years? I feel like this is an argument for TDD. Not necessarily. If the rewrite is only addressing issues that would have been prevented with tests, then sure, this is clearly an argument for TDD. However, if the rewrite is going beyond what could have been provided by tests, then having a large testing system could actually make the…
1. Wow it made 10k! Lets rewrite
2. Wow it made 100k! Lets rewrite
3. Wow it made 1M! Lets rewrite but let's properly think hard about the future of this product (Introduce tests and more people).
ALWAYS DO TESTING should always be given the context (if budget allows).