DevOps Maturity Specification

Assess, improve, and showcase your DevOps maturity — across teams and organizations.

DevOps Maturity Specification 1.0.0

Summary

What is the DevOps Maturity Specification?

The DevOps Maturity Specification is a set of guidelines and criteria designed to help organizations assess and improve their DevOps practices. It provides a structured approach to evaluate key areas such as Basics, Quality, Security, Supply Chain Security, Analysis, and Reporting. The specification is intended to align with best practices and provide a framework for continuous improvement within the DevOps community.

Key Points


Specification

Category Code1 Criteria2 Req.3
Basics D101 Branch Builds 🟢
D102 Pull Request Builds 🟢
D103 Clean Build Environments 🟡
Quality D201 Unit Testing 🟢
D202 Functional Testing 🟢
D203 Performance Testing 🟡
D204 Code Coverage 🟡
D205 Accessibility Testing 🟡
Security D301 Vulnerability Scanning 🟢
D302 License Scanning 🟡
Supply Chain Security D401 Documented Build Process 🟢
D402 CI/CD as Code 🟢
D403 Artifact Signing 🟡
D404 Dependency Pinning 🟡
D405 SBOM Generation 🟡
Analysis D501 Static Code Analysis 🟡
D502 Dynamic Code Analysis 🟡
D503 Code Linting 🟡
Reporting D601 Notifications & Alerts 🟢
D602 Attached Reports 🟡
D603 Compliance Mapping & Auditability 🟡

Proposed a new criteria? Please open an issue.

Badge Levels

Your score will generate one of the following badges:

Level Score Range Badge
WIP 0 - 29 WIP
PASSING 30 - 49 PASSING
BRONZE 50 - 69 BRONZE
SILVER 70 - 89 SILVER
GOLD 90 - 100 GOLD

Criteria Reference

Code Map

Code Description
D1xx Basics
D2xx Quality
D3xx Security
D4xx Supply Chain Security
D5xx Analysis
D6xx Reporting

Criteria Details

Click to expand criteria details
Code Criteria Description
D101 Branch Builds Enables builds to be triggered from any Git branch, not limited to the main or default branch.
D102 Pull Request Builds Supports automatic builds for pull requests (PRs), allowing validation before merging into target branches.
D103 Clean Build Environments Ensures builds run in isolated, reproducible environments (e.g., containers or virtual machines) to avoid contamination from previous runs.
D201 Unit Testing Supports execution of unit or component-level tests to validate individual functions or modules in isolation.
D202 Functional Testing Enables running functional, integration, or end-to-end (E2E) tests to validate system behavior and interactions.
D203 Performance Testing Supports performance-related testing, such as load, stress, and scalability tests, to evaluate system responsiveness and stability under pressure.
D204 Code Coverage Enables measurement of test coverage, including metrics like line, branch, and function coverage, to assess test effectiveness.
D205 Accessibility Testing Supports testing for compliance with accessibility standards (e.g., WCAG) to ensure usability for people with disabilities.
D301 Vulnerability Scanning Scanning source code, containers, or infrastructure for known security vulnerabilities using tools like Snyk, Trivy, or SonarQube security rules.
D302 License Scanning Checking open-source dependencies for license compliance and legal risks to avoid unapproved or incompatible usage.
D401 Documented Build Process CI/CD build steps are version-controlled and documented.
D402 CI/CD as Code Pipelines and infrastructure are defined as code (IaC, PaC).
D403 Artifact Signing Build artifacts are cryptographically signed.
D404 Dependency Pinning All dependencies are pinned to exact versions.
D405 SBOM Generation Automatically generate and manage Software Bill of Materials (SBOMs) using SPDX or CycloneDX.
D501 Static Code Analysis Analyzing code without executing it to detect bugs, code smells, or potential security issues.
D502 Dynamic Code Analysis Analyzing running applications to detect runtime vulnerabilities, memory leaks, or behavioral issues.
D503 Code Linting Checking code for style, formatting, and consistency rules.
D601 Notifications & Alerts Notify stakeholders on key CI/CD events.
D602 Attached Reports CI/CD runs produce and attach structured test and analysis reports.
D603 Compliance Mapping & Auditability Map controls to standards (e.g., SLSA, NIST, ISO 20243) and provide audit-ready reports.

FAQ

What is the difference between OpenSSF Best Practices and DevOps Maturity?

OpenSSF Best Practices targets open source projects across the entire software development lifecycle, while DevOps Maturity focuses specifically on DevOps practices applicable to both open source and internal enterprise projects. DevOps Maturity provides both a web UI and a CLI for automatic maturity scoring. In contrast, OpenSSF Best Practices only offers a web-based SaaS and does not support internal deployment.

What is the difference between DevOps Maturity Model and DevOps Maturity Specification?

The DevOps Maturity Model is a conceptual framework that outlines the stages of DevOps adoption and maturity, while the DevOps Maturity Specification provides a detailed, actionable set of criteria and guidelines for assessing and improving DevOps practices.

How can I contribute to the DevOps Maturity Specification?

You can contribute by proposing new criteria, features, or reporting bugs. Please open an issue or create a pull request on GitHub. We welcome contributions from the community!

How can I use the DevOps Maturity Specification in my organization?

You can integrate the DevOps Maturity Specification into your organization’s DevOps practices by:


  1. A criteria ID code is a unique identifier assigned to specific criteria. For more details, see the Code Map↩︎

  2. Detailed information on each criteria can be found in the Criteria Details section. ↩︎

  3. Required Levels: 🟢 Must-Have (Weight: 1), 🟡 Nice-to-Have (Weight: 0.5). ↩︎