DevEx
Treating the internal developer experience as a measured product: onboarding time, local setup, feedback-loop length, and the friction engineers actually report rather than the friction leadership assumes.
Overview
Read the full DevEx guidance
Capabilities
Developer documentation
Treating instructions as part of the tool, since a correct tool with wrong documentation is a broken tool.
Friction measurement
Collecting friction systematically rather than through tickets, because the worst friction is what people stopped reporting.
Inner loop optimisation
Shortening the local edit-build-test cycle, the cost of which is paid dozens of times a day by every engineer.
Internal tool adoption
Measuring whether internal tooling is actually used, and investigating low adoption instead of mandating it away.
Time-to-productivity measurement
Measuring how long a new joiner takes to make a meaningful contribution, which is the clearest single signal of internal friction.
Practices
Onboarding retrospective
Asking each new joiner what got in the way, while they can still see it.
Recurring friction survey
A short survey on a rhythm, with results published including the items you are not going to fix.
Metrics
Inner loop duration
Time for a local edit to produce a verified result, paid many times a day by every engineer.
Unit: seconds. Good direction: down.
Internal tool adoption
Share of eligible teams actually using an internal tool, which is how you learn whether it is good.
Unit: percent. Good direction: up.
Reported friction score
A tracked survey measure of how much the tooling gets in the way, trended rather than read once.
Unit: score (1–5). Good direction: up.
Time to first merged change
Days from a new engineer joining to their first change reaching production.
Unit: days. Good direction: down.
Tools
Backstage
CNCF-hosted framework for internal developer portals, catalogs, and golden-path templates.
Visit site ↗Gitpod
Provisions ephemeral, preconfigured development environments so local setup stops being an onboarding tax.
Visit site ↗Renovate
Automates dependency update pull requests, removing a recurring source of manual toil.
Visit site ↗
Architecture patterns
Reference architectures and their trade-offs live in the blueprints library.
Maturity
- L1 ReactiveFriction is invisible because nobody measures itrequired stage
Lost capacity accumulates in small increments nobody escalates, so it never competes for attention.
- L2 RepeatableOnboarding time and inner loop are measuredrequired stage
The two clearest signals are quantified, usually revealing a worse position than assumed.
- L3 StandardizedFriction is collected systematically, not only from tickets
A recurring survey surfaces the obstacles people have stopped reporting, and results are published.
- L4 MeasuredImprovements are prioritised by measured cost
Work is chosen against time lost rather than volume of complaint, and one item is fixed completely at a time.
- L5 OptimizedInternal tool adoption is measured and acted on
Low adoption triggers investigation rather than a mandate, and documentation is maintained as part of the tool.
Maturity for devex is measured, not guessed — every score traces to your answers. See how maturity is scored.
Put it to work
Related Ops disciplines
- BuildOps
BuildOps enables this area
- Platform Engineering
Platform Engineering complements this area
- PeopleOps
PeopleOps complements this area
Sources
- Tier 1 — PrimaryBackstage Documentation ↗— Spotify / CNCF(verified 2026-09-20)
- Tier 1 — PrimaryThe SPACE of Developer Productivity ↗— ACM Queue(verified 2026-09-20)
- Tier 2 — AuthoritativeDORA — State of DevOps Research ↗— Google / DORA(verified 2026-09-20)