I really wanted to dislike this book, and in some respects I managed to achieve my goal. This is a book published to support yet another spurious agile certification (YASAC?), and I really don’t like that. The authors continuously use ‘Agile’ as a capital-A, noun, rather than the lower-case-a adjective that it clearly ought to be, and I have ranted about that before. And then they resort to anthropomorphising in the fashion “Agile doesn’t say …”, which I find hugely objectionable.
On the other hand, this book does deliver on its claim to provide “a comprehensive introduction to the core values and principles of Agile methodologies.” It describes, without too much embellishment, the fundamental and constituent principles of approaches that support a responsive development process.
The writing is clear and mostly correct, though some things are stated as facts, when they are clearly not. For example:
- “There are generally three styles of Agile delivery …”
- “A key concept in Agile is emergent or opportunistic design.”
- “TDD validates that … the design is appropriate with minimal technical debt”
This book really triumphs by continually going further and offering the reader broader avenues of discovery. There are continuous references to techniques, approaches and research that go far beyond the usual agile trivia. There’s mention of BDD, Real Options, Feature Injection, Cynefin, Maslow’s hierarchy of needs, Reinertsen’s economic model and Kotter’s 8 stage model – to name just a few.
Some of these are explained in reasonable detail, others are just mentioned in passing, but all contribute to making this book a valuable resource for someone who wants to escape the narrow confines of a typical agile transformation. There’s more to it than stand-ups and planning poker, after all.
The book is split into 4 sections:
- Introducing Agile: A whistle stop tour around the manifesto, that still manages to mention Cynefin, empiricism and the Schneider change model
- A Generic Agile Framework: The most useful section for those new to the topic, which teases out common elements of agile-in-the-wild, with an unrepentant Scrum-like bias
- Applying Agile Principles: Digging deeper into the manifesto, with some interesting diversions – including an excellent section in Reinertsen’s work on product flow and business value. It also has a chapter on customer collaboration that, mysteriously, includes a section on “Inspect and adapt”
- Agile Frameworks: XP, Scrum, DSDM are followed by Kanban, Lean and Lean startup. Then, controversially, they describe only one ‘scaled’ approach, SAFe, because “it is currently the most fully featured, discussed and implemented.”
Best of all, this is a short book – barely 150 pages – so it won’t weigh too heavily on your existing stack of unread books.
This is a book that provides a decent jumping-off point for someone wanting to learn more about lightweight, software development approaches in the 21st century. Don’t take it as final word on anything (as if you would); read it in an afternoon; and then go and check out some of the other work that it references.
It’s the course text book for the BCS agile certification, so if you want that piece of paper, this is definitely the book for you.
And, finally, remember that the agile manifesto came into being because a group of people wanted to find some common underpinning to their motley assortment of lightweight approaches. It wasn’t supposed to replace thinking, common sense or religion – so, to paraphrase Alabama 3:
‘Cos the righteous truth is, there ain’t nothing worse than
some fool pairing on some legacy codebase with
TDD, emergent design, preaching damn refactoring
pretending he gettin’ consciousness expansion.
I want consciousness expansion,
I go to my local tabernacle an’ I sing!
Declaration of objectivity
In the spirit of full disclosure I should admit to being a chartered member of the BCS and on the committee of the Edinburgh BCS branch, where I organise many of the monthly events and courses. I hope that the review wasn’t unduly influenced by either of these BCS associations, but how can I tell? I leave it to you, dear reader, to decide if my objectivity has been compromised.