The Extended Agile Reading List
Here’s the extended one that includes either books that I’ve not read (and have been recommended) or those that help facilitate further understanding or more advanced practices.
Methodologies and principles
- Crystal Clear: A Human-Powered Methodology for Small Teams by Alistair Cockburn
- Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
- Implementing Lean Software Development: From Concept to Cash by Mary Poppendieck and Tom Poppendieck
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Agile Software Development by Alistair Cockburn
- Agile Software Development in the Large: Diving Into the Deep by Jutta Eckstein
- The Art of Agile Development by James Shore
- Organizational Patterns of Agile Software Development by James O. Coplien, and Neil B. Harrison
Additional context
- The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks
- Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity by Joel Spolsky
- Peopleware: Productive Projects and Teams by Tom DeMarco
- Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams by Steve Maguire
Teamwork
- The Five Dysfunctions of a Team: A Leadership Fable by Patrick M. Lencioni
Continuous Improvement
- Project Retrospectives: A Handbook for Team Reviews by Norman L. Kerth
- Accelerating Process Improvement Using Agile Techniques by Deb Jacobs
Project Management
- Agile and Iterative Development: A Manager’s Guide by Craig Larman
- Agile Project Management: Creating Innovative Products by Jim Highsmith
- Manage It!: Your Guide to Modern, Pragmatic Project Management by Johanna Rothman
- Managing Agile Projects by Kevin, J. Aguanno
Requirements and planning
- Software Estimation: Demystifying the Black Art by Steve McConnell
Development practices
- Refactoring to Patterns by Joshua Kerievsky
- Test Driven: Practical TDD and Acceptance TDD for Java Developers by Lasse Koskela
- Practices of an Agile Developer: Working in the Real World by Venkat Subramaniam
- Release It!: Design and Deploy Production-Ready Software by Michael Nygard
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
- Working Effectively with Legacy Code by Michael Feathers
- xUnit Test Patterns: Refactoring Test Code by Gerard Meszaros
- Continuous Integration: Improving Software Quality and Reducing Risk by Paul Duvall, Steve Matyas, and Andrew Glover
- Refactoring Databases: Evolutionary Database Design by Scott W. Ambler, and Pramodkumar J. Sadalage
- Code Complete: A Practical Handbook of Software Construction by Steve McConnell
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
- Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps by Mike Clark