DevOps promotes the collaboration between developers and other IT stakeholders to optimize software delivery. For many organizations, it’s a challenge for teams to come together with the right mix of priorities and expectations. Application Development Manager, Dave Harrison, shares five of his favorite DevOps books.
DevOps as a movement is gaining traction, but you could argue – very successfully – that we’re still missing a few key pieces. For example, we lack a clear manifesto as we have with Agile. As a development lead, I would have those words of the Agile Manifesto up on my wall – and always, when I faced a difficult decision, I would find it helped me cut out the nonessentials and focus on improving the way I did my work. For DevOps, being younger and in some ways being much more difficult than Agile in making that awkward straddle between Ops and Development, there isn’t yet that clear guiding set of principles that can help us chart our way.
There are however some key texts that should be in your bookshelf. The interesting thing about each of these are that they approach the problem from very different angles. If you’re thinking of leaving a book on someone’s desk, you’ll want to choose carefully.
Let’s take each of these five books and split them up by target audience – first, business-driven organizations; second, developers and dev-lead orgs, and lastly IT and Operations teams.
Category 1 – Business and Executive Audiences
Classic #1 – The Phoenix Project
Here two books stand out – first, the modern classic “The Phoenix Project” by Gene Kim, Behr and Spafford. The authors here spin a very engaging story about a company in deep trouble, and how a heroic IT lead transforms their organization with some timely advice from a mentor with a manufacturing background. I can’t think of another book that’s made more impact in DevOps. It’s well written, compelling, and reaches executives – who want to lead change and identify with the central character – very effectively. The book really picks up speed in the Appendix where it gets more specific – I’ve reviewed it here in my blog. But, definitely, read this book!
Here’s the main aspects of this book:
- The “Three Ways” – Minimizing Waste and Improving Automation
- Driven by Clear Business Objectives
- Top-Down in approach, phased and conservative
Classic #2 – Leading The Transformation
Another modern day classic that deserves more attention is the book “Leading the Transformation” by Gary Gruver and Mouser. Gary Gruver led a transformation at HP and – in a very different approach than the Phoenix Project – focuses almost exclusively on delivering business value from the outset. He explains that organizations that try to just “do DevOps” or “do Agile” almost inevitably succeed initially but then flame out when they try to transform at scale, and explains specifically how to lay out a roadmap that will fit your organization and deliver value without high-visibility, risky and expensive death marches.
- Package CI and tech wants with business must-haves to incrementally gain credibility and traction
- Executives and the sometimes-forgotten “middle layer” of project management/BA layer as allies and leaders to translate strategic goals
- No single template – each development team has autonomy in choosing toolsets and process, as long as strategic goals being met
Category 2 – Developers
Classic #3 – Continuous Delivery
For developers, we often rely heavily on blog articles and begin focus almost immediately on choosing tools. “Continuous Delivery” by Jez Humble and Farley should be our logical starting point. The authors have an extremely solid grasp of the key pieces you’ll need to create a well rounded continuous delivery and integrated pipeline. Comprehensive and enlightening, I’ve never met a developer who didn’t enjoy this book cover to cover.
- Process-driven, heavy emphasis on automation and continuous integration, tooling and RM
- Less risk-averse, dev-centric
Category 3 – IT and Operations Teams
Last is the great and undeservedly little known “The Visible Ops Handbook” by Gene Kim. Here we have the missing pieces to the Phoenix Project – a more specific roadmap and a list of recommendations that’s more real-world. It’s more of a booklet, but it’s packed with information. I read this book about twice a year and always come away with something different. A longer review of the contents is here on my blog, but here’s the key features:
- IT-driven in emphasizing infrastructure as code, gold images and system assessments
- Best level of detail on KPI’s
- Very prescriptive, in four phases (stabilize, inventory and find problem children, grow build library, CI)
Wrapping It Up
Maybe you’re not a book guy – and that’s fine, we’ve got some great webcasts out there on Channel 9, including a 12 minute intro with Donovan Brown, and an excellent three part series on Release Management – Part 1 (overview), Part 2 (RM architecture), and Part 3 (release pipelines). Donovan’s blog is a must-read for me at least weekly. For example, here’s a post describing how he went about setting up a demo for a group in New Zealand using Docker, Ubuntu Linux, Visual Studio, Selenium, etc. Way cool! There’s another good link here for how Deployment Slots play into your DevOps pipeline, another on “how many vendors does it take to implement DevOps?”, triggering a rollback based on user feedback during a release, where Powershell DSC fits in.
If you want to kick forward your DevOps effort, reach out to us at Premier. One of our newest offerings is a DevOps Fundamentals lab. In three days, your team will learn how to manage builds, set up automated testing suites and unit testing, create a release pipeline including approvals and traceability, and tracking KPI’s and setting up availability monitoring. It’s outstanding!
The Premier Developer Blog will occasionally spotlight 3rd party books, tools, and technologies that our team members have found helpful in our development journey. To be clear, we’re not in the business of endorsing or promoting products for any purpose other than enriching the development community and sharing experiences. We hope every post provides information that is helpful in your journey. Feel free to contribute to any post by sharing your experiences via a comment. Our goal is first and foremost– help you build better software.