The Pragmatic Programmer: From Journeyman to Master
Refactoring: Improving the Design of Existing Code
Design Patterns: Elements of Reusable Object-Oriented Software
Test Driven Development: By Example
Test-Driven Development in Microsoft .NET (Microsoft Professional)
Pragmatic Unit Testing in C# with NUnit, 2nd Edition
Agile Retrospectives: Making Good Teams Great
Extreme Programming Explained: Embrace Change (2nd Edition)
Agile Project Management: Creating Innovative Products