During 2021, I read 68 books. I give some highlights from my year in books here by presenting 20 favourites in a few different categories.
I absolutely love mathematics and the two maths books I read this year are books that I can warmly recommend:
- Principles of Mathematical Analysis by Walter Rudin
- All of Statistics by Larry Wasserman
See the linked review for details on Rudin’s book. It’s a must-read for any big fan of mathematics, but isn’t my recommended way of learning mathematical analysis.
“All of Statistics” on the other hand is a great and concise guide to the most important parts of mathematical statistics that is useful for repetition, as a reference, or for learning statistics for the first time. There are more rigorous and detailed books on statistics, but when you want to go through the material quickly and get the big picture then this one is perfect.
Another great book related to statistics that I read 2021 is The Black Swan by Nassim Taleb. Easy to read and describes many practical mistakes that are seldomly discussed directly in maths books.
The downside of mathematics is, of course, that these books take a lot of time to read. A few every year goes a long way. Maybe 2022 will include a few more!
Software architecture and planning favourites
A big new software development project at work prompted me to read up some extra on software architecture and how to plan complex agile projects. This gave me a reason to re-read some old favourites and survey the litterature landscape. Here are my updated favourites in this area.
For an overview of how to create a software architecture and document it, the hands-down best book that I’ve found is Software Architecture in Practice (4th edition) by Len Bass, Paul Clements, Rick Kazman.
For a much more in-depth treatment of how to document software architectures, no other book beats Documenting Software Architectures: Views and Beyond. The approach aligns well with the previous book (and the authors overlap). There are other approaches, but you won’t go wrong by following the recommendations here and the book isn’t tied to any particular style (such as UML).
I would recommend a more informal diagram style rather than UML, which appears to become more and more popular over the past decade. As such, I don’t really recommend learning UML. For getting an overview of UML anyway, my favourite book is UML distilled by Martin Fowler.
For planning an agile software development project, one of my favourite books that I read in 2021 is Agile Estimation and Planning by Mike Cohn.
Product development favourites
There are many great books on how to organise product development teams. My number one favourite from this year’s reading is Empowered: Ordinary People, Extraordinary Products by Marty Cagan, Chris Jones. I’ve seen teams like this and I’ve seen the opposite. It makes a huge positive difference.
An interesting take on development team structures that I like is Team Topologies by Matthew Skelton and Manuel Pais, which looks at how to design development teams in a way that fits well with the system being developed.
I also enjoy reading about various frameworks for product development, such as Scrum and different ways of scaling it. My favourite framework for scaling agile development is well presented in Safe 5.0 Distilled by Richard Knaster and Dean Leffingwell. For an introduction to Scrum, I recommend reading Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland, which I have read many times.
For a more general treatment on how to scale agile, Doing Agile Right by Darrell Rigby, Sarah Elk, Steve Berez is a great book that reminds me of the HBR article Agile at Scale from May-June 2018 by Darrell Rigby, Jeff Sutherland, and Andy Noble. There’s a lot of knowledge out there on scaling agile beyond a single team.
As always, I read many books about leadership, teams, and organisations. They are hard to compare, so I’ll just mention all of my favourites. These are more general books, in contrast to the product development focused books above.
On how to persuade people, the book Pre-Suasion by Robert Cialdini is just as good as his famous book “Influence”. I also re-read Never Split the Difference by Chris Voss and it’s one of the best books about negotation. Even more famous and also very good is Getting to Yes by Roger Fischer, William Ury, Bruce Patton.
Leading Change by John Kotter is a classic that I warmly recommend.
For leading efficient teams in a complex and changing environment, the book Teams of Teams by Stanley McChrystal is good enough that I’ve read it twice. It delivers a similar message as Empowered above, but from a military setting.
For an introduction to what it means to be a manager or leader, Being the Boss by Linda Hill is my all-time favourite. It boils it down and goes through the common mistakes. This is another book I felt was worth re-reading.
Finally, I must recommend Reframing Organizations by Lee G. Bolman and Terrence E Deal as one of the best books if you want a single book that describes organisations and leadership in one coherent volume. It gives a brilliant summary of all the famous theories and ideas in my opinion and its focus on four primary frames and reframing situations is very helpful.
After presenting 19 useful non-fiction books above, I want to close by mentioning a completely different book that I enjoyed reading: Be Like the Fox: Machiavelli in his World by Erica Benner. I read “The Prince” by Machiavelli long ago and both Machiavelli and the time he lived in has fascinated me since then. This books gives many answers and adds a lot of context and history to the famous Niccolo Machiavelli. I can only recommend it!