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?
Is there a canonical book on Agile?
agile;books
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. MartinAgile 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 ShoreFor an insight into overall agile project practices look at The Art of Agile by James Shore & Shane Warden. It's focussed 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 HuntPractices of an Agile Developer: Working in the Real WorldScrum and XP from the Trenches by Henrik KnibergIt'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.AmazonExtreme Programming Explained by Kent BeckProbably 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.AmazonAgile Estimating and Planning by Mike CohnFor 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 OsheroveOsherove 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.AmazonThe Agile Samurai by Jonathan RasmussonJust 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 mentionedAgile Adoption Patterns: A Roadmap to Organizational Success by Amr ElssamadisyAgile and Iterative Development: A Managers Guide by Craig LarmanAgile Estimating and Planning by Mike CohnAgile Project Management: Creating Innovative Products by Jim HighsmithAgile Retrospectives: Making Good Teams Great by Esther Derby and Diana LarsenAgile Software Development by Alistair CockburnAgile Software Development with Scrum by Ken Schwaber and Mike BeedleBecoming Agile: ...in an imperfect world by Greg Smith and Dr. Ahmed SidkyThe Business Value of Agile Software Methods: Maximizing Roi with Just-In-Time Processes and Documentation by David F. Rico, Hasan H. Sayani, and Saya SoneCollaboration Explained by Jean TabakaContinuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Humble and FarleyCrystal Clear: A Human-Powered Methodology for Small Teams by Alistair CockburnEncyclopedia of Software Engineering edited by Phillip A. LaplanteFearless Change by Linda Rising and Mary Lynn MannsGrowing Object-Oriented Software, Guided by Tests Freeman and PryceInnovation Games: Creating Breakthrough Products Through Collaborative Play by Luke HohmannLean Software Development  An Agile Toolkit for Software Development Managers by Mary and Tom PoppendieckLean Solutions by Jim Womack and Dan JonesLean Thinking by Jim Womack and Dan JonesManaging Agile Projects by Sanjiv AugustineManaging the Design Factory by Donald G. ReinertsenPlanning Extreme Programming by Kent Beck and Martin FowlerScaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum by Craig Larman and Bas VoddeScrum Pocket Guide: A Quick Start Guide to Agile Software Development by Peter SaddingtonThe Software Project Manager's Bridge to Agility by Michele Sliger and Stacia BroderickToday and Tomorrow by Henry Ford (From 1926)User Stories Applied by Mike CohnBook listsAgile Design Recommended Reading