I have been asked several times for reading recommendations for people looking to implement Agile in their organization. Providing that list is difficult because there are so many different ideas of what it means to be Agile. The concepts, practices, techniques, and values of Agile that matter most to individuals depend very much on their role in an organization.
In that spirit, here are some reading lists targeted to different people. I admit that a few of these books do not have a specific Agile focus, but are so fundamental to professionalism that they can’t be left out. If I have missed a gem, feel free to let me know. It may well be that I haven’t read it.
In the full sprit of disclosure, I have not read each of these books cover to cover. I have at least skimmed through each one in a concentrated sitting.
Developers
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Ship it! A Practical Guide to Successful Software Projects by Jared Richardson and Will Gwaltney
- Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers) by Venkat Subramaniam and Andy Hunt
- Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series) by Alistair Cockburn
or
Agile Project Management: Creating Innovative Products (The Agile Software Development Series) by Jim Highsmith - The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
- Code Complete, Second Edition by Steve McConnell
- Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series) by Kent Beck and Cynthia Andres
- Integrating Agile Development in the Real World (Programming Series) (Programming Series) by Peter Schuh
- Pragmatic Unit Testing: in C# with NUnit
or
Pragmatic Unit Testing: in Java with JUnit
Testers
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Ship it! A Practical Guide to Successful Software Projects by Jared Richardson and Will Gwaltney
- Lessons Learned in Software Testing by Cem Kaner
- Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers) by Venkat Subramaniam and Andy Hunt
- Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series) by Alistair Cockburn
or
Agile Project Management: Creating Innovative Products (The Agile Software Development Series) by Jim Highsmith - Software Testing Fundamentals: Methods and Metrics by Marnie L. Hutcheson
Pragmatic Unit Testing: in C# with NUnit
or
Pragmatic Unit Testing: in Java with JUnit
Team Managers and Leads
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series) by Alistair Cockburn
or
Agile Project Management: Creating Innovative Products (The Agile Software Development Series) by Jim Highsmith - Agile and Iterative Development: A Manager’s Guide by Craig Larman
- Ship it! A Practical Guide to Successful Software Projects by Jared Richardson and Will Gwaltney
- Agile Project Management with Scrum by Ken Schwaber
- Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series) by Kent Beck and Cynthia Andres
- Lean Software Development: An Agile Toolkit for Software Development Managers by Mary Poppendieck
- Managing Agile Projects by Kevin Aguanno
- Behind Closed Doors: Secrets of Great Management (Pragmatic Programmers) by Johanna Rothman and Esther Derby
- Agile Estimating and Planning (Robert C. Martin Series) by Mike Cohn
Project Managers
- Managing Agile Projects by Kevin Aguanno
- Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series) by Alistair Cockburn
or
Agile Project Management: Creating Innovative Products (The Agile Software Development Series) by Jim Highsmith - Agile Project Management with Scrum by Ken Schwaber
plus
The Enterprise and Scrum by Ken Schwaber - Agile Estimating and Planning (Robert C. Martin Series) by Mike Cohn
- User Stories Applied: For Agile Software Development (The Addison-Wesley Signature Series) by Mike Cohn
- Collaboration Explained: Facilitation Skills for Software Project Leaders (The Agile Software Development Series) by Jean Tabaka
- Agile Retrospectives: Making Good Teams Great by Esther Derby, Diana Larsen, and Ken Schwaber
- Manage It! Your Guide to Modern, Pragmatic Project Management by Johanna Rothman
Executives
- The Agile Enterprise: Reinventing your Organization for Success in an On-Demand World by Nirmal Pal and Daniel Pantaleo
- The Enterprise and Scrum by Ken Schwaber
- Accelerating Process Improvement Using Agile Techniques by Deb Jacobs
- Transparent IT: Building Blocks for an Agile Enterprise by Chip Wilson
- Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series) by Mary Poppendieck and Tom Poppendieck
- Managing Agile Projects by Kevin Aguanno
David, this is a really useful list, but I was wondering if you might have some suggestions for designers/usability specialists who work in an Agile setting? The original agilistas didn’t seem to think much about how visual design, interaction design, information architecture, or usability would fit into these practices. I know many people have started to address this issue, but I’m always on the lookout for good books that might touch on the subject.
This is a great point, and alhtough I don’t have a specific recomendation, I know this is an emerging field of study.
Our UE team here in house is pretty pumped on the idea of iterative feedback models and we do a LOT of user testing.