After a few years of light pressure and persistent encouragement from a trusted mentor, I shifted my focus to the realm of DevOps. I was already an admirer of a few software development practices apropos of DevOps: creating standard environments at the click of a button, building robust software through automated test suites, and deploying faster with incremental updates. To help bridge my knowledge gaps, I read three books on the topic.


Book 1

The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology OrganizationsThe DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations by Gene Kim
My rating: 4 of 5 stars

The DevOps Handbook is the definitive guide for technology professionals seeking to implement DevOps practices within their organization. It outlines the principles, practices, and cultural shifts necessary to create high-performing IT teams that prioritize agility, reliability, and security. It covers topics such as continuous integration, continuous delivery, infrastructure as code, monitoring, and collaboration between development and operations teams. Through case studies and real-world examples, the authors illustrate how DevOps can lead to faster delivery of software, increased efficiency, and improved customer satisfaction.

However, I confess that by the time I reached the end of this book, I lost the plot. The sheer volume of information made it challenging to retain the core principles outlined in the beginning. I needed other resources to truly comprehend and internalize the fundamentals. Nonetheless, this foundational text remains a key resource to reference.


Books 2 & 3 (Sister Books)

The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business WinThe Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim
My rating: 4 of 5 stars

The Phoenix Project is a business novel that tells the tale of an IT manager named Bill who is tasked with turning around a struggling IT department at a fictional auto part company. The book explores the challenges faced by IT organizations, such as bottlenecks, inefficiencies, and lack of communication between departments. Readers take a front row seat as Bill learns and slowly adopts various principles of DevOps.

The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of DataThe Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data by Gene Kim
My rating: 5 of 5 stars

The Unicorn Project is a sister novel to The Phoenix Project. It follows Maxine, a software developer, during the same time period as its companion novel. Readers get to experience development’s side of the story.

I’m almost embarrassed by how much I enjoyed these two works of fiction. Cringworthy is what one would expect from a novel written about IT workers learning DevOps. Yet honestly, these were page turners which I quickly devoured.

I liked The Phoenix Project’s emphasis on value streams. A value stream is the sequence of steps or activities involved in delivering a product or service to a customer, focusing on activities that directly add value and eliminating or minimizing those that don’t.

I was captivated by the story of John Pesche, the Chief Information Security Officer. He starts out as a hindrance and a nuisance, always bringing work to a stop with his ever-growing stack of binders full of regulatory laws and CVEs. The novel vilifies him at first, but how could he understand his role in the big picture of the company’s value streams if he and his team are cut out of meetings and decisions? Watching security slowly merge with the rest of IT as they incorporate DevOps is rewarding. Security stops being a bottleneck and starts providing positive enhancements to the company’s outcomes.

This secondary storyline left me with the perpetual question of “Am I adding value?”

I also appreciated how The Unicorn Project highlighted functional programming. Functional programming is a programming paradigm centered around the evaluation of mathematical functions, prioritizing immutability, and avoiding side effects. Methods are easily tested as only the inputs should affect the outputs.


Lingering Thoughts

What is the hardest part here? The teaming! How do you break down silos not just affecting development and operations, but within a team itself. How do you end gatekeeping on teams that occurs when members hoard tasks and obscure their actions to protect their positions or due to frictions in personalities. How do you shift a team’s culture towards a positive, holistic view of software development through collaboration and transparency.

I want to work on an actual team and not on a nominal one! I do not want to be part of a group of people lumped together laboring at cross purposes.

The DevOps Handbook offers some alleviation, with advice and activities. Its examples and practices around visibility, so work isn’t done in the dark, as well as those around building cross-functional teams are especially intriguing.