Repeatedly I get the question “What books should I read about Agile?”. Here is a list I have compiled. There are probably more good books, and if you find one, don’t hesitate to recommend it to me.
- Lean Software Development: An Agile Toolkit, by Tom & Mary Poppendieck.
- Agile Software Development, by Alistair Cockburn.
- Agile Software Development Ecosystems, by Jim Highsmith.
- Scrum and XP from the Trenches, by Henrik Kniberg.
- Agile Software Development with Scrum, by Ken Schwaber & Mike Beedle.
- Extreme Programming Explained: Embrace Change, by Kent Beck.
The first edition is more practical, the second is re-written extensively to show how values fit together with the techniques and practices.
- Planning Extreme Programming, by Kent Beck & Martin Fowler.
Management & Leadership
- Agile and Iterative Development—A Manager’s Guide, by Craig Larman.
- Collaboration Explained : Facilitation Skills for Software Project Leaders, by Jean Tabaka.
- Managing The Design Factory, by Donald Reinertsen.
- Agile Retrospectives: Making Good Teams Great, by Esther Derby & Diana Larsen.
- Peopleware: Productive Projects and Teams , by Tom DeMarco & Tim Lister.
Requirement Management & Modelling
- User Stories Applied: For Agile Software Development, by Mike Cohn.
- Agile modeling: Effective Practices for Extreme Programming and the Unified Process, by Scott Ambler.
- Agile Estimating and Planning, by Mike Cohn.
- Agile Testing: A Practical Guide for Testers and Agile Teams, by Lisa Crispin.
- Test Driven: TDD and Acceptance TDD for Java Developers, by Lasse Koskela.
- Test-Driven Development By Example, by Kent Beck.
Programming & Refactoring
- The Pragmatic Programmer: From Journeyman to Master, by Andrew Hunt & David Thomas.
- Working Effectively with Legacy Code, by Michael Feathers.
- Refactoring: Improving the Design of Existing Code, by Martin Fowler.
- Refactoring to Patterns, by Joshua Kerievsky.
- Implementing Lean Software Development: From Concept to Cash, by Mary & Tom Poppendieck.