I am sometimes asked which books I would recommend reading. For the blog, this is generally not difficult — it’s enough to open all posts with the tag “I-recommend.” But since it’s been almost five years now since I revived my blog and began writing about the books I’ve read, I decided to put together a selection of non-fiction books I’ve read during this time that fall into the category of “you must read them.”
I have already written detailed reviews of all these books, so this time I’ve selected only the very best, grouped them by topic. For each book I give only brief recommendations on why they are worth reading, but you can always open the link to the full review. I hope this will be useful to someone. So, let’s begin.
Not long ago, on the last day of 2020, I wrote a review of the book Kanban and Scrum — Making the Most of Both, which I highly recommend to anyone interested in implementing Agile methodologies. However, this book was not the first by the author, Henrik Kniberg. His first book, published in 2007, also drew on his personal experience with agile methodologies and was titled Scrum and XP from the Trenches. Kniberg himself admits that he wrote this relatively short book over a single weekend, when he felt a strong urge to share his experiences with others.
This time, I won’t delve into the specifics of agile methodologies or why I’m singling out Kniberg’s books in particular, as I covered that in my previous review. Instead, I’ll briefly describe the book itself.
It’s also a very concise account of how he and his teams implemented various practices from Scrum and Extreme Programming in their work, with concrete examples and specific descriptions of the pros and cons. He’s not afraid to admit mistakes and point out what can go wrong. This is quite normal for agile methodologies, where much is governed by the motto “experiment and see what works best for your specific team.” The key is to frequently evaluate what’s been done (unlike older methodologies, where you might work for a year only to realize that you’ve been doing it wrong all along).
Since the beginning of the 21st century, the software development industry has undergone a tremendous number of changes. Nowadays, if you aren’t familiar with Agile methodologies and words like Kanban and Scrum leave you puzzled, chances are you might hear, “Out of the profession!”
Many people now see Agile methodologies as some kind of panacea for all problems. It’s like, “Back in the day, everyone worked with Waterfall, so things were slow, expensive, and unpredictable.” And if you suddenly switch to modern agile methodologies, happiness will immediately follow. But there is no cure-all, and any methodology requires proper application. In my experience, I haven’t seen a single company that fully applies all aspects of agile methodologies, and that’s generally fine. Agile is more about approaches and practices that each team should try, experiment with, and find what works best for them. Of course, there are certain principles that need to be followed.
I also know several companies (fairly large ones) that became disillusioned with Agile after trying the wrong approach or implementing it incorrectly. Personally, I’m not an avid fan of every methodology, but I’ve worked extensively with Agile, tried different approaches with teams, and continuously read about implementation practices—regardless of the old saying, it’s better to learn from others’ experience.
And I must say, there aren’t that many good books on the subject. Many authors provide rather superficial descriptions of techniques, while some are more focused on selling themselves as trainers than on helping companies understand what to do and how to do it. I can say that even some official certifications from the Agile community provide very superficial knowledge, and people then flaunt an official certificate without any real experience or, at times, even a basic understanding of how to work with the methodology.
Kanban is a flexible management tool that originated from Toyota. Over the past few decades, it has become very popular in the IT industry, alongside other agile methodologies. David Anderson has worked in IT for 30 years and has been an advocate of the Kanban methodology for many years. The title of the book, Kanban: Successful Evolutionary Change for Your Technology Business, suggests that we’ll learn both about the methodology and the best ways to apply it. At least, those were my expectations. Especially since it’s praised by various experts in the annotations.
However, I found the book difficult from the very first pages. I pushed through to the end to form a complete opinion, but it only confirmed my initial thoughts rather than changing them.