I got a copy of Amr Elssamadisy's Agile Adoption Patterns in the mail today. I'm excited to have received this for two reasons. 0) I loves me some Agile, B) I was one of several technical reviewers of this book, Finally) it's a well-done book. (Yes, I said two and that's three. It's been one of those days and I'm relaxing with a lovely bit of Caol Ila Islay Scotch as I write this. Gimme a break.)
Elssamadisy's book is in tough, tough company. How can you compete in the same space as amazing works like Subramaniam and Hunt's Practices of an Agile Developer or Shore and Warden's The Art of Agile Development? Those are tough, tough classics to go against when trying to explain how teams/companies should adopt agile practices.
Amr pulls it off by organizing his material in a fresh form which I found very useful. He hits many of the same points as other works on Agile (smells, process, team empowerment, practices, etc.), but emphasizes the business value of each point. For example, his chapter on User Story lays out the case that user stories are simple documents in their initial draft. The value comes from developers having conversations to flesh out the details and implementation of the story. Product utility is improved, and development costs are reduced.
This same approach is carried on throughout the book, making it very clear what specific benefits you can find from each practice. Additionally, each practice or chapter follows a nice recipe-like format. Start off with business value, move on to a sketch describing the practice, follow up with context of the practice and forces impacting it, then look to why you'd want the particular practice, adoption details, and a bit on the practice's cons and variations.
The book starts out with a high-level overview of agile, then moves on to specific patterns/practices. Each pattern is a short, separate chapter with about 40 patterns in total. The style of the book is clear, concise, and it's nicely produced.
Another great point about the book is Elssamadisy's ongoing assertion that you don't need to adopt all of the practices. Rather, find the pain points you have in your environment and look to implement only the patterns which will ease that pain. This pragmatic approach to agile adoption is a refreshing view in a world where some Agile fanatics insist you must adopt every single practice or you're not doing Agile. (A fanaticism I emphatically disagree with.)
Overall I think it's a solid addition to the Agile section of your bookshelf. It's not a replacement for things like Subramaniam's or Shore's works; it's a solid addition to them.
Of course, I'm somewhat biased, having been a tech reviewer on it...