UPDATED Jul 3rd 2013: Added Art of Unit Testing Version 2
UPDATED Apr 11th 2013: Added Instant TFS 2012 and Project Server 2012 Integration How-to
UPDATED Jan 12th 2013: Added Prof TFS Server 2012, TFS 2012 Starter, Pro ALM with VS 2012 and VS 2012 Cookbook
UPDATED Dec 8th 2011: Added Kanban book by David Anderson
“Send me a list of books to read” – that is what I am often asked. No more, as this list is an answer to those request!
I have divided it into different subject areas, and each area hold a small number of the books I have found most appropriate and covering for that area. I do love reading books, and there are so many good ones, but the list can’t go on forever. If you feel there are books I have not listed that you feel should be on this “recommended book list” please send me a comment. I also know some subjects are missing, don’t fret, I will add to the list over time.
I have also added links to most of the authors blogs, which can be just as useful as their books .
TFS and Visual Studio
Title | Author | Subtopic | Comment |
Software Testing with Visual Studio 2010 | Jeff Levinson | Testing | This is a very good book covering how to use Visual Studio Test Manager to perform testing in the way the tool was intended to be used. |
Professional Team Foundation Server 2012 Professional Team Foundation Server 2010 |
Ed Blankenship, Martin Woodward, Grant Holiday, Brian Keller | TFS Server | The authoritative book on the TFS Server. |
Team Foundation Server 2012 Starter | Jakob Ehn, Terje Sandstrom |
TFS Server | My own book with Jakob, a basic short starter guide for beginners to the TFS Server 2012. |
Instant TFS 2012 and Project Server 2012 Integration How-to | Gary P. Gauvin | TFS and Project Server | Integrating TFS 2012 and Project Server is very useful for Project Managers and management to both get an overview of projects in TFS and to manage them. This book covers the essentials to get this up and running. |
Pro Application Lifecycle Management with Visual Studio 2012 | Joachim Rossberg, Mathias Olausson | ALM with TFS/VS | A great book on ALM with Visual Studio 2012 and the TFS Server |
Professional Application Lifecycle Management | Mickey Gousset, Brian Keller, Ajoy Krishnamoorthy, Martin Woodward | ALM with TFS | This book is on how the TFS tool suite covers the different roles in an ALM process, Architect, Developer and Tester, and also introduction to TFS server and process management with TFS. |
Visual Studio 2012 Cookbook | Richard Banks | Visual Studio | A great book on Visual Studio with recipes on the features of VS, includes material on Windows 8 and Store apps. |
Agile Software Engineering with Visual Studio | Sam Guckenheimer, Neno Loje |
ALM with TFS, Process | A very good book on Agile techniques with TFS. It is a very good read for project managers and those who want a good overview on best practices in Agile engineering. |
Professional Scrum with Team Foundation Server | Steve Resnick, Aaron Bjork, Michael de la Maza | Process | This book is not only on Scrum for TFS using the Scrum template, but also a very good book on agile techniques in general, but directed at the TFS. |
Using MSBuild and Team Foundation Build | Sayed Ibrahim Hashimi, William Bartholomew | Build | Great book covering how to customize the MS Build and TFS Build processes. |
Code quality
Title | Author | Subtopic | Comment |
Effective C# and More Effective C# | Bill Wagner | Coding | Taken after Scott Meyers famous similar books on C++ these books are a very good list of best practices techniques for C#. These books are MUST reads for developers. |
Framework Design Guidelines | Krzysztof Cwalina, Brad Abrams | Coding | Guidelines specially aimed at frameworks and libraries, but most of the stuff is generally applicable. |
Clean Code | “Uncle Bob” Robert C. Martin | Coding | Great book on coding practices by “Uncle Bob”. |
The Art of Unit Testing Ebook version only | Roy Osherove | Unit Testing | The authoritative book on unit testing (pdf/kindle/ePub version with hardcopy or bought separately from Manning web site). Version 2 out in Aug 2013, eBook version available now from Manning site, see 2nd link. |
Refactoring | Martin Fowler | Refactoring | The seminal book on refactoring |
Working effectively with Legacy Code | Michael Feathers | Refactoring | The book contains a series of patterns for how to work and refactor legacy code. |
C++ FAQs | Marshall P.Cline, Greg A. Lomow, Mike Girou | Coding | An old but very good classic FAQ guideline books. It is still very valuable, and should be useful for both C++ and C# developers. Lots of very good advices. |
Implementation Patterns | Kent Beck | Coding | A very nice book on best practices coding. Examples in Java, but just as valid for C# |
Effective C++ and More Effective C++ and Effective STL | Scott Meyers | Coding | Fantastic books on C++ best practices. Catalogue of 3 x 50 coding patterns for C++. |
Design and architecture
Title | Author | Subtopic | Comment |
Design Patterns | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides | Design patterns | THE book on design patterns. |
Design Patterns explained | Alan Shalloway, James R. Trott | Design patterns | A very good book explaining the patterns in a very good and easy to follow manner |
Head First Design Patterns | Elisabeth Freeman, Eric Freeman | Design patterns | A very fun and easy read book on design patterns. The style is very humorous and in my opinion the best book in this series. |
Domain driven design | Eric Evans | Design | An essential book on proper and correct software design. Domain design, usually the center of business logic are often neglected and poorly understood. This book explains it all. |
Patterns on Enterprise Application Architecture | Martin Fowler | Architectural patterns | An essential book on application patterns, explaining the basic patterns which governs most proper made applications and frameworks. |
Applying UML and Patterns | Craig Larman | UML, Design Patterns | Another classic, it covers both how to use UML and also some fundamental design patterns, called the GRASP. |
Large Scale C++ Software Design | John Lakos | Design | A great classic book. Although it says C++, it is more valuable as a general book on software layering, and how to organize components, layers and levels. |
The Timeless Way of Building | Christopher Alexander | Architecture | This book is not originally intended for software people, but for building and city architects. It has become the de-facto fundamental book on software architecture too, simply because Alexander lifts out the theory and it applies just as well to software as to general architecture. |
Testing
Title | Author | Subtopic | Comment |
xUnit Test Patterns | Gerard Meszaros | Unit Testing | A very good test pattern catalogue book. Explains what to do based on pattern thinking when things go wrong, covers best practices for how to design and code unit tests. |
Software Testing with Visual Studio 2010 | Jeff Levinson | Manual and Automated Testing | This is a very good book covering how to use Visual Studio Test Manager to perform testing in the way the tool was intended to be used. |
Test-Driven Development | Kent Beck | Unit Testing | A fundamental book from the leading Kent Beck and creator of TDD. Read and enjoy! |
The Art of Unit Testing | Roy Osherove | Unit Testing | A great book covering a lot of what you need to know, mocks, stubs, frameworks and best practices. |
Process
Title | Author | Subtopic | Comment |
Kanban | David J. Anderson | Process | A very good book on Kanban and related thinking, lot of good stuff that is useful to anyone going to make changes in their way of making software |
Agile Software Engineering with Visual Studio | Sam Guckenheimer, Neno Loje |
ALM with TFS, Process | A very good book on Agile techniques with TFS. It is a very good read for project managers and those who want a good overview on best practices in Agile engineering. |
Professional Scrum with Team Foundation Server | Steve Resnick, Aaron Bjork, Michael de la Maza | Process | This book is not only on Scrum for TFS using the Scrum template, but also a very good book on agile techniques in general, but directed at the TFS. |
Agile Project Management with Scrum | Ken Schwaber | Process | Ken Schwaber is the father of Scrum. This is his book. Read it! |