From the course: DevOps Foundations

DevOps core values: CAMS

- The CAMS model, created by DevOps pioneers John Willis and Damon Edwards, stands for Culture, Automation, Measurement, and Sharing. CAMS has become the model set of values used by many DevOps practitioners. Patrick Debois, he's often referred to as the godfather of DevOps since he did coin the term, says, "DevOps is a human problem." Well, DevOps is often thought of as a technology problem. At its heart, it's a people and cultural problem, but what is culture? Culture is, you know, a lot more than ping pong tables in the office or free food in the company cafeteria. Culture is driven by human behavior. Culture exists among people with a mutual understanding of each other and where they're coming from. Early on, IT organizations split their teams into two major groups. The first group, development, was charged with creating applications and features, usually as fast and as cutting edge as possible. The other group, operations, was charged with server and network maintenance, stability, security, controlling costs, and generally making sure everything turned out right. As time passed, as you might have guessed, virtual walls were formed around these groups, making silos, due to their differing goals. After that pattern had decades to become rigid, these groups didn't speak the same language or have a mutual understanding anymore, and that leads to conflict and only caring about your team's goals and not the overall business outcome. Changing these underlying behaviors and assumptions is how you drive change in your company's culture, and it's where you'll want to start. This brings us to A in CAMS, Automation. The first thing people think about when they think of DevOps is usually automation. Now, DevOps is not just about automated tooling. Jumping into automation without spending time on the rest of the values is one of the main ways that people fail at DevOps implementation. That said, automation is a critical part of your DevOps journey. Once you begin to understand your culture, you can create a fabric of automation that allows you to create and control your systems and applications. Automation is the accelerator that helps you unlock the other benefits of DevOps. Manual work is the source of many inefficiencies and quality problems in technology value streams, so you want to make automation your primary approach to creating solutions. Okay, next up is the M in CAMS, which stands for Measurement. One of the keys to a rational approach to technology is your ability to observe and measure what's going on, both in your systems and with your people. Metrics tell you what is happening and whether the changes you've made have improved things. Now, there's two major pitfalls with metrics. First, sometimes we choose to watch the wrong things. Second, sometimes we incentivize them improperly. Because of this, DevOps strongly advises you to measure key metrics that measure outcomes across organizations, things like mean time to restore service after an outage and cycle time to deploy a new feature, but also consider higher level results like costs, revenue, and even employee satisfaction. These are all a part of generating holistic insight into your system. They help engage the team towards your overall goal. Then you can share them internally or even externally with customers and partners. Okay, speaking of sharing, that's the S in CAMS. Sharing ideas and problems is the heart of collaboration, and it's also at the heart of DevOps. Teamwork, transparency, and collaboration are key attributes to allow your team to learn and improve the larger organization. Sharing information via documentation, pair programming, peer reviews, mentoring, inclusion, and so on, it just makes everyone stronger and improves your technical and business outcomes. Adopting CAMS as the core values of DevOps reminds us that fundamentally, we are looking to change people's behavior, we can use the automation to accelerate change, we need to measure what we're doing to improve it, and working together builds better services. That's the core approach behind many of the more specific techniques we'll cover later in the course. Take these values to heart because the rest of your DevOps journey is about trying to realize them in your organization.

Contents