- Write a test
- Make it pass
Later Steve discussed the fact that TDD enables you to defer your decisions, for example giving you confidence in refactoring situations.
- Forces the developer to put themselves in the place of the caller of the code.
- Forces a fine grained modular fashion.
- Keeps them neat and clean.
- Most of time is spent reading code.
- Include debugging time - if you get good at this, debugging time drops dramatically.
- Reliable code lets QA focus on larger issues.
- It becomes critical when you scale up - it enables you to scale up cheaply and safely - particularly around teams.
TDD Yahoo Groups