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.
Posted by Jeffrey Fredrick at October 10, 2005 10:08 AM
TrackBack URL for this entry:
I'm not sure I completely agree with the analogy. In accounting, balancing books *is* the product. Most software companies view the software they sell to the customers as the product, not internal tests. Perhaps if management (or customers) viewed tests as the product, things would change. Ship the product and the tests.
The books are the product but if you were using only single-entry bookkeeping you could avoid all that tedious balancing, right?
I think the analogy holds, even to the point of supporting the view that the system and the tests for it are jointly the product.
Posted by: Jeffrey Fredrick on October 14, 2005 09:12 PM