Context Switching measures the frequency with which developers are pulled away from their current task to address unrelated work, respond to messages, or attend to interrupts. Each context switch carries a cognitive recovery cost, with research suggesting it takes 15-25 minutes to regain deep focus. High context switching rates significantly reduce effective engineering output and increase error rates.
Frequency of task interruptions. Recovery takes ~23 min. Elite devs get only 2.3h deep work/day.
Similar dynamics, but monorepos can reduce the type of context switching that involves jumping between repos, setting up different environments, and tracking versions across projects.
AMPLIFIED at timezone boundaries: every developer starts their morning with a backlog of review requests, merge queue results, CI failures, and Slack threads. This 'morning context loading' problem consumes 1-2 hours. Interruptions concentrated at TZ boundaries instead of distributed throughout the day.
Communication paths grow as n(n-1)/2. Research shows $78K/yr waste per 5-person team from context switching alone. More people = more interruptions.
Each switch destroys flow, 23+ min to re-enter.
Multiple mental models drain working memory. Each switch flushes and reloads context.
Constant interruptions → feeling busy but unproductive.
Divided attention increases error rates.
Each context switch costs 23 minutes to recover. High-interrupt environments prevent completing PRs.
CI >15 min → task-switch → 23+ min recovery per switch.
Long builds create micro-interruptions compounding to hours.
Delayed review → switch to other work → 23+ min to switch back.
Unpredictable waits fragment the workday.
Each meeting = forced switch. ~11 hrs/week.
Each incident = unplanned switch. 2–3 hrs each.
Self-service answers reduce interruptions.
1,200+ app toggles/day.
Long-running changes → more WIP.
Completing PRs reduces WIP count. Lower WIP = fewer context switches between stalled items.
Slow git status/checkout/clone creates micro-waits that accumulate and trigger task-switching.
Each blocked PR forces a switch to other work. Morning brings a backlog of unblocked items requiring context reload.