A structured experiment of test-driven development
Extreme Programming Explained: Embrace Change