Testing is Important

Reading a quoted entry over at DeveloperTesting.com:

I have been consulting for a number of teams that have adopted Agile Methods, including TDD. One common issue I have found is that developers drop the discipline of TDD in the face of schedule pressure. "We don't have time to write tests" I hear them say. Before I comment on the absurdity of this attitude, let me draw the parallel. Can you imagine an accounting department dropping dual entry bookkeeping because they've got to close the books on time? Even before SARBOX such a decision would be such a huge violation of professional ethics as to be unconscionable. No accountant who respected his profession, or himself, would drop the controls in order to make a date.

I completely agree with the above sentiment. However, the notion that developers are absurd for acting this way is, itself, a bit absurd.

It's fundamental: the people pushing the schedule pressure aren't the ones doing the testing. Or, more simply, most managers don't understand TDD. They understand that the numbers have to add up. They understand that the software has to work. But most wouldn't understand that the tests need to work in order to have insurance that the software works. They want a final product, not excuses that the final product is done but we have to run some "tests" on it.

Yeah, in an ideal world the project schedules and deadlines would be handled by people experienced in programming - people who understand the value of TDD. But in many cases, they're not. And thus, as long as managers don't understand the value of TDD, we're forced to live with tests that fail.