The four maturity levels
Every area lands on one of four levels. The names describe how work happens, not how good the team is: a Reactive area is usually one nobody has had time to invest in yet.
| Level | Area score | What it looks like |
|---|---|---|
| Reactive | 0–2 | Work depends on a few people and on memory. Changes are manual and infrequent, users find problems first, and nobody can say with confidence what is running or what it costs. |
| Repeatable | 3–5 | The basics exist and are written down, but they are applied unevenly. Pipelines, runbooks and tags cover the important systems; results still depend on who is on shift. |
| Measured | 6–7 | Practices are standard and measured. Targets such as SLOs, delivery metrics and cost allocation are reviewed on a schedule and change what the team does next. |
| Optimizing | 8–9 | Measurement drives continuous improvement. Guardrails are automated, teams serve themselves, and the numbers decide the next investment rather than report on the last one. |
What to do next in each area
Each area has one next step per level. The result panel shows the step for your two weakest areas; the full set is here so you can plan beyond them.
Delivery
Reactive → Repeatable. Put every service on one automated build, test and deploy pipeline, and ship small changes on a regular cadence instead of large, infrequent releases. Start recording deployment frequency and lead time now so there is a baseline to improve against; the DORA metrics guide shows how.
Repeatable → Measured. Shrink batch size: short-lived branches, automated tests that gate every merge, and a rollback that is one command. Track the five DORA metrics per service and review them with the team every month. What is DevOps? covers the practices behind the numbers.
Measured → Optimizing. Make releases boring: progressive delivery (canary or blue-green) with automatic rollback when an SLO is breached, and Git as the record of what is deployed where. GitOps is the usual way to get there.
Holding Optimizing. Watch the instability side as volume grows: change fail rate and deployment rework rate, not only speed. Keep pipeline run time under review, because a slow pipeline quietly pushes teams back to batching. An outside DevOps review can catch the slide early.
Infrastructure
Reactive → Repeatable. Start with what would hurt most to lose: networking, identity and access, and the production cluster. Bring them under Terraform or OpenTofu with remote, locked state, and make a reviewed pull request the only way they change. See Terraform consulting.
Repeatable → Measured. Turn repeated patterns into modules, run a plan on every pull request, and rebuild a non-production environment from code on a schedule to prove it still works. If the tool choice is still open, compare Terraform, OpenTofu and Pulumi.
Measured → Optimizing. Add continuous drift detection and move cluster and application configuration to a pull-based controller, so the cluster reconciles itself to Git and manual changes are reverted. See what GitOps is and GitOps consulting.
Holding Optimizing. Treat the infrastructure code as a product: golden paths and self-service templates, so teams create compliant environments without filing a ticket. That is platform engineering; judge it by adoption rather than by features shipped.
Reliability
Reactive → Repeatable. Pick the two user journeys that matter most, define an indicator for each, and set an SLO you already meet. Write a short, blameless postmortem after every customer-facing incident. What is SRE? explains SLOs and error budgets.
Repeatable → Measured. Agree an error-budget policy with product, development and on-call engineers, so a spent budget changes priorities instead of starting a debate. Track postmortem action items to closure. The uptime and SLA calculator turns a target into allowed downtime.
Measured → Optimizing. Measure on-call load and toil, then cap them: the Google SRE workbook targets at most two incidents per on-call shift and limits SRE operational work to 50% of time. Automate the biggest toil item every quarter. See SRE consulting.
Holding Optimizing. Go looking for failures you have not had yet: game days and controlled failure tests on the journeys your SLOs cover, and incident trends reviewed across teams rather than one postmortem at a time. SRE for SaaS goes further.
Observability
Reactive → Repeatable. Before buying anything, structure your logs with a request ID and collect latency, traffic, errors and saturation for every user-facing service. Start with the four golden signals.
Repeatable → Measured. Add distributed tracing on the critical paths and carry one trace ID through logs, metrics and traces, so an engineer can pivot between them in one step. Standardise instrumentation on OpenTelemetry. See what observability is.
Measured → Optimizing. Page on symptoms, not causes: alert on SLO burn rate with multiwindow rules, and send cause-based alerts such as CPU to a ticket queue instead of the pager. The alert fatigue trap explains why.
Holding Optimizing. Give telemetry a budget and an owner: retention tiers, deliberate trace sampling, and instrumentation in the definition of done. Review the observability bill monthly, like any other cloud cost. See observability consulting.
Cost
Reactive → Repeatable. Get one view of the bill and a tagging standard (team, product, environment) enforced on new resources, then clear the obvious waste: idle, oversized and forgotten resources. The cloud waste calculator gives a first estimate.
Repeatable → Measured. Push allocation towards the FinOps Foundation’s Walk goal of 85% of cost with a known owner, give every shared cost a split rule, and review commitments and rightsizing on a fixed cadence with a named owner. The reserved instance calculator helps size commitments.
Measured → Optimizing. Route anomaly alerts to the team that owns the spend, report unit cost (per customer or per request) next to the total, and forecast against budget. What is FinOps? covers the operating model.
Holding Optimizing. Automate the routine: schedules for non-production, rightsizing applied through code, and cost checks in pull requests. A periodic cloud bill audit catches what automation misses.
Security
Reactive → Repeatable. Get secrets out of code, config files and chat: move them into a secrets manager, rotate anything that has ever been committed, and turn on secret scanning for every repository. What is DevSecOps? covers the basics.
Repeatable → Measured. Replace long-lived CI cloud keys with OIDC federation and least-privilege roles, pin third-party actions to full-length commit SHAs, and generate an SBOM for every build. See the CI/CD supply-chain playbook.
Measured → Optimizing. Sign what you build and record provenance, then verify both at deploy time with policy as code, so an unsigned or non-compliant artifact cannot reach production. See DevSecOps consulting.
Holding Optimizing. Keep testing the controls, not just running them: check that an unsigned image really is refused, keep dependencies current on a schedule, and measure account posture against a baseline. The DevOps readiness checklist is a quick re-check of the basics.
How the score works
Every answer is worth 0 to 3 points, from least to most mature. Each area has three questions, so each area scores 0 to 9, and the whole assessment 0 to 54.
- Area level. An area score of 0–2 is Reactive, 3–5 Repeatable, 6–7 Measured and 8–9 Optimizing. The top band is deliberately narrow: Optimizing needs at least two top answers and none below 2.
- Overall level. The average of the six area levels, rounded down, so a weak area pulls the overall result down. Five areas at Measured and one at Reactive average 2.67, which rounds down to Repeatable. A fast pipeline does not make up for secrets in code or a cloud bill nobody owns.
- Total score. The result also shows the raw total out of 54. It is useful for tracking change between re-takes, but it does not set the level.
- Recommendations. The two areas with the lowest scores get the next step for their current level. Ties go to the area listed first.
- The answer code. Your answers are kept in the page address as an 18-character code, one character per question (0–3, or a dash if unanswered), so a bookmark reopens the same result.
How to use your result
Answer for one system, the product or platform that matters most, rather than averaging across everything you run. If most services deploy daily but the billing service ships once a quarter and that is the one customers notice, answer for billing. Score what is true today, not what is planned.
The result is most useful as a conversation. Ask two or three colleagues to take it separately for the same system and compare: where people disagree on a question, the disagreement usually tells you more than the score. Re-take it each quarter against the same system; the address keeps your answers, so a bookmark is your baseline.
For a concrete list of practices without a score, work through the DevOps readiness checklist. To measure delivery performance rather than self-report it, instrument the five DORA metrics.
Method and sources
This is InfraZen’s own rubric, not a DORA benchmark. It is not a certification, and its scores cannot be compared with DORA’s published research or any industry survey. To compare your delivery performance with the rest of the industry, take the DORA Quick Check.
The questions and levels are informed by public frameworks, each linked to its primary source:
- Delivery. The three delivery questions use three of DORA’s software delivery performance metrics: deployment frequency, change lead time and failed deployment recovery time. Their answer ranges regroup the six answer options in the DORA Quick Check into four bands. The practices behind several areas also draw on DORA’s capability catalog, which includes continuous delivery, deployment automation, flexible infrastructure, monitoring and observability, and pervasive security.
- Reliability and alerting. The Google SRE workbook: error-budget policies approved by product, development and SRE (Implementing SLOs), multiwindow, multi-burn-rate alerts (Alerting on SLOs), blameless postmortems with tracked action items (Postmortem Culture), a target of at most two incidents per on-call shift (On-Call) and a 50% limit on SRE operational work (Eliminating Toil).
- Cost. The FinOps Foundation’s crawl, walk, run maturity model. The allocation question uses its sample goals: at least 70% of cost allocated to a known owner at Crawl, at least 85% at Walk and more than 90% at Run.
- Platform and self-service. The CNCF Platform Engineering Maturity Model, whose levels run Provisional, Operational, Scalable and Optimizing. Our fourth level shares the name Optimizing but is scored on a different scale.
- Security. GitHub’s secure use reference, which calls pinning an action to a full-length commit SHA the only way to use it as an immutable release, its guidance on OpenID Connect in place of long-lived cloud secrets, and the SLSA build levels for provenance.
The level names, score bands and the rounded-down overall level are InfraZen’s choices. Both the FinOps and CNCF models warn against treating the top level as a goal everywhere, and so do we: see the FAQ below.
Related: DORA metrics · DevOps readiness checklist · What is DevOps? · What is SRE? · What is FinOps? · What is DevSecOps? · DevOps vs SRE vs platform engineering · Uptime & SLA calculator