A Novel about Developers, Digital Disruption, and Thriving in the Age of Data
Over a month ago, I read the book “The Phoenix Project” and published a review on my blog. The book was certainly amazing as it touched on so many important aspects of software development, DevOps and my own IT career. To my surprise, I found that the book also has a sequel “The Unicorn Project“.
So is it really a Sequel?
Although as per the author, there is absolutely no need to read The Phoenix Project prior reading The Unicorn Project, however based on my understanding of the books characters plot, I would totally recommend reading The Phoenix Project. There’s the same company – Parts Unlimited – same urge to change to survive, same challenges and same project – The Phoenix Project – on which the company is betting its future.
While in The Phoenix Project, the story revolves around Bill Palmer – VP of IT operations, The Unicorn Project, a brand new protagonist, Maxine Chambers – Developer Lead and Architect. Yes, you got it! the story this time deep dives into the developer’s world.
Maxine, is a talented lead developer and architect blamed for an outage and exiled on the Phoenix project. Throughout her journey, she partners with a team of corporate rebels, and together they confront their legacy and change-averse processes and apply the five ideals to lead a positive and lasting business, technology and cultural transformation.
Not that the book is all about developers, debugging, continuous integration or unit tests, but it is very much the focus, at least for the first good half of the book. In the DevOps age, the core development topics were earlier left to developers are now in the center of discussion up to CIOs and sometimes CEOs.
The Five Ideals
While author in The Phoenix Project came up with “The Three Ways”, in this book he introduces “The Five Ideals” as follows:
- First Ideal: Locality and Simplicity
We need to design things so that we have locality in our systems and the organizations that build them. We need simplicity in everything we do, in our code, in our organization or in our processes. E.g. when you need to make a simple change and you need to change 15 files instead of 1, then you are probably violating this ideal. This is also known as the Single Responsibility principle.
- Second Ideal: Focus, Flow, and Joy
How does our daily work feel? This means not waiting for other people in order to get things done, get fast and continuous feedback. Also consider the lunch factor (similar to the truck factor): how many people do you have to pay lunch in order to execute a deployment?
- Third Ideal: Improvement of Daily Work
The Toyota Andon cord is a good example of this ideal. Sometimes, processes are improved by adding an extra step to the process every time something went wrong. This way a bloated process is created which negatively impacts flow. Often, when suggestions for improvement are made in a team working on a legacy application, the suggestion is killed by saying ‘We have always done it this way’. Of course, this is a non-argument, you must judge the suggested improvement and not express your feelings against change. This ideal is also about reducing technical debt which we discussed already. E.g. The Nokia Symbian builds lasted 48 hours when the iPhone was on the rise (somewhere around 2010). This way it is impossible to have fast feedback and it can have a devastating result for your company.
- Fourth Ideal: Psychological Safety
There should be no blaming culture, it should be safe to talk about problems and how to solve them. A culture of fear will make people hiding their mistakes, while a culture of safety will ensure that things will improve.
- Fifth Ideal: Customer Focus
Are we working on something the customer is willing to pay for or is this a feature which only will satisfy a functional silo? In other words, we need to focus on customer value.
Data is new currency 💲
Data in The Unicorn Project book, like in real life, takes the front seat. It’s with data that Parts Unlimited can now customize its marketing campaigns, optimize revenues and manage stocks like never before. It’s also with data that the teams operate their applications, make informed decisions on what to focus on and are able to react quickly when things go wrong. We often read that data is largely unused and can unlock immense value. The Unicorn Project gives practical examples of using this data effectively to generate favorable business outcome. Impressive!
Overall the book touches on a lot of different complex topics that are central to any engineering organization. For example, focusing on psychological safety of employees and the positive impact it can have on both a team and organization.
I love Gene’s style of writing that makes the entertaining to read about the struggles of a developer and how she (Maxine) overcomes those. It’s easy to relate to the frustration that comes from a company that wants to but is unable to change.
After reading through the book, I count myself lucky to work for a company that values its team members, their safety and follows a culture of openness & blameless post-mortems (believe me they do!). All in all the book made me reflect in a lot of ways, the same experience as the one I had with The Phoenix Project.
If you’re interested in DevOps, I highly recommend The Unicorn Project
🦄 Let your inner Unicorn shine!