First, a confession: I’ve known Gene Kim for a long time, and we’ve had our occasional conversations over the years. But I recently came to the realization that I never REALLY listened to him. Although a large part of that is quite obviously my own fault, in my defense, Gene is not always an easy person to follow. You’re with him one second, and like trying to follow the flight path of a humming bird, suddenly he’s somewhere else.
Maybe I should have tried harder, because he has a LOT of great things to share.
When I saw him recently, I admitted that I hadn’t really dug much into what is termed “DevOps” and I was ready to learn more. One question I asked him was “What are the necessary prerequisites to help ensure the success of DevOps in any given organization?”
To be honest, I was pretty disappointed in and surprised by Gene’s “non-answer”, which was, essentially, that since DevOps is still in an “early adopter” state, no one really knows. (I’ve come to realize, perhaps, that he wasn’t just being non-committal, but in his wisdom knew that discovering the answer on my own would be more meaningful. OK. Maybe I’m giving Gene way too much credit.)
In any case, not being satisfied with his reply, I knew there had to be something needed as prerequisites and I intended to find out.
As a result, I decided to attend an introductory session of the GamingWorks DevOps Simulation/Game based on Gene’s “The Phoenix Project”, facilitate by the incomparable Paul Wilkinson.
To say it was eye opening is an understatement. After the session, Paul went around the room to find out what people felt they had learned from his session.
To my personal amazement, I realized I had figured out at least SOME of the pre-requisites which should be in place to help ensure an organization’s success in embracing and gaining maximum value from DevOps, which I’ve broken down into four areas:
· Organizational Understanding
· Business/IT Service focus and orientation and
· Commitment to BUSINESS VALUE REALIZATION
· A blame-free culture
· A learning culture - Knowledge sharing
· A political awareness: behavior of individuals toward Business Goals vs. Personal
· Clear understanding of Business Prioritization (based upon BUSINESS VALUE, i.e., risk avoidance and benefit realization)
· Clear understanding of stakeholders and their associated roles and responsibilities within DevOps
· A firm understanding that it is a journey requiring iterative maturity - start small, grow capability
· Solid IT Service Management understanding
- What is a service?
- What are business outcomes supported?
· A good degree of process Maturity/Capability/Discipline
- Problem management is critical (and necessary for 2nd wave - feedback)
- Change Management/Release Management (in a non- bureaucratic, DevOps context)
- Service Asset and Configuration Management
- Security, Availability, Continuity to create a combined risk oversight.
· Project Management skills (not to “lead projects” but to understand flow)
· DevOps Training - You want to "learn the lingo"
· Tool to visualize the workflow (Kanban board or Visual management board), i.e., to "Make the invisible visible"
· Tool(s) for automated testing
· A Configuration Management System
Without reservation, I don’t presume to suggest that this list is in any way comprehensive or, for that matter, even accurate. When it comes to DevOps, I’m a novice. But, anyway, it works for me.
I might suggest, however, that the more of these things you have in place, the greater the likelihood of DevOps success.
And it should be emphasized that you wouldn’t want to stop pursuing a DevOps initiative if you don’t have any – or even ALL – of these currently in place in your organization.
Taking some degree of action is highly recommended.
Start somewhere. Get moving. You can’t steer a parked car!!
One Service Manager's View on DevOps