5 exercises on developer experience and productivity vocabulary.
0 / 5 completed
1 / 5
What is the SPACE framework for developer productivity?
SPACE framework (Forsgren, Storey, et al., 2021 — ACM Queue): five dimensions: Satisfaction and wellbeing: do developers feel good about their work, tools, team? Measured by: surveys, NPS, engagement scores. Performance: outcomes of work — does the code do what it should? Measured by: quality metrics, reliability, customer outcomes. Activity: volume of actions (PRs, commits, deploys). Useful for understanding patterns, not for judging individuals. Communication and collaboration: effectiveness of information sharing and teamwork. Efficiency and flow: ability to work without interruption or delays. Measured by: cycle time, WIP, interruptions. Key insight: measure 2-3 dimensions from different perspectives (individual, team, organizational), not just activity metrics.
2 / 5
What is developer toil and why does it matter?
Toil (Google SRE definition): manual, repetitive, automatable, tactical, without enduring value, scales with service growth. Examples: manually restarting services, updating config files by hand, approving routine dependency updates, manually running pre-deployment checklists, copy-pasting data between systems. Why it matters: SRE teams target <50% toil. Above that, morale drops and engineering velocity falls — no time for systemic improvements. Measuring toil: time tracking in weekly surveys, categorize as "toil" vs "project work" vs "overhead". Reducing toil: automate the most frequent tasks first (80/20 rule), build self-service tooling, create runbooks that reduce cognitive load if full automation isn't yet possible. Toil budget: allocate explicit capacity for toil reduction each quarter.
3 / 5
What are DORA metrics in the context of developer experience?
DORA metrics (Google DORA research, Forsgren/Humble/Kim): from the "Accelerate" book. Four metrics: Deployment Frequency: elite teams deploy multiple times/day; low performers monthly or less. Lead Time for Changes: commit → production. Elite: <1 hour. Low: >6 months. Change Failure Rate: % of deploys causing incidents. Elite: 0-15%. Low: 46-60%. Mean Time to Restore (MTTR): how long to recover from incidents. Elite: <1 hour. Low: 1 week+. Key finding: elite performers are BOTH faster AND more reliable — speed and quality reinforce, not trade off. DX teams use DORA metrics to identify bottlenecks in the delivery pipeline.
4 / 5
What is a friction log in developer experience research?
Friction log: a structured walkthrough. Someone — ideally a developer new to the system (highest friction sensitivity) or the DX team — attempts a task (set up the dev environment, deploy a new service, debug a production issue) and writes down every point of friction: confusing docs, unclear error messages, missing steps, too many manual steps, broken links, context switching. Format: task description + step-by-step journal + screenshots + "what I expected vs what happened". Output: prioritized list of pain points. High-value because it surfaces invisible friction that experienced developers no longer notice (habituation). Complements quantitative metrics (cycle time) with qualitative context (where does time go?).
5 / 5
What is flow state and how do developer experience teams protect it?
Flow state (Csikszentmihalyi): a psychological state of deep focus where complex problem-solving is most effective. Takes ~15-20 minutes to enter after an interruption. Interruptions cost much more than their duration. Developer flow research: developers average 1-2 hours of uninterrupted focus per day in typical office environments. How DX teams protect flow: Async-first culture: Slack is async — no expectation of immediate response. Focus blocks: no-meeting mornings, "maker schedules". Fast tooling: slow CI (<10 min) is less interrupting than slow CI (30+ min — context switch to other work). Batch notifications: PR review requests batched, not real-time. Incident paging discipline: page only when humans need to act now. Cognitive load theory: working memory is limited. High-complexity environments (complex dev setup, many tools, fragmented documentation) exhaust cognitive capacity before the real work begins.