“If you don’t like to read, you haven’t found the right book.” – J. K. Rowling
Every now and then I like to look for book recommendations on places like Hacker News and Lobsters where the audience is primarily technical. The one book that comes up consistently in these recommendations is The Phoenix Project.
So last week I decided to order it and check for myself what the fuss was all about. Luckily it arrived at my doorstep right before the Easter weekend, so I had the entire weekend to read it.
I managed to finish reading over the weekend, and I have to say that this is easily one of the best books I've ever read.
The book is set inside a fictitious company called Parts Unlimited. It's narrated from the point of view of Bill, an IT manager. The company is losing customers and money, the board is really unhappy with the performance, and the internal business processes are dysfunctional at best.
In this setting, Bill is suddenly promoted to being the VP of a less-than-optimal IT department and asked to deliver on the so-called Phoenix Project within 90 days, failing which the entire department shall be outsourced.
The story of how Bill tries to understand his new job description, identifying and fixing the existing (broken) processes, the people he now has to work and deal with, navigating the corporate hierarchy so he can get things done, and even figuring out what needs to be done in the first place, is what the book is all about.
While reading, I tended to focus on the gaps that development and IT departments were facing. But as you read more, you find out that the business problems that this company is facing are much deeper. One prime example is that the upper management doesn't consider software development / IT as an integral part of the business. This often leads to unreasonable expectations from other departments that IT then has to deliver on, clashes between people and departments, lots of blame games, so on and so forth.
I wasn't exactly sure what to expect from a "fiction novel about DevOps". DevOps is probably one of the last subjects that comes to my mind when I think about fiction. This book proved me wrong in so many ways.
The Phoenix Project is a very well-written book. The storyline is gripping. At least for me it was difficult to put the book down. And if you've spent a lot of time working in or with software / IT departments, you'll find that the characters and situations in this book are quite familiar (if not relatable). Finally, the message that this book is trying to highlight is delivered to the reader slowly but consistently.
It depends on what your taste in books is like. I do believe that if you work directly in software development / IT or you interact with other folks who do, this book is an absolute must-read.
More generally speaking, my recommendation depends on the kind of software company you work at. In terms of the development / IT split, I feel that there can be two kinds here.
If you belong to the first group, this book is highly recommended. Speaking from personal experience, I've had a chance in the past to work at a place where the deployment culture was very much still developers "throwing code over to the wall" to the operations people. If I had a chance to go back in time and make everyone there read this book, I absolutely would. This "development / deployment" distinction affected my personal productivity quite a bit, and I think having everyone read this book would've at least pushed things in the right direction.
On the other hand, if you belong to the second group, you may not need to read this book but it still could be a nice read. If you've worked at companies which embrace DevOps as a core cultural value, you probably can't imagine having it any other way. So along those lines, this book can be a humorous tale about what can happen when things aren't structured that way.
All in all, a wonderful read. Highly recommended!