Author: Robert Benefield
The problem this book sets out to address is that of how to deliver on-demand services well; giving what the customer needs, developing quickly, and providing a solution that is consistent, cost effective and reliable. That's quite a list.
My problem with this book is with the title - it needs an extra bit that says something like 'a high-level view', or 'a general introduction'. I started the book expecting techie descriptions of devops, instead it's a good read about the philosophy of problem solving.
As Benefield says in his introductory chapter, few industries are expected to innovate as much as IT, and that has led to two approaches to achieving speed, reliability and meeting expectations: reducing delivery friction, and managing delivery risk. The opening chapter looks at the two approaches and what the advantages and drawbacks are. The first part of this book looks at topics such as decision making, risk and friction from a high-level view before later chapters look specifically at devops.
Chapter 2 looks more widely at how we make decisions, and what helps with effective decision making, how the factors that influence decisions affect the process, and how they can become impaired. As with other chapters, Benefield makes good use of examples to back up the points he's making, so demonstrates effective decision making using a war gaming event by the US armed forces, for example.
Chapter 3 looks at mission command and what a manager ought to do to ensure a project works well. The next chapter is titled 'friction', which is presumably what arises when managers don't provide good mission control. Risk is the next topic to be considered, specifically the risk of not reliably delivering a product to the right people at the right time.A chapter on situational awareness looks at how we make sense of our working environment, how cognitive bias alters what we think, and how framing problems and information flow affect our decisions. The more general part of the book ends with a chapter on learning.
For developers, the more specifically useful part of the book starts with a chapter on embarking on the devops journey, specifically considering the challenge of service delivery, and how to work around the problems that occur.
A chapter on service delivery maturity and the service engineering lead considers the processes and behaviors that affect the flow of information and your awareness of the situation. This is followed by a chapter on automation that considers how automation can be used to help with deployment, configuration and troubleshooting production services.
Instrumentation and observability is tackled next in an interesting chapter that considers how to work out what data you should be collecting, how to make your ecosystem observable, and how to put the two together. A chapter on workflow and how to manage work by putting processes into place comes next, with some fun observations about 'dark matter' - tasks that only a small percentage of the workforce can perform, and work that no one bothers to capture and track.
A chapter on queue masters comes next, considering the role of maintaining high uptimes and being able to respond rapidly to change. This is followed by a chapter on cycles and sync points as used as communications mechanisms to make sure everyone on the team is aware what's going on. The book closes with a chapter on governance.
Overall, this was an interesting and well-written book about decision making looked at from a manager's viewpoint, but while the latter part of the book considered aspects of devops I don't think the title 'Lean Devops' is a good indication of the book's contents.
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.