I was chatting to someone recently who asked me to recommend some books they could read to skill up on helping teams get to effective delivery. I started to build the list below, and I've leant on things like flow, measurement, strategy, devops, human/org factors.
To avoid overloading, I've also next to the top 4 I'd recommend.
Strategy / Goal Setting
- Good Strategy, Bad Strategy - The difference and why it matters - Although not a huge fan of the read on this, the points it makes are probably better than many other strategy books I've read
- Measure What Matters - it gives a really effective view of OKRs from the man who brought them to Google from Intel, and is a great read
DevOps / Flow
- The Phoenix Project / The Unicorn Project / The Goal - all great books, told as fables, around teams getting to more effective delivery leveraging a devops mindset. They also each surface things like the theory of constraints and other key concepts.
- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organisations - a longitudinal look at the state of devops annual report and a solid quantifying of what factors lead to high performing delivery teams.
- Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation - very much in the mindset of the other books, but a practical look at 'how to get there'.
Humans / Org Design / Delivery Challenges
- Team Topologies: Organising business and technology teams for fast flow - a superb look at some patterns and challenges of building effective teams within orgs to get to delivery
- Peopleware: Productive Projects and Teams - an old book, but still has many useful points around effective software/project delivery
- Making Work Visible: Exposing time theft to optimise work and flow - a superb read on the many things that prevent teams from effectively delivering, and talks about 'time theft'.
- Designing data-intensive applications - if you only read one book on data, I think this is great - it's perhaps less around 'effective delivery' and more around 'effectively architecting and owning', but is a useful supplemental read.
- Site Reliability Engineering: How Google Runs Production Systems - again, if only one book, this looks at some of the challenges of 'it's in production, now what' and it's a useful insight into some of the things you should be thinking about with effective delivery
- The Pragmatic Programmer: From journeyman to master - a very practical way of looking at software design/delivery, and probably the main book I recommend before books on design patterns/architecture etc.
- Sooner Safer Happier: Antipatterns and Patterns for Business Agility - pretty much summarises everything we've learned over the past 20 years of agile in a really accessible book.
- Sprint: How to solve the big problems and test new ideas in just five days - design sprints can be a powerful way to test and validate ideas, so are a useful technique outside of the 'just write code' to help you understand how to rapidly get to 'build the right thing'
- Inspired: How to create tech products customers love - SVPG can feel a little zealous in the product space at times, though this is a great starter for 10
- Escaping the Build Trap: How effective product management creates real value - there's a pragmatism to this book that I really like, and it focusses on that mixed challenge of build vs. discover.
Over to you folks - This is naturally going to have a LOT of gaps - would love to hear from you what you'd change in the list, what you'd add, perhaps what you didn't enjoy so much in the list?