November 2002
Intermediate to advanced
240 pages
5h 9m
English
Martin Fowler
One of the hardest things to communicate about test-driven development is the mental state that it puts you in. I remember a session on the original C3 project with Ralph Beattie where we had to implement a complicated set of pay conditions. Ralph broke them down into a set of test cases, and off we set one by one to make them work. Progress was steady and unhurried; because it was unhurried it seemed slow, but looking back on how much we got done, it was clear that despite the unhurried feeling progress was really fast.
Despite all the fancy tools that we have, programming is still hard. I can remember many programming times when I feel like I was trying to keep several balls in the air at once, any lapse of concentration ...