Level: Intermediate — DevOps Practitioners, Architects, IT Managers
Table of Contents
- 1. Course Overview
- 2. Auditing Your Current State
- 3. Starting Your DevOps Pilot
- 4. Developing and Sustaining DevOps Momentum
- 5. Reference Diagrams
- 6. Reference Tables
1. Course Overview
This course covers planning and implementing an end-to-end DevOps strategy: how to start a DevOps program in your organization, how to prove value via a pilot, and how to scale DevOps to become the company’s standard way of working.
Learning Objectives
| Objective | Description |
|---|---|
| Current State Audit | Analyze the organization, teams, and value streams before starting |
| DevOps Pilot | Identify fundamentals, build the right team, define success |
| Scaling | Strategies for spreading DevOps across the organization |
| Metrics | Measure and communicate the value of DevOps |
2. Auditing Your Current State
2.1 Defining DevOps
Two key definitions:
Google Cloud:
“DevOps is an organizational and cultural movement that aims to increase software delivery velocity, improve service reliability, and build shared ownership among software stakeholders.”
Amazon Web Services:
“DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.”
DevOps has its roots in Lean Manufacturing — optimizing the value flow to the customer by eliminating waste. It is not just about tools; it’s a culture change.
2.2 What NOT to Do
Six pitfalls that can sabotage your DevOps effort from the start:
| Pitfall | Explanation |
|---|---|
| Buying lots of software | You can’t buy DevOps. Acquiring tools before knowing how to use them creates frustration. |
| Renaming teams | Calling the QA team “DevOps team” isn’t DevOps — it’s theater. |
| Defining too many standards | Standardizing too early, before learning, limits flexibility. |
| Forcing all changes at once | Big-bang efforts are risky and unlikely to succeed. |
| Creating an isolated center of excellence | An isolated DevOps team doesn’t create shared culture. |
| Ignoring culture | DevOps fails in highly hierarchical, siloed, blame-culture organizations. |
2.3 Analyzing Organizational Maturity
Where to Look
-
Declared goals — OKRs, KPIs, annual reports
- Growth in new markets?
- Protecting existing business?
- Cost reduction?
- Customer retention vs. emerging competitors?
-
Business opportunities and challenges
- Who is your main competitor? How are they doing?
- Integrating a recently acquired company?
- Major system end-of-life with uncertain ROI?
-
Capacity for change
- What change management process is in place?
- What budget is available for transformation?
2.4 Analyzing Teams and Skills
Identifying Internal Champions
A DevOps champion must:
- Have air cover — executive support
- Be respected and influential in the organization
- Be a team player who rallies, not a “polarizing genius”
- Ideally, not be limited to IT — champions can come from business
Executive sponsors: at least one IT/business leader must actively support the initiative.
Evaluating Current Skills
| Domain | Skills to Check |
|---|---|
| Version Control | Git, branching strategies, trunk-based development |
| CI/CD | Automated pipelines, build, test, deploy |
| Infrastructure as Code | Terraform, Ansible, CloudFormation |
| Containerization | Docker, Kubernetes |
| Monitoring & Observability | Metrics, logging, alerting |
| Testing | Unit tests, integration tests, coverage |
| Cloud | AWS, Azure, GCP — provisioning and management |
| Security | DevSecOps, scanning, vulnerability management |
2.5 Analyzing Value Streams
Definition
A value stream is a specific sequence of activities required to deliver value to a customer (internal or external).
Value Stream Mapping is a technique to visualize, analyze, and improve the workflow for delivering a product or service.
Where to Focus DevOps Efforts
| Criterion | Description |
|---|---|
| Organizational importance | Leadership is actively interested |
| Current underperformance | Slow, unreliable, generating customer complaints |
| Emerging domains | New business lines, new technologies |
| Visibility | A success here will be noticed and will credentialize DevOps |
How to Map a Value Stream
- Identify the trigger — What starts the work? (customer request, ticket, feature request)
- Map the steps — From idea to production
- Measure time — Processing time vs. wait time at each step
- Identify bottlenecks — Where does work accumulate?
- Calculate flow efficiency — Ratio of value time / total time
3. Starting Your DevOps Pilot
3.1 DevOps Adoption Challenges
The 6 main challenges you will encounter:
| Challenge | Potential Impacts |
|---|---|
| Missing skills | No one is an expert in all DevOps domains from the start |
| Unclear goals | Without clear, shared objectives, effort disperses |
| Incompatible processes | Change management, deployment approvals — all in conflict with continuous delivery |
| Cultural mismatch | Strong hierarchy, silos, blame culture — DevOps is difficult there |
| Resistance to change | DevOps challenges the status quo — expected and normal |
| Lack of leadership | Without direction-carried vision, momentum stalls |
3.2 The Adoption Journey
flowchart LR
A[Define goals\nand skill gaps] --> B[Identify\nvalue streams]
B --> C[Launch Pilot\n5-9 people]
C --> D[Automate\ninfrastructure]
D --> E[Automate\napp delivery]
E --> F[Improve\noperations]
F --> G[Scale to\nother teams]
G --> H[DevOps as\nstandard way of work]
3.3 What to Prove in Your Pilot
1. Measurable Impact via Customer Satisfaction
- Success metrics are not the number of servers provisioned
- They must be customer-oriented: error rates, response time, NPS, feature adoption
2. Product Teams Can Regularly Deploy to Production with Automation
- Prove the ability to automate the path to production
- Measure reduction in change failures
- Show improvement in bug fix rate
3. Sustainable Cultural Improvement is Possible
- Prove that shared metrics, blameless post-mortems, and shared ownership are viable
3.4 Building the First Team
Team Topologies Options
| Structure | Description | Suitable for Pilot? |
|---|---|---|
| Dev + Ops Collaboration | Dev and Ops collaborate fluidly, shared goals | Ideal but difficult if DevOps is new |
| DevOps Advocacy Team | DevOps team facilitating between siloed Dev and Ops | Good start, but IT-focused rather than product |
| Ops as IaaS | Ops treated as infrastructure provider | Realistic if much cloud, good for product teams |
| Embedded DevOps | DevOps expert embedded in each product team | Excellent for scaling after pilot |
Team size: 5 to 9 people — small enough to move fast, large enough to cover skills. Include Dev, Ops, QA, possibly Security.
3.5 Small Batches, Visual Systems, and Continuous Delivery
Small Batches — The Secret of DevOps
flowchart TD
A[Large annual\nrelease] --> B{If problem?}
B --> C[LARGE impact surface\nComplex troubleshooting\nDifficult rollback]
D[Small batch\none feature] --> E{If problem?}
E --> F[SMALL impact surface\nCause quickly identifiable\nFast iteration possible]
Advantages of small batches:
- Fast learning — if it’s not what was wanted, you know quickly
- Limited impact if issues arise
- Shortened feedback loop
- Continuous deployment possible
Visual Systems — Making Work Visible
- Kanban boards: visualize what’s in progress, what’s blocked
- Burndown charts: sprint progression
- Production dashboards: real-time metrics visible to the whole team
Transparency breaks silos and builds a culture of trust.
3.6 Version Control: DevOps Foundation
Version control is the anchor of all DevOps practices.
| Practice | Description |
|---|---|
| Trunk-based development | Frequent commits to main, short-lived branches |
| Feature branches | Acceptable but must be merged frequently |
| Feature flags | Allow deploying incomplete code without activating it |
| Branch by abstraction | Technique for progressive refactoring without breaking main |
Why trunk-based development?
- Without it, continuous integration is impossible
- Avoids “merge hell” — branches diverging for weeks
- Keeps the main branch almost always deployable
3.7 The Integration and Delivery Pipeline
flowchart LR
A[Idea /\nUser Story] --> B[Version\nControl]
B --> C[Build]
C --> D[Automated\nTests]
D --> E[Artifact\nManagement]
E --> F[Deploy\nDev/QA]
F --> G[Approval]
G --> H[Production]
| Component | Importance | Notes |
|---|---|---|
| Test coverage | Critical | Without tests, no confidence for automatic deployment |
| Artifact management | High | Store binaries, containers, VM images |
| Release automation | High | Blue/green, canary, rolling deployments |
| Environment provisioning | High | Reproducible environments on demand |
3.8 Automation to Introduce in the Pilot
| Domain | Common Tools | Pilot Priority |
|---|---|---|
| IaC — Infrastructure | Terraform, Pulumi | High |
| Configuration Management | Ansible, Chef, Puppet | High |
| Container Orchestration | Kubernetes, Docker Compose | Medium |
| CI/CD Pipeline | GitHub Actions, Azure DevOps, GitLab CI | Critical |
| Secrets Management | HashiCorp Vault, AWS Secrets Manager | High |
| Monitoring | Prometheus, Grafana, Datadog | Medium |
3.9 Building Momentum and Visibility
- Internal forums — share what you’re learning with other teams
- Documentation — wiki, best practices accessible to all
- Visible metrics — large screens with pipeline and delivery metrics
- Identify the next team that will adopt DevOps
- Document successes AND failures — both are useful
4. Developing and Sustaining DevOps Momentum
4.1 Scaling Challenges
| Challenge | Description |
|---|---|
| Legacy systems | The pilot may have avoided ERP, CRM, mainframes — not the next teams |
| Scaling practices | DevOps practices loved by one team must be adopted by dozens |
| Pipeline optimization | Unresolved bottlenecks from the pilot return |
| Change resistance | Without pilot isolation, you’ll face more opposition |
| Cross-team coordination | More teams = more coordination surface |
| Inconsistent tooling | Each team chooses its own tools — fragmentation |
4.2 Expanding the Stakeholder Pool
- The average CIO tenure is ~18 months — DevOps can’t rely on one person
- Beyond IT — find champions in business lines
- Align IT VPs — VP of Ops and VP of Engineering must share the same goals
- Evangelize adjacent teams — software teams, support, architecture
4.3 Skills to Scale
Making Work Visible (Scaling)
This practice must become universal — work in progress visible by all, backlogs, burndowns, production metrics accessible to everyone.
Agile + Small Batches at Scale
Common problem observed:
Teams work in small batches, but a release team takes all those small lots and deploys them quarterly. This breaks the entire model.
Small batches must apply throughout the pipeline all the way to production.
4.4 Technology and Process Standardization
Standardize only after the pilot, never before.
| Domain | Examples | Selection Criteria |
|---|---|---|
| Languages/frameworks | Python, Java, TypeScript | What the org can realistically adopt |
| Issue tracking | Jira, Azure DevOps Boards | One system for the full cycle |
| Cloud platforms | AWS, Azure, GCP | Avoid fragmentation if possible |
| CI/CD pipeline | GitHub Actions, Azure Pipelines | Easy to maintain and transfer |
| IaC | Terraform | Wide adoption, multi-cloud |
| Monitoring | Prometheus + Grafana, Datadog | Unified visibility |
Standardize on things that facilitate rotation of people between teams.
4.5 Building Subsequent Teams
- Seeding from the pilot — pilot team members temporarily or permanently join new teams
- Look for smart and motivated people for change
- Deliberate rotation propagates practices and culture
4.6 The Platform Team
Why a Platform Team?
A Platform Team solves the scaling problem by offering:
- Self-service and programmable infrastructure and delivery services
- A platform that product teams use to deploy and operate their services
- An internal product with developers as customers
flowchart TD
PT[Platform Team\nPlatform as product] --> |Self-service APIs| P1[Product Team A]
PT --> |Self-service APIs| P2[Product Team B]
PT --> |Self-service APIs| P3[Product Team C]
P1 --> |Deploy via platform| PROD[Production]
P2 --> |Deploy via platform| PROD
P3 --> |Deploy via platform| PROD
P1 -.->|Feedback| PT
P2 -.->|Feedback| PT
| Aspect | Description |
|---|---|
| Composition | Cross-functional — Dev, Ops, SRE, Security |
| Approach | API-driven — everything self-service, nothing via tickets |
| Backlog | Managed like a real product, with dev teams as customers |
| Objective | Simplify product teams’ lives, not control them |
4.7 Shift Left on Security
“Shift left is the practice of implementing testing, security, or other development practices early in the software development lifecycle rather than at the end.” — CNCF
flowchart LR
subgraph SL ["Shift Left"]
SL1[SAST\nStatic Analysis]
SL2[Dependency\nScanning]
SL3[Secret\nDetection]
SL4[IaC\nScanning]
end
subgraph SDLC ["SDLC"]
direction LR
A[Code] --> B[Build] --> C[Test] --> D[Deploy] --> E[Operate]
end
subgraph SR ["Shift Right"]
SR1[WAF]
SR2[DDoS Protection]
SR3[Runtime Scan]
SR4[Pen Testing]
end
SL -.->|integrated in| SDLC
SDLC -.->|protected by| SR
| Practice | Tool/Approach | When |
|---|---|---|
| SAST | SonarQube, Checkmarx, Semgrep | On every commit |
| Dependency scanning | OWASP Dependency Check, Snyk | On every build |
| Secret detection | GitLeaks, TruffleHog | Pre-commit hooks |
| IaC scanning | Checkov, tfsec | In the CI pipeline |
| Container scanning | Trivy, Clair | On every image build |
4.8 IT Role Evolution
| Role | Before | After |
|---|---|---|
| Developer | Deliver code, don’t worry about prod | Co-responsible for production reliability |
| Ops / SysAdmin | Manage infrastructure manually | Automate, provide APIs |
| QA | Test at end of cycle | Test continuously, shift left |
| Project Manager | Manage large releases | Facilitate small batch flow |
| Architect | Define top-down standards | Guide and enable product teams |
4.9 Publishing Metrics to Stakeholders
Choosing the Right Metrics
DevOps metrics are not:
- Number of servers under management
- Number of tickets closed
- Uptime percentage of an internal service
DevOps metrics are:
- Customer uptime improvement
- New customer sign-ups
- Mobile transaction latency
- Deployment frequency
- Bug fix time
Establish the Baseline
You can’t show improvement without knowing where you started.
- Measure current state before starting
- Document and share the baseline with stakeholders
- Define improvement objectives
- Track and publish regularly
4.10 Maintaining Long-Term Success
- Communities of practice — regular knowledge sharing sessions
- Internal conferences — DevOps days, workshops
- Metrics dashboards — visible and regularly updated
- Retrospectives — systematically incorporate lessons learned
- Champion rotation — don’t let all knowledge concentrate in one person
5. Reference Diagrams
5.1 DevOps Roadmap
gantt
title DevOps Adoption Journey
dateFormat X
axisFormat Phase %s
section Audit
Current state analysis :done, 1, 2
section Pilot
Team formation + basics :done, 2, 3
CI/CD + version control :done, 3, 4
IaC + monitoring :done, 4, 5
section Scaling
Second team onboarding :done, 5, 6
Platform team creation :done, 6, 7
Shift left security :done, 7, 8
section Maturity
DORA metrics + optimization :done, 8, 9
DevOps as standard :done, 9, 10
5.2 Organizational Transformation
flowchart TD
subgraph Before ["Before DevOps"]
DEV_B[Dev Team] --> RELEASE_B[Release Team]
RELEASE_B --> OPS_B[Ops Team]
OPS_B --> PROD_B[Production]
DEV_B x--x OPS_B
end
subgraph After ["After DevOps"]
DEV_A[Dev + Ops\nCross-functional team] --> PIPE_A[Automated Pipeline]
PIPE_A --> PROD_A[Production]
PLATFORM[Platform Team\nSelf-service] --> DEV_A
end
6. Reference Tables
6.1 Key DevOps Metrics (DORA)
| Metric | Definition | Elite | High | Medium | Low |
|---|---|---|---|---|---|
| Deployment Frequency | How often deploying to production | Multiple/day | 1/day – 1/week | 1/week – 1/month | < 1/month |
| Lead Time for Changes | Time from commit to prod deployment | < 1 hour | 1 day – 1 week | 1 week – 1 month | > 6 months |
| Change Failure Rate | % of deployments causing an incident | 0-15% | 0-15% | 16-30% | 16-30% |
| MTTR | Time to restore service | < 1 hour | < 1 day | 1 day – 1 week | > 6 months |
6.2 Team Topologies
| Structure | When to Use | Advantages | Disadvantages |
|---|---|---|---|
| Stream-Aligned Team | Team aligned on a product value stream | Full ownership, fast feedback | Needs broad skills |
| Platform Team | Provide self-service to product teams | Scalability, standardization | Risk of disconnection from real needs |
| Enabling Team | Help other teams adopt new practices | Accelerates adoption | Must not become permanent dependency |
| Complicated Subsystem Team | Manage very complex components (ML, crypto security) | Concentrated expertise | Communication overhead |
6.3 Frameworks and Tools by Domain
| Domain | Open Source Tools | Cloud / SaaS Tools | Best Practices |
|---|---|---|---|
| Source Control | Git, Gitea | GitHub, GitLab, Azure Repos | Trunk-based development, branch protection |
| CI/CD | Jenkins, Tekton, Argo CD | GitHub Actions, Azure Pipelines, GitLab CI | Pipeline as Code, immutable artifacts |
| IaC | Terraform, Pulumi, Ansible | AWS CDK, Azure Bicep | Declarative, versioned, tested |
| Containers | Docker, Podman | Amazon ECR, Azure ACR | Minimal images, multi-stage builds |
| Orchestration | Kubernetes, Nomad | EKS, AKS, GKE | GitOps, Helm charts |
| Monitoring | Prometheus, Grafana, OpenTelemetry | Datadog, New Relic, Dynatrace | SLI/SLO/SLA defined |
| Logging | ELK Stack, Loki, Fluentd | Splunk, Azure Monitor, CloudWatch | Structured logging, retention policies |
| Security (SAST) | SonarQube, Semgrep, Checkov | Snyk, Veracode, Prisma Cloud | Integrated in CI pipeline |
| Secrets Management | HashiCorp Vault | AWS Secrets Manager, Azure Key Vault | Zero secrets in code |
| Testing | JUnit, pytest, Cypress, k6 | BrowserStack, Sauce Labs | Test pyramid respected |
6.4 DevOps Maturity Levels
| Level | Name | Characteristics | Typical Metrics |
|---|---|---|---|
| 1 | Initial | Manual deployments, few tests, Dev/Ops silos | Deploy freq: < 1/month, Lead time: months |
| 2 | Managed | CI in place, basic tests, some automation scripts | Deploy freq: 1/week, Lead time: 1-2 weeks |
| 3 | Defined | CD in place, IaC, basic monitoring, Dev/Ops collaboration | Deploy freq: 1/day, Lead time: days |
| 4 | Quantitatively Managed | DORA metrics measured, Platform team, shift left security | Deploy freq: multiple/day, Lead time: hours |
| 5 | Optimizing | Automated feedback loops, continuous experimentation, AI/ML in pipeline | Deploy freq: on demand, Lead time: < 1h |
Recommended Resources
Essential Books
| Title | Authors | Key Contribution |
|---|---|---|
| The Phoenix Project | Kim, Behr, Spafford | Novel on DevOps transformation — essential |
| The DevOps Handbook | Kim, Humble, Debois, Willis | Complete practical guide |
| Team Topologies | Skelton, Pais | Team structures for DevOps |
| Accelerate | Forsgren, Humble, Kim | Science behind DORA metrics |
| Site Reliability Engineering | Google SRE Team | SRE as DevOps extension |
| Continuous Delivery | Humble, Farley | Continuous delivery pipeline |
Annual Reports
- DORA State of DevOps Report — Google Cloud annual report on DevOps state
- GitLab DevSecOps Survey — Global DevSecOps trends
Search Terms
devops · troubleshooting · planning · strategy · ci/cd · git · team · analyzing · batches · metrics · pilot · skills · teams · adoption · automation · challenges · current · delivery · maturity · momentum · organizational · platform · reference · scale