On the Sustained Use of a Test-Driven Development Practice at IBM
Iterative and incremental developments. a brief history