A little bit more than 2 weeks ago I started to work at a new company. One of the goals is to help in the adoption of Agile, specifically Scrum and some XP practices.
So today I started to put together a list of books I will like my team to read. The list started to grow so I decided to do some triage.
First, let me stat that I think that all the books in these lists are extremely valuable and the only reason I divided them in different lists is because of time concerns.
I’m leaving some very process oriented books out of the list. I’m trying to keep it fairly technical and technology agnostic.
I’m pretty sure that I’m missing some good ones from the list, but I think this is a good start (see below some suggestions from you, my dear readers).
List of books that should be read.
Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin
Test Driven Development: By Example
The Art of Unit Testing: With Examples in .Net
Refactoring: Improving the Design of Existing Code
Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Agile Principles, Patterns, and Practices in C#
Robert C. Martin, Micah Martin
Douglas Crockford Douglas
List of books that (also) should be read.
Refactoring to Patterns
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt, David Thomas
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
xUnit Test Patterns: Refactoring Test Code
Growing Object-Oriented Software, Guided by Tests
Steve Freeman, Nat Pryce
Restful Web Services
Leonard Richardson, Sam Ruby
For designers and/or developers that work in UI
Designing with Web Standards
Jeffrey Zeldman, Ethan Marcotte
Handcrafted CSS: More Bulletproof Web Design
Dan Cederholm, Ethan Marcotte
The missing books
Suggested by Jack Carlton
Code Complete 2: A Practical Handbook of Software Construction
Ship it! A Practical Guide to Successful Software Projects
Release It!: Design and Deploy Production-Ready Software
Michael T. Nygard
The Mythical Man-Month: Essays on Software Engineering
Frederick P. Brooks
Suggested by Ron Myers: