This is my list of essential Agile books, sorted into categories. I’ve read and would recommend all of these. I’ve separated them into General, Process, People, and Technology.
Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
This is the book that started it all. Written by the two guys who started it all. Well, they didn’t start agile, but they invented Scrum. It’s a short book and leaves a lot of details out, but I recommend anyone interested in agile and scrum read it. The main reason is that it explains the “why” behind some of the core agile concepts. And it does so with practical examples and practical advice.
The Art of Agile Development by James Shore
This is a longer and more substantial book. It also comes out of the XP (Extreme Programming) movement, rather than Scrum. I don’t have anything against XP, but keep in mind it is more involved and harder to implement than Scrum. That being said, this book is a complete end-to-end guide to Agile using XP. It even has some pretty detailed examples of Test Driven Development, including pages of Java code, for the more technically minded.
Succeeding with Agile by Mike Cohn
An essential handbook for anyone doing Scrum, this is a definitive guide. If you’ve read Agile Software Development with Scrum, and this, you have a solid grounding in the basics. His secions on change management (one of the hardest parts of an agile transformation) are excellent.
Lean Enterprise by Barry O’Reilly, Jez Humble and Joanne Molesky
This is one of my favourite books in this field. It is a brave and daring attempt to describe what a lean and agile enterprise would look like. Not an easy task, but the writers give it a great crack. I wouldn’t start with this book, but if you’ve read a few on this list already, go read this one. I doubt it will disappoint.
The Principles of Product Development Flow by Don Reinertsen.
This is probably my favourite book on this list, and one of my favourite non-fiction books of all time. It is an extraordinary fusion of Agile, Lean, Kanban, Queuing theory, and a hundred other things, crammed into a few hundred pages. Full of fascinating theory, yet powerfully practical, this is a classic and must be read by anyone in this field.
Agile Estimating and Planning by Mike Cohn
This is a book that I actually wouldn’t now go back and use much, because I think a lot of the estimation and planning activities people do are not very valuable. However, it is a very thorough and well written book, and considered a classic. I would recommend everyone new to Agile or Scrum read it. The best parts I think are actually towards the end, where Cohn talks about what user stories really are, and why we use them. If you don’t end up reading User Story Mapping, then at least read this one.
User Story Mapping by Jeff Patton
This is one of the best books around on how to turn ideas into user stories. You don’t do it by just sitting down and writing story after story, you think about customer journeys and turn them into a map. And from the map you can get your features and stories. This books explains how to do it, very clearly. It’s a quick read and well worth it.
The Lean Startup by Eric Ries
A controversial work and not purely “Agile”. Not even “Lean”, to be honest. Nevertheless, one of the most important and influential books written in the last 10 years in this field. Eric Ries tries to answer not “how” we build software (which most of the other books on this list do), but “what” do we build, which most of them have nothing to say about. His concepts of Build Measure Learn and Minimum Viable Product have become staples and common parlance. Skip this book at your peril.
Management 3.0 by Jurgen Appelo
Jurgen Appelo is one of the most respected agile management theorists in Europe, if not the world. This is his manifesto for a new type of management, based around empowerment, experimentation and continuous improvement. It shows that managers can indeed exist in a new Agile world, but they have different jobs to what they had before. This book explains what managers do in an Agile organisation.
Peopleware: Productive Projects and Teams by Timothy Lister and Tom DeMarco
This is an old book (older than Agile, the first edition came out in 1987). But it’s still a classic and I think everyone involved in software should read it. It delves into that most obvious and fundamental (yet often missed) truth about software development: that it is actually about people, not software.
Drive: The Surprising Truth about what Motivates Us by Dan Pink
Like Peopleware, this isn’t an Agile book per se, but I cannot recommend it enough. It is a book about what motivates people to do work, and the answers are different to what 99% of people believe. It is a powerful defense of empowerment, autonomy and trust, all of which are crucial to success in Agile (or any organisation for that matter).
Agile IT Organization Desgin by Sriram Narayan
An outstanding book that describes the organizational forms best suited to Agile software development. This covers much more than just tribes and guilds (though it does the best coverage of that concept I’ve seen anywhere). It goes into culture, tools, roles, norms, budgeting, management, and a host of other topics. Underrated and essential.
Continuous Delivery by Jez Humble and David Farley
As far as I know, this is the definitive book on Continuous Delivery. If you’re remotely invovled with the technology side of Agile, read this book. And if you’re not, you should be, so start by reading this book.
Continuous Integration by Andrew Glover and Paul Duvall
You can’t do Continuous Delivery without Continuous Integration. This is a companion book to the previous one that goes into a lot of detail about code integration and configuration management. It might not sound sexy but it’s interesting and important stuff.
The Phoenix Project by Gene Kim, George Spafford and Kevin Behr
This is the one novel on this list, surprisingly enough. And it’s not a bad one. The subtitle is ‘A novel about IT, DevOps and helping your business win”. Many of the scenarios in the book will be painfully familiar to anyone who’s worked in enterprise IT.