This is the third blog in the Field Notes from a DevOps Cultural Anthropologist series. This blog describes five metaphors for talking and thinking about DevOps. Though each metaphor is completely different, they each share a core commonality, which I think of as the DNA of DevOps. I have been in the continuous delivery and DevOps industry for nine years and have made a number of observations during that time. I have seen strategies succeed – and fail. My goal is to try to help you be one of the successes! I’d love to hear your comments and experiences with continuous delivery and DevOps.
My version of CAMS (Culture, Automation, Monitoring and Sharing) is ACAMS+ (Agile, Culture, Automation, Monitoring, Sharing, PLUS whatever is important to the client, i.e., Compliance or Innovation). I find CAMS and ACAMS+ to be great frameworks for discussing DevOps. They are the core values of DevOps, but not its DNA. Cracking the DNA of DevOps requires a singular focus on teamwork and team mission. With that said, CAMS and ACAMS+ map extraordinarily well to the 10 teamwork processes.[1] They are:
Mission analysis
Goal specification
Strategy formulation
Monitoring progress toward goals
Systems thinking
Team monitoring and backup behavior
Coordination
Conflict management
Motivation and confidence building
Affect management
What is DevOps’ DNA? It is more than just a rhetorical question. We as practitioners need to crack this code and understand and communicate DevOps at its most fundamental level, so that we can speak about it to our colleagues and superiors.
As I said in my first blog, DevOps is primarily an exercise in teamwork. A DevOps team is comprised of individual specialists, for example Dev, Ops, QA, UX and Security, all working together towards a common goal. Individuals are working on their own roles and responsibilities, but are coordinated and working together towards a common cause. This coordination is managed by a team leader and he/she ensures that the team moves forward together. This team leader is typically a servant leader, who both leads the team and serves them, unblocking problems and coordinating efforts.
Empathy amongst a DevOps team is an often cited necessity. Basically prima donnas will not be tolerated in a highly team-oriented environment. You have to be nice to work in DevOps, and get along well with others. In order to work well together, teams need to treat each other with respect and individuals need to act as good teammates. As I mentioned in my first blog, an excellent example of this is championship rowing teams, which are built on trust, dedication, selflessness, determination, honesty and commitment.
The DNA of DevOps is as follows:
Team of coordinated specialists
Oriented to a common goal
Servant leader providing coordination and communication
Empathetic in dealings with others
Trust in the rest of the team
Dedication to the common goal
Selflessness, adherence to the greater good
Determination and resiliency in the face of difficulty
Honesty with the leader and the rest of the team
Commitment to the mission
Cracking DevOps’ DNA is hard, but communicating it to lay people or others can be almost impossible. Thus the need for conceptual metaphors, which allow the understanding of one idea or conceptual domain, in terms of another. The five metaphors I have identified that closely match DevOps’ DNA are:
American football
Rowing or crew
A barn raising
A surgical team
An orchestra
I have created a matrix in Trello outlining each of these metaphors and how the success necessary for each closely parallels the DNA of DevOps. Read the metaphors .
Thomas McGonagle
Senior DevOps Consultant, Global Services
CloudBees
[1] https://en.wikipedia.org/wiki/Teamwork
Part 1: Field Notes from a DevOps Cultural Anthropologist
Part 2: CompOps: Continuous Delivery Needs Continuous Compliance
Part 4: DevOps Dojos: Safe Places for Practice and Mentorship
Part 5: Bramavihara: The Four Immeasurables of DevOps
Part 6: ChatOps: A DevOps Accelerant