DevEx Survey Template
Use this DevEx survey template to pinpoint where developer time is lost across onboarding, CI/CD, deployments, docs, and on-call work. Pick the modules that match your toolchain, launch with privacy-first defaults, and turn results into a prioritized platform backlog you can measure again next quarter.
When to Run This DevEx Survey (and When Not To)
Use this section to choose the right moment to run your DevEx survey so results reflect real friction (not temporary noise).
Baseline settings (recommended): keep it under 8 minutes, use a consistent Likert-style scale + N/A, and run it anonymous for org-wide pulses.
- Quick start: Pick 3-5 modules, swap in your CI/deploy/portal names, then launch with a close date and two reminders.
Quarterly DevEx pulse (trends + early warning)
Run a short pulse every quarter to spot drift in CI reliability, deploy confidence, docs findability, and on-call pain before it turns into missed delivery dates. Keep core questions unchanged so you can trend results run to run.
Before-and-after around a platform change window
Use this when you ship a new internal portal, golden paths, pipeline upgrades, or a deploy process change. Send one survey 1-2 weeks before the change and another 4-8 weeks after so you can attribute movement to the work (not a vague feeling).
Post-migration check (catch new friction)
Run it after major migrations like cloud moves, monorepo adoption, observability stack changes, or identity/permissions rewires. Watch for new bottlenecks (access, build times, flaky tests, missing runbooks) that only show up once teams are operating day to day.
When not to run: avoid launching during major incidents, layoffs/reorg turmoil, or big policy changes that will swamp the signal. If you must run it anyway, label it a "stability pulse", cut to 1-2 modules, and keep the close date tight.
Cadence decision: use a short pulse for trends, and a longer deep-dive no more than 1-2 times per year. Default to consistent wording and the same scale each run; changing wording or scales breaks trend tracking and makes quarter-over-quarter comparisons hard to interpret.
- Before you schedule: pick a close date, confirm you are not competing with incident retros, and lock the core questions you will trend next quarter.
DevEx Question Modules to Copy (Pick What Fits Your Toolchain)
Use this section to pick modules and copy-ready questions that match your stack (CI, deploy, portal, docs, ops) without turning the survey into a novel.
- Quick start: pick 3-5 modules, map wording to your actual tools (GitHub Actions/Jenkins, Argo/Spinnaker, Backstage, etc.), then set a close date and send two reminders.
- Time rule: aim for 12-18 rating items total + 1-2 open-ends. Save the rest for optional modules you can rotate quarterly.
- Customization rule: add at most 1-3 org-specific items (for your biggest known pain points) so you can still compare across teams and quarters.
Pick: Overall DevEx + Onboarding/time-to-first-success + Build/test/CI + Deploy/release + one of Docs or Ops. Then rotate in Dependencies/Coordination and Cognitive Load in later pulses.
Module: Overall DevEx (your trend anchor)
Why this module matters: you need 1-2 stable outcome items to trend quarter to quarter and to sanity-check whether tool-level fixes are felt by teams. Use it to decide if the platform backlog is moving the needle.
"Overall, our internal tools and workflows help me deliver changes efficiently."
Why it matters: This is your north-star outcome item. It summarizes whether improvements translate into real delivery speed.
When to use: Include in every run unchanged so you can trend results.
"Most weeks, I can make progress without being blocked by tools, access, or process."
Why it matters: Blocking is where DevEx problems show up first (permissions, flaky CI, unclear ownership, slow environments).
When to use: Include in every run; pair with a follow-up open-end if the score drops.
Module: Onboarding and time-to-first-success
Why this module matters: onboarding friction is expensive and visible. Use it to prioritize golden paths, environment setup automation, and access provisioning fixes.
"I can set up a working dev environment for a new repo/service without needing ad-hoc help."
Why it matters: Setup debt creates hidden support load and slows hiring impact.
When to use: Always include if you hire, rotate teams, or maintain many services.
"Access and permissions (repos, secrets, environments) are available when I need them."
Why it matters: Access delays are pure waiting time and often fixable with workflow and automation.
When to use: Add when you see repeated tickets for access, secrets, or environment permissions.
"The fastest way to get help during onboarding is clear (docs, office hours, chat channel, ticketing)."
Why it matters: Clear support paths reduce context switching and prevent "tribal knowledge" escalation.
When to use: Use when your enablement load is high or support routes feel inconsistent.
Module: Build/test/CI reliability
Why this module matters: CI pain drives daily frustration and slow delivery. Use it to justify work on flakes, caching, pipeline parallelism, and clearer failure feedback.
"Our CI pipeline is reliable (low flake rate, failures are actionable)."
Why it matters: Unreliable CI turns engineering time into retries and detective work.
When to use: Include if most teams ship via CI and you track stability over time.
"When CI fails, error messages and logs make the next step obvious."
Why it matters: Fast diagnosis beats raw speed. Better feedback often saves more time than small build-time gains.
When to use: Add when you want pipeline UX work (log links, failure grouping, run summaries).
Module: Deploy/release
Why this module matters: deploy friction blocks flow and increases risk. Use it to drive work on deployment automation, safer defaults, and clearer rollback paths.
"I can deploy changes to production (or a production-like environment) with confidence."
Why it matters: Low confidence signals missing guardrails (tests, canaries, rollback, observability) or unclear ownership.
When to use: Include if you want to measure whether release improvements reduce fear and hesitation.
"Deploy steps and approvals are clear and consistent across services."
Why it matters: Inconsistency is a top driver of mistakes and slowdowns in release work.
When to use: Add when teams complain about "every service is different" or after standardizing pipelines.
Module: Docs and discoverability
Why this module matters: doc gaps create repeat questions, slow onboarding, and make incidents worse. Use it to prioritize runbooks, service catalogs, and doc search.
"I can find the documentation I need (runbooks, APIs, onboarding) within a few minutes."
Why it matters: Time-to-find is a practical signal of discoverability and information architecture quality.
When to use: Include if docs are spread across wikis, repos, and internal portals.
"Docs and runbooks are kept up to date as services change."
Why it matters: Stale docs waste time and increase operational risk during incidents.
When to use: Add when you want an explicit signal that ownership and doc hygiene need work.
Module: Service ownership and ops (on-call, alerts, recovery)
Why this module matters: operational load is a major DevEx driver. Use it to justify work on alert quality, dashboards, runbooks, and safer deploy defaults.
"Alerts are actionable (the signal is clear and the next step is known)."
Why it matters: Noisy or vague alerts create fatigue and slow recovery.
When to use: Include when you are investing in observability or on-call health.
"During an incident, I have the dashboards and runbooks needed to diagnose and recover quickly."
Why it matters: This points directly to concrete work items (missing dashboards, broken links, unclear runbooks).
When to use: Add after an observability migration or if incident response depends on tribal knowledge.
Module: Dependencies and coordination
Why this module matters: sometimes the biggest DevEx blockers are handoffs and approvals, not tooling. Use it to drive work on ownership, self-serve paths, and clearer interfaces between teams.
"Getting changes approved (security, architecture, compliance) is predictable and timely."
Why it matters: Unpredictable approval loops create hidden queues and missed release windows.
When to use: Add when teams complain about unclear gates or long review cycles.
"I can get timely support from dependent teams when I'm blocked."
Why it matters: This tells you where internal "service level" expectations are missing.
When to use: Include if your org has platform teams, shared services, or heavy cross-team dependencies.
Module: Cognitive load and context switching
Why this module matters: too many tools, inconsistent workflows, and constant interrupts are "slow" in a way build-time metrics cannot capture. Use it to drive consolidation, better defaults, and clearer golden paths.
"I have to switch between too many tools or UIs to complete common tasks."
Why it matters: Tool sprawl creates context switching and increases mistakes.
When to use: Add when you are building an internal developer portal or consolidating workflows.
"Interruptions (pages, requests, meetings) make it hard to stay in flow."
Why it matters: This flags where you need better on-call rotation design, clearer support intake, or fewer ad-hoc approvals.
When to use: Include when you are tackling on-call health or support load on feature teams.
Write questions about workflows and tool behavior ("CI is reliable", "logs make the next step obvious") instead of about people. If developer happiness is a goal, measure it as an outcome, not as a diagnosis (see examples discussed in Graziotin et al.'s developer happiness work: What happens when software developers are (un)happy).
- Before you paste questions into your survey: replace generic terms with your tool names (CI provider, deploy system, internal portal), and add N/A anywhere a respondent might not use the tool.
Question Design and Scales for DevEx (Neutral, Comparable, Actionable)
Use this section to standardize your scales so you can compare teams and trend results across quarters.
Default: one scale everywhere + explicit N/A
Use the same response options across modules (for example: Strongly disagree to Strongly agree) so changes over time are real changes, not scale artifacts. Add "N/A (don't use this tool/process)" anywhere a portion of your org cannot answer.
Do this: follow Likert scale question design and keep your anchor labels identical every run.
Use TAM-style items for key internal tools
If you need a read on adoption and value of a specific portal/tool, add two targeted items:
- "This tool is useful for completing my work."
- "This tool is easy to use for common tasks."
Do this: only apply these to 1-2 tools per survey (portal, deploy UI, incident tool) so results stay focused.
Use heuristic checks when you need UX diagnosis
When a tool score is low, switch from general satisfaction to specific UX signals:
- "The tool provides clear feedback when something fails."
- "Error messages help me fix the problem."
- "The workflow is consistent across similar tasks."
- "I can undo/recover from mistakes easily (rollback, retry, revert)."
Do this: treat these as a one-time diagnostic module, then remove them once you have a clear backlog.
Add 1-2 open-ended questions that force specificity. Good defaults: "Most time lost this week was caused by..." and "One change that would save you 30 minutes/day is...".
- Placement rule: if you need module-level fixes, put one open-end at the end of each selected module; if you need a lightweight pulse, put both open-ends at the end as a wrap-up.
- Wording rule: describe the workflow ("deploy steps", "CI feedback", "docs findability") and avoid "why don't you" language that reads like blame.
Who Should Take It + Deployment Playbook (Anonymity, Sampling, Reminders)
Use this section to decide who you will invite and how you will launch the DevEx survey without burning trust.
Invite this universe: everyone who builds, tests, deploys, or operates software in your org.
- Software engineers (backend, frontend, mobile)
- Platform engineering / internal tools
- SRE / DevOps
- QA / test automation
- Data / ML engineers (if they ship pipelines and services)
- Security engineering (if they own gates, scanners, approvals)
Collect segmentation that helps you assign work without identifying people: team (rolled up), tenure band, role family, primary stack, and product area. Default to avoiding names and free-text that could identify individuals; build your plan around security and privacy expectations you can keep.
Pilot with one team (48-72 hours)
Send the draft to a single team first. Watch completion time, N/A usage, and any confusing wording. Fix routing and tool names before the full rollout.
Roll out to the full eligible population (or a defined sample)
Invite everyone who qualifies, or define a clear sample and say exactly who is included. Use guidance on sampling and avoiding bias if you cannot invite the full population.
Use a tight field window + reminders
Default to a 7-10 day window with a fixed close date. Send the invite, then 2 reminders (midpoint and 24 hours before close). AAPOR's Best Practices for Survey Research covers clear communication and consistent procedures that help response quality.
Write the invite like a contract
Promise what will happen with results: when you will share findings, what decisions it will drive (platform backlog), and what you will not do (no individual performance use). Put the close date and expected time-to-complete in the first two lines.
Anonymity choice: default to anonymous for org-wide pulses. Use confidential (known to the admin, not to managers) when you need follow-up, and use attributed only when there is a clear reason and it is communicated upfront; different privacy conditions can affect participation and response patterns (see Murdoch et al.: Impact of different privacy conditions and incentives on survey response).
- Before you hit send: confirm minimum group sizes for reporting (to avoid small-cell identification), and pre-write the "what we will do next" slide so you can close the loop quickly.
How to Analyze DevEx Results and Turn Them Into a Roadmap
Use this section to turn survey results into a prioritized platform backlog with owners and a follow-up measurement date.
For trend tracking, keep a small set of core questions and the same scale each run, and rotate only optional diagnostic modules.
- Step 1: Check data quality before you interpret scores
Start by validating that responses are usable and comparable across groups.
- Missingness (skips, drop-off by page/module)
- Straight-lining (same option for everything)
- N/A rates by module and by team
Why it matters: bad data quality creates fake priorities and wastes platform cycles.
- Step 2: Segment without deanonymizing
Use segmentation to find where friction is concentrated without exposing individuals.
- Team (rolled up)
- Tenure band
- Role family (SWE/SRE/QA)
- Primary stack
Why it matters: segmentation turns one average score into a map of where to intervene.
- Step 3: Score "highest-impact friction" (frequency x severity)
Quantify each issue so you do not overreact to loud but rare pain.
- Frequency: percent disagree / low satisfaction
- Severity: average score among affected respondents
- Priority: frequency x severity (then sanity-check with open text)
Why it matters: this prevents you from chasing niche pain while ignoring org-wide drag.
- Step 4: Turn open text into work items (lightweight coding)
Translate comments into a small set of themes that map cleanly to backlog items.
- CI flakes
- Slow builds
- Deploy approvals
- Missing runbooks
- Doc findability
- Access/permissions
- Ownership gaps
- Alert noise
Why it matters: themes convert venting into scoped work you can estimate and ship.
- Step 5: Publish a simple report and commit to next actions
Share results in a way that makes decisions and follow-through obvious.
- Top 5 wins
- Top 5 pain points
- "What we will do next" (owners, target dates, and what success looks like)
Why it matters: closing the loop improves trust and response rates on the next run.
Before you publish, document your scoring rules (including how you handle N/A and missing data) so future pulses remain comparable.
- Before you finalize the roadmap: assign an owner per theme (platform team vs enabling team), estimate effort, and choose 1-2 metrics you will watch (CI stability, deploy recovery time, doc search success, access ticket volume).
- Before the next pulse: keep core questions unchanged, rotate only optional modules, and announce what shipped since the last survey.
Frequently Asked Questions
How long should a DevEx survey be?
Default to under 8 minutes for a pulse (roughly 12-18 rating items plus 1-2 open-ends). Save longer surveys for deep dives, and only run them occasionally.
Keep a small core module set that never changes, and rotate optional modules quarterly so you can add detail without breaking trend tracking.
Should the DevEx survey be anonymous?
Default to anonymous for org-wide pulses because it protects trust and makes it easier for people to report friction honestly. Use confidential (known to admins, not managers) only when you have a clear need for follow-up and you communicate safeguards.
Use attributed surveys sparingly and only when the purpose and protections are explicit, because attribution changes what people are willing to say.
How often should we run a DevEx pulse survey?
Run a quarterly pulse if you want trends and early warning signals. Align timing with platform releases or migration windows, but keep the core items and scales unchanged so quarter-to-quarter changes are comparable.
If you need more detail, add a one-time deep-dive module rather than changing the core questions.
How do we prioritize improvements from DevEx results?
Rank problems by frequency x severity: how many people are affected and how bad it is for those affected. Then check open-text themes to confirm what work actually fixes the issue.
Split the roadmap into quick wins (clear logs, doc fixes, better defaults) and structural fixes (pipeline redesign, ownership changes), assign owners, and define what should move in the next pulse.
What demographics should we collect without risking privacy?
Collect privacy-safe fields you can act on: role family, tenure bands, primary stack, and product area (rolled up). Make them optional when possible and avoid free-text fields that can identify individuals.
Set minimum group sizes for reporting and merge small groups so people cannot be singled out.
Can we combine DevEx survey results with engineering metrics?
Yes. Use survey results to explain why metrics move (or do not), and to target what to instrument next (CI times, flake rates, PR cycle time, deploy failure recovery). Treat the survey as the "why" and metrics as the "what".
Avoid turning DevEx into a single score; triangulate across a few stable survey items plus the operational metrics you already trust.