Agile Methodology – Recommended Canonical Books

agilebooks

As a solo developer, I think I'm using an Agile-like process, but I'd like to compare what I'm doing to real Agile and see if I can improve my own process.

Is there a book out there that's the de-facto standard for describing best practices, methodologies, and other helpful information on Agile? What about that book makes it special?

Best Answer

Is there a canonical book?

There is the agile manifesto, but for a canonical book?

No. There are lots of books out there.

Specific book recommendations:

Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin

Agile Software Development, Principles, Patterns, and Practices. This is focused on developer practices and coding and is a must read for any developer serious about agile software development. There is also a C# version of the book that he and his son Micah wrote, so if you are a .NET developer, that version might be the one for you.

The art of Agile Development by James Shore

For an insight into overall agile project practices look at The Art of Agile by James Shore & Shane Warden. It's focused on XP practices (but that's really because XP is where all the specific developer practices are defined), but has a big picture focus on how Agile projects work.

A great thing about this book is that James Shore is publishing the whole text on his website for free, so you can try before you buy.

Practices of an Agile Developer: Working in the Real World by Subramaniam and Hunt

Practices of an Agile Developer: Working in the Real World

Scrum and XP from the Trenches by Henrik Kniberg

It's a great book for getting a feel for how an agile team works, and it it's a very quick read (couple of hours). I give it to new staff in my organisation - technical and non-technical - and I've had consistently positive feedback.

Amazon

Extreme Programming Explained by Kent Beck

Probably the oldest book I can remember which helped make Agile principles popular. Agile is fast becoming a buzz word in the world of Tech. I feel Extreme Programming (XP) is a good place to start before the term Agile just seems to lose meaning.

Amazon

Agile Estimating and Planning by Mike Cohn

For "the Agile process" - look to Mike Cohn's "Agile Estimating and Planning" - bearing in mind that it's Scrum-centric.

Cohn covers a lot of the basics as well as some of the things new Scrum teams often struggle with - estimation using Story Points vs. Ideal days, what do do if you fail a story in a sprint, when to re-estimate/size and when not to, etc.

He also goes into some really interesting stuff that's mainly the domain of a Product Owner - things like how to assess and prioritize features, etc.

The Art of Unit Testing by Roy Osherove

Osherove presents a very pragmatic approach to unit testing. Presents a good approach on how to refactor code to become more testable, how to look for seams, etc. It is a .Net centric book, however.

Amazon

The Agile Samurai by Jonathan Rasmusson

Just purchased this myself and found it to be a refreshing look on how to get started with agile.

Amazon

Alistair Cockburns book on his Crystal methodologies is worth while reading - partly because it gives you an alternative the the usual Scrum methods, and partly because he was one of the original guys who came up with Agile in the first place, so I hope he know what he's talking about.

Crystal is an interesting methodology as it scales from small teams to very large ones, he describes the changes required to make agile work in these different environments.

Unsorted books mentioned

  • Agile Adoption Patterns: A Roadmap to Organizational Success by Amr Elssamadisy

  • Agile and Iterative Development: A Manager’s Guide by Craig Larman

  • Agile Estimating and Planning by Mike Cohn

  • Agile Project Management: Creating Innovative Products by Jim Highsmith

  • Agile Retrospectives: Making Good Teams Great by Esther Derby and Diana Larsen

  • Agile Software Development by Alistair Cockburn

  • Agile Software Development with Scrum by Ken Schwaber and Mike Beedle

  • Becoming Agile: ...in an imperfect world by Greg Smith and Dr. Ahmed Sidky

  • The Business Value of Agile Software Methods: Maximizing Roi with Just-In-Time Processes and Documentation by David F. Rico, Hasan H. Sayani, and Saya Sone

  • Collaboration Explained by Jean Tabaka

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Humble and Farley

  • Crystal Clear: A Human-Powered Methodology for Small Teams by Alistair Cockburn

  • Encyclopedia of Software Engineering edited by Phillip A. Laplante

  • Fearless Change by Linda Rising and Mary Lynn Manns

  • Growing Object-Oriented Software, Guided by Tests Freeman and Pryce

  • Innovation Games: Creating Breakthrough Products Through Collaborative Play by Luke Hohmann

  • Lean Software Development – An Agile Toolkit for Software Development Managers by Mary and Tom Poppendieck

  • Lean Solutions by Jim Womack and Dan Jones

  • Lean Thinking by Jim Womack and Dan Jones

  • Managing Agile Projects by Sanjiv Augustine

  • Managing the Design Factory by Donald G. Reinertsen

  • Planning Extreme Programming by Kent Beck and Martin Fowler

  • Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum by Craig Larman and Bas Vodde

  • Scrum Pocket Guide: A Quick Start Guide to Agile Software Development by Peter Saddington

  • The Software Project Manager's Bridge to Agility by Michele Sliger and Stacia Broderick

  • Today and Tomorrow by Henry Ford (From 1926)

  • User Stories Applied by Mike Cohn

Book lists