DevOps is not a tool. It's not a title. It's a culture and set of practices that bring development and operations together. The CALMS framework (Culture, Automation, Lean, Measurement, Sharing) defines what DevOps truly means. In this lesson, you'll learn the cultural transformation that enables faster, more reliable software delivery.

1. Learning Objectives

By the end of this lesson, you will be able to:

  • Understand the CALMS framework for DevOps
  • Break down organizational silos between Dev and Ops
  • Implement DevOps practices without tools first
  • Measure DevOps success with DORA metrics
  • Build a blameless culture for learning
  • Start a DevOps transformation in your organization

2. What is DevOps?

The Problem DevOps Solves:

Traditional organizations separate Development (writes code) and Operations (runs code). Developers throw code "over the wall" to Operations. Operations struggles to deploy it. Releases are painful, slow, and stressful.

The DevOps Solution: Development and Operations work together throughout the entire lifecycle. Shared responsibility. Shared goals. Shared success.

3. The CALMS Framework

C - Culture

Culture is the foundation. Without cultural change, tools won't help.

Key Cultural Principles:
- Blameless post-mortems: Find causes, not culprits
- Psychological safety: Teams can speak up without fear
- Shared responsibility: "You build it, you run it"
- Continuous learning: Failures are learning opportunities
- Collaboration over silos: Dev and Ops work together daily

Anti-patterns to avoid:
✗ Blaming individuals for incidents
✗ Dev throws code over the wall to Ops
✗ "It works on my machine" mentality
✗ Fear of change
✗ Hero culture (relying on individuals)
DevOps cultural principles

A - Automation

Automate everything that can be automated.

What to Automate:
- Infrastructure provisioning (Terraform, CloudFormation)
- Configuration management (Ansible, Puppet)
- Build and testing (CI/CD pipelines)
- Deployment (rolling updates, blue-green)
- Monitoring and alerting
- Scaling (auto-scaling groups, Kubernetes HPA)
- Security scanning (SAST, DAST, container scanning)
- Compliance checking

Why Automate:
- Remove manual errors
- Make processes repeatable
- Free humans for creative work
- Enable faster feedback
- Scale without hiring

Start with:
- Automating the most painful manual task first
- Building CI/CD pipeline for your app
- Infrastructure as Code for all cloud resources
DevOps automation principles

L - Lean

Lean principles focus on eliminating waste and delivering value faster.

The Seven Wastes in Software (adapted from Lean manufacturing):

1. Partially Done Work (unreleased features)
   → Reduce batch sizes, deploy more frequently

2. Extra Features (gold-plating)
   → Build only what customers need

3. Relearning (knowledge silos)
   → Document runbooks, pair programming

4. Handoffs (between teams)
   → Cross-functional teams, shared ownership

5. Task Switching (context switching)
   → Limit WIP, focus on one thing at a time

6. Delays (waiting for approvals)
   → Automate approvals, self-service platforms

7. Defects (bugs, incidents)
   → Automated testing, chaos engineering

Key Lean Metrics:
- Lead Time: idea → deployed
- Cycle Time: start work → deployed
- WIP (Work in Progress)
- Throughput
Lean principles for DevOps

M - Measurement

You can't improve what you don't measure.

DORA Metrics (State of DevOps Report):

Four Key Metrics that predict performance:

1. Deployment Frequency
   - How often do you deploy to production?
   - Elite: multiple times per day
   - High: between once per week and once per month
   - Medium: between once per month and once every 6 months
   - Low: less than once every 6 months

2. Lead Time for Changes
   - Time from code commit to running in production
   - Elite: less than one hour
   - High: between one day and one week
   - Medium: between one month and six months
   - Low: more than six months

3. Time to Restore Service (MTTR)
   - Time to recover from a failure
   - Elite: less than one hour
   - High: less than one day

4. Change Failure Rate
   - Percentage of deployments causing failure
   - Elite: 0-15%
   - High: 16-30%
   - Medium: 16-30% (same as high)
   - Low: 46-60%

How to Measure:
- Deployment Frequency: Count deployments per time period
- Lead Time: Time between commit and deploy (from CI/CD logs)
- MTTR: Time between alert and resolution (from incident tracking)
- Change Failure Rate: Deployments that cause incidents / total deployments
DORA metrics for measuring DevOps success

S - Sharing

Sharing knowledge creates resilience and accelerates learning.

Sharing Practices:

1. Blameless Post-Mortems
   - After every incident, document what happened
   - Focus on systems, not people
   - Share learnings across teams

2. ChatOps
   - Run commands from chat (Slack, Teams)
   - Visible to all, learn by watching
   - Example: /deploy production

3. Internal Wikis
   - Document runbooks, architecture decisions, troubleshooting guides
   - Keep up-to-date

4. Show and Tell / Demos
   - Weekly demos of what teams built
   - Share successes and failures

5. Cross-Training
   - Rotate team members across different areas
   - Pair programming between Dev and Ops

6. Open Source Contributions
   - Share internal tools publicly
   - Learn from external contributions

7. Metrics Dashboards
   - Make DORA metrics visible to everyone
   - Transparency drives improvement
DevOps sharing practices

4. The Three Ways of DevOps

The Three Ways (from The DevOps Handbook):

┌─────────────────────────────────────────────────────────────────┐
│                    FIRST WAY: Flow                               │
│  Optimize the flow of work from Dev to Ops to Customer           │
├─────────────────────────────────────────────────────────────────┤
│  • Make work visible (Kanban boards)                            │
│  • Reduce batch sizes (smaller deployments)                     │
│  • Limit Work in Progress                                       │
│  • Reduce handoffs and waiting                                  │
│  • Automate to prevent defects from flowing downstream          │
│  • Optimize for global goals, not local optimization            │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                    SECOND WAY: Feedback                          │
│  Amplify feedback loops to enable fast fixes                     │
├─────────────────────────────────────────────────────────────────┤
│  • See problems as they happen (monitoring, alerts)             │
│  • Swarm on problems (stop the line)                            │
│  • Short feedback cycles (CI/CD, automated tests)               │
│  • Blameless post-mortems                                       │
│  • Telemetry everywhere                                         │
│  • ChatOps for visibility                                       │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                    THIRD WAY: Continuous Learning                │
│  Create a culture of experimentation and risk-taking            │
├─────────────────────────────────────────────────────────────────┤
│  • Encourage experimentation (Chaos Engineering)                │
│  • Learn from failures (not just successes)                     │
│  • Reserve time for improvement (20% time)                      │
│  • Share learnings across teams                                 │
│  • Game days to practice incident response                      │
│  • Blameless culture enables learning                           │
└─────────────────────────────────────────────────────────────────┘
The Three Ways of DevOps

5. DevOps Transformation Roadmap

How to Start Your DevOps Journey:

Phase 1: Foundation (Months 1-3)
├── Get executive sponsorship
├── Identify one pilot team/project
├── Start measuring current DORA metrics
├── Automate one painful manual task
├── Start daily standups together (Dev + Ops)
└── Build a shared backlog

Phase 2: Build Momentum (Months 3-6)
├── Implement CI/CD for pilot project
├── Infrastructure as Code (start small)
├── Shared monitoring dashboards
├── Rotate Devs into Ops and Ops into Dev
├── Conduct blameless post-mortems
└── Start measuring and sharing metrics

Phase 3: Scale (Months 6-12)
├── Expand to more teams
├── Build platform teams (internal tools)
├── Self-service deployment platforms
├── Chaos Engineering practices
├── Security integrated into pipelines (DevSecOps)
└── Product-aligned teams (not function-aligned)

Phase 4: Optimize (12+ months)
├── Continuous improvement culture
├── Regular game days
├── Open source internal tools
├── Industry benchmarking
└── Teach others

Common Pitfalls to Avoid:
✗ Buying tools before changing culture
✗ Creating a "DevOps team" (creates new silo)
✗ Forcing top-down change without buy-in
✗ Ignoring measurement
✗ Blaming people for failures
✗ Keeping Dev and Ops separate
DevOps transformation roadmap

6. Common Anti-Patterns

7. Summary Checklist

8. Next Steps

Next lesson: DevOps Lesson 2: Site Reliability Engineering (SRE)

Gataya Med

DevOps Engineer & Backend Developer. Sharing insights on cloud, automation, and scalable systems.

Comments (0)

Sarah Chen February 27, 2025

This is exactly what I needed! The initContainer approach solved our migration issues completely. Thanks for the detailed guide!

Reply

Leave a Comment