I have been on Lean/Agile project teams off and on for the last seven years. During that time I have met an assortment of Agile Gurus peddling their mantra, silver bullets, charlatanism garbed as expertise and other travesties to gullible clients desperate to go Agile. Very few had real experience taking projects to successful completion in the client's specific domain and to that extent a very limited appreciation for the challenges involved in doing so. Often the prescription provided to the project team required us all to struggle with force-fitting our problems into a solution that just did not mesh. We were warned of the dire consequences of not following due process- the Guru had coached hundreds of teams and knew what they were talking about.
The Scrum Master was left with the unpalatable job of evangelizing the mantra he or she did not find particularly credible or useful. The unenthusiastic team went through the motions of being Agile - shuffling their task cards around the board, reporting terse (and incoherent) status in daily stand-ups and playing Planning Poker on sprint planning day whose main draw was of course the free lunch. We were pseudo-Agile at best and completely divorced from process at worst.
The metrics suggested we were getting a half-baked product without significant cost savings and the team was incredibly burned out from the high frequency of releases. We wondered about the great success stories that the Gurus talked about - why we were not able to replicate their recipe. When we re-grouped at project close to retrospect and self-flagellate, we did not come way with an epiphany that would serve us well on our next projects.
Coming from that background, I tend to be fairly skeptical about books that claim to teach how you can do Agile. I was ready to change my mind reading these lines in the foreword to Henrik Kniberg's Lean from the Trenches : "One beauty of this book's story is its complete lack of dogma. It is a story. A story of a project that had real troubles and addressed them with a small set of easily understood practices. Applying those practices required wisdom, patience, and persistence, which is why you can't just copy the story to fix your project". What a refreshing approach to writing about Lean !
As promised, the rest of the book takes you through the project life-cycle of a single project (as opposed to compiling a bunch of disjointed lessons learned/ experiences from projects completely unlike each other) and talks about what was tried and worked and what did not. Kniberg's tone is absolutely authentic - he has the conviction of someone who has lived in the trenches for a long a time and truly knows the score.
He addresses every single pain point that I have run into in the last seven years. Involving the customer and keeping them engaged, keeping different project teams in synch, handling bugs, not losing focus on the high level goal while delivering small chunks of the product, testing, WIP limits and backlog grooming among other things. Developers and testers will find their challenges addressed in significant detail.
While the practices Kniberg and his team followed, come from a place of commonsense, there is a lot creativity and ingenuity involved in every one of them. You learn how to use a principle and adapt it effectively to your own situation. Readers like myself often know what does not work but we are not quite so sure about what does - Kniberg shows you how he and his team resolved challenges very similar to your own and that I found invaluable.
If you were to have only one book on Lean/Agile in your bookshelf, I would recommend this one. A dozen tomes on theory and best practices will do less for you than reading this amazingly well-written story about a real Agile project. I truly look forward to applying some of the lessons I learned from reading this book to the next Lean/Agile project I am on.