Test-driven development as a defect-reduction practice
Extreme Programming Explained: Embrace Change