Working Effectively with Legacy Code by Michael Feathers – Do you have legacy code? Does your code include areas that are untested and tightly coupled? Yes? Then you have legacy code. Michael focuses on the problem of teasing apart legacy
Refactoring: Improving the Design of Existing Code by Martin Fowler et al – One of the original Agile related books. It defines the concept of refactoring (personal bugbear – refactorings are small changes that don’t affect the behavior of the code), explains how to practice it and catalogs over 70 refactorings.
Test Driven Development by Kent Beck – The original TDD book. Clean, bug free, simple code. That is the promise of TDD. Its that simple nothing more to say. BTW the examples are in C# so some of the details won’t apply to Java/Ruby/Python coders.
Late Breaking news: J.B. Rainsberger introduced me to: Test Driven: TDD and Acceptance TDD for Java Developers by Lasse Koskela. I’m only about 120 pages in, but so far am very impressed. Its even caused me to change a few of my habits – specifically which test I choose to write first.
Another Late Breaking item – Robin Dymond gave this one a very strong recommendation: xUnit Test Patterns: Refactoring Test Code by Gerard Meszaros. I’ve not read this yet – but Gerard covers Test Smells and Refactoring. In other words how to spot trouble your test code and repair the damage.
Refactoring to Patterns by Joshua Kerievsky. Have mess, want to bring some order to it.
Head First Design Patterns by Elisabeth Freeman (et al). I struggled through the Original GOF Design Patterns book twelve years ago now. Thankfully Elisabeth and co. wrote a funny, irreverent and so you don’t have to.
What are your favorite Agile Books?
Mark Levison has been helping Scrum teams and organizations with Agile, Scrum and Kanban style approaches since 2001. From certified scrum master training to custom Agile courses, he has helped well over 8,000 individuals, earning him respect and top rated reviews as one of the pioneers within the industry, as well as a raft of certifications from the ScrumAlliance. Mark has been a speaker at various Agile Conferences for more than 20 years, and is a published Scrum author with eBooks as well as articles on InfoQ.com, ScrumAlliance.org an AgileAlliance.org.