Adding People Reduced Output
The Universal Scalability Law, cache coherence, restaurant kitchens, and the size at which an organization starts working against itself
Adding People Reduced Output
The Universal Scalability Law, cache coherence, restaurant kitchens, and the size at which an organization starts working against itself

Washington DC Union Station
An organization with forty engineers ships weekly. Eighteen months later, after fifty additions arriving through hiring, an acquisition, and two contractor teams, it ships monthly. Nobody staffed badly, the new people are strong, and every team’s local metrics look fine. The slowdown has a cleaner explanation with sixty years of measurement behind it, and it starts where the first piece in this series left off.
That piece covered Amdahl’s law: any system contains a serial fraction that must run sequentially, and the serial fraction caps the total speedup no matter how much of the rest runs in parallel. Ten percent serial work caps an organization at 10x, forever. Applied to organizations, the serial fraction shows up as approvals, shared release trains, and cross-team decisions.
Amdahl predicts flattening returns, never reversal. An organization that ships less after growing has crossed into territory Amdahl’s math cannot reach, because a flattening curve still means every hire adds something. The org that got slower needs a second cost term.
The second term
Neil Gunther, a capacity planner who spent years fitting scaling curves to real databases and web tiers, published that second term as the Universal Scalability Law. In words: throughput grows linearly with capacity, minus a contention cost, minus a coherence cost. The two costs behave differently enough that mixing them up leads to the wrong fix.
Contention: waiting for the one thing
Contention is the delay that comes from sharing something only one person can use at a time.
Gunther measured this cost on database servers before anyone applied it to organizations. When many transactions want the same row, the database hands a lock to one of them and the rest wait their turn. More client threads make the line longer without making the row available any sooner. A connection pool with a fixed number of slots and a single disk serving every query on the box produce the same queue.
An office with a single printer shows the whole mechanism. Ten people share it and a few of them occasionally wait. Twenty people share it and the waiting roughly doubles, because the printer keeps printing at the same speed regardless of how many people want it. Each new hire brings their own work to the day and also adds one more customer to that queue.
In engineering the equivalents are shared resources a team cannot spin up a second copy of on demand: one staging environment, one release train, one weekly deploy window, one approval body, one person who understands the payments code.
This cost grows in step with the number of people, since each addition puts exactly one more customer in line. It never drives total output down, because the printer keeps running at full speed no matter how long the line gets. Every new person still produces something; they just spend a larger share of the day waiting. Output climbs more and more slowly toward a ceiling set by the shared thing, which is Amdahl’s serial fraction described from the queue’s side.
Coherence: keeping everyone’s picture the same
Coherence is the work of keeping everyone in agreement about something that keeps changing.
This cost also came from database work, specifically from clusters holding more than one copy of the same data. When several nodes each keep a copy of a row and one node changes it, every other node holding that row has to be told before it can answer a query correctly. Those update messages travel between pairs of nodes, so a cluster of twice the size carries roughly four times the traffic. Past a point, adding nodes spends more of the cluster’s capacity on agreement than on queries, and total throughput falls even though the hardware count went up.
Three friends choosing a restaurant settle it in a few messages. Eight friends choosing a restaurant spend an evening on it, though the decision got no harder and nobody is being difficult. Each new opinion has to reach everyone already in the thread, and each change of mind restarts a round of updates. No shared resource is holding them up; the cost sits entirely in staying in agreement.
The two costs differ in who pays. When someone joins the printer queue, they mostly slow down themselves; the people already in line lose a little, and the newcomer still adds their own output. When someone joins a group that has to stay in agreement, they add work to everyone else’s day: one more person to inform of every change, one more calendar to fit, one more perspective to reconcile before anything proceeds. The cost falls on the people who were already there, which is what allows total output to fall when the group grows.
The connections between people multiply faster than the people do. Ten people form 45 possible pairs. Twenty people form 190. Forty people form 780. Doubling the group roughly quadruples the relationships that have to stay consistent, while the output only doubles. Past some size, the pair count dominates the total.
Coherence only costs something when the shared picture changes. A decision made once and never revisited stays consistent for free; nobody needs a meeting to stay aligned on a settled fact. The expensive things are the ones in motion: a roadmap that shifts every few weeks, a priority order that gets rewritten, an architecture still under debate. Coherence cost runs roughly as the number of pairs multiplied by how often the shared picture changes, which means an organization has two ways to lower it. Reduce how many people must hold the same picture, or reduce how often that picture moves.
Telling the two costs apart takes one question: are people waiting, or are people reconciling? A queue in front of a shared resource is contention, and it responds to duplicating the resource, automating it, or scheduling access. A calendar filled with syncs, alignment reviews, and update meetings is coherence, and duplicating a resource does nothing for it. Adding a second staging environment while the real cost is forty people trying to agree on a roadmap reduces waiting that was never the problem, and the meeting load stays exactly where it was.
What the two terms do to the curve
Contention flattens the growth curve, exactly as Amdahl says. Coherence bends it downward, because pairs multiply faster than members. Set the coherence cost to zero and the Universal Scalability Law collapses back into Amdahl’s law; the two curves in the chart below share an identical serial fraction and differ only in that second term.
Small coherence costs produce startlingly low peaks. Take a serial fraction of 5 percent and a coherence cost of one tenth of one percent per pair, and the throughput curve peaks at 31 people, delivering about nine times one person’s output. At 60 people the same organization delivers eight times one person’s output. The second thirty hires reduced total output.

Gunther fit the law to machines before anyone applied it to people, and machines show both costs more plainly than an org chart can.
The same two costs outside the office
Computer chips. Amdahl built the IBM System/360, and the multicore chips that came after it ran into both costs in hardware. A modern processor holds many cores, and each core keeps its own small copy of recently used memory. Those copies have to agree. When one core changes a value, every other core holding that value has to be told, and the messages doing the telling grow with the number of core pairs that share data. Add enough cores and they spend more time telling each other about memory than doing arithmetic with it. Gunther named the coherence term after this hardware. It also explains why chip makers still sell single-core speed decades into the multicore era, since plenty of real work gets no faster when cores are added and the extra messages slow it down further.
Airports. Gates are easy to add. Build another gate and another plane can board. The runway is the shared thing everyone waits for, because each departure needs about a minute on the same strip of pavement, and extra gates change nothing about that minute. The agreement cost sits with air traffic control, which keeps every aircraft a safe distance from every other aircraft it might meet. Safe distance applies to two planes at a time, so twice as many planes in a piece of airspace means roughly four times as many pairs to watch. Airspace gets carved into smaller sectors with more controllers for exactly that reason, and the number of controllers rises faster than the number of flights.
Restaurant kitchens. Stations cook at the same time. The grill works while the sauté pan works while the cold station plates salads. Every dish then funnels through the pass, where one person checks each plate before it leaves the kitchen, one plate at a time. The agreement cost appears when a table’s food has to arrive together. Five plates for table twelve means the expediter holds finished food while slower stations catch up, and someone calls the board continuously so every station knows where the others stand. Kitchens handle this by capping the number of stations and giving each one a fixed job. Nobody fixes a slow kitchen by adding a twelfth cook to the line.
Rope pulling, 1913. Max Ringelmann attached a gauge to a rope and measured how hard people pulled, alone and in groups. Eight people pulled about four times as hard as one person rather than eight times. Some of the loss came from timing, since people pull at slightly different moments. The rest came from individual effort dropping once the pulling happened inside a group. Both losses grew with group size.
The same terms in the calendar
Map the two costs back onto an organization and both become legible in the calendar. Contention is the time teams spend waiting on shared things: the staging environment, the review rotation, the release approval, the platform team’s backlog. The second piece in this series measured what that waiting does to cycle time. Coherence is the time spent keeping people’s pictures of the world consistent: alignment meetings, roadmap reconciliation, the weekly sync between syncs, the all-hands that exists to restore shared context, the design review whose attendee list grows with each reorg. Fred Brooks counted the pairs in 1975: n(n minus 1)/2 communication paths, 15 among six people, 66 among twelve, over a thousand at forty-seven. Brooks also stated the law that adding people to a late project makes it later, because each addition pays a ramp-up cost and adds paths before adding output.
The coherence reading covers the observations that Amdahl alone cannot. The slowdown arrives with growth rather than with any particular hire, since pairs multiply faster than people. Calendar load per person rises as the org grows for the same reason, even though the mission never changed. And splitting into small teams fixes nothing by itself: cut a ninety-person org into fifteen six-person teams that all still need consistent pictures of a shared roadmap, and the pairs survive at the team level under different meeting names.
Two corporate cases
OS/360. Both halves of this argument came out of the same machine. Gene Amdahl was chief architect of the System/360 hardware. Fred Brooks managed OS/360, the operating system built to run on it, and that software program is where the pair count stopped being a formula and became a management problem. Peak staffing passed a thousand people, and the total effort ran to roughly five thousand person-years. The first release arrived late, used more memory than planned, cost several times its estimate, and performed poorly once it shipped. Brooks added programmers when the schedule slipped and watched the schedule slip further, which produced the law that carries his name. His diagnosis pointed at both costs at once. Each new programmer had to be trained by someone already productive, which consumed the time of the people who were furthest ahead, and each new programmer added communication paths to a project that already had more than it could service. IBM shipped a machine that reshaped the industry, and the software side of the same program produced the most quoted warning in engineering management.
Spotify. In October 2012 two coaches, Henrik Kniberg and Anders Ivarsson, published a paper describing how Spotify organized roughly thirty teams and two hundred fifty engineers across three cities. Squads were small autonomous teams owning a slice of the product end to end. Tribes were collections of squads. Chapters grouped people with the same skill across different squads. Guilds were voluntary communities open to anyone in the company. The authors described the paper as a snapshot of current practice rather than a recipe, and the industry copied it as a recipe.
Inside a squad, the design did what the scaling law would predict. Group size stayed small, the pair count inside stayed low, and autonomy kept decisions from traveling upward for approval.
The layer above the squad is where accounts from inside the company describe trouble. Jeremiah Lee, a former product manager there, published a critique in 2020 titled “Spotify’s Failed #SquadGoals” describing the distance between the published model and daily practice. Coordination across tribe boundaries proved harder than in a conventional structure, since no defined mechanism owned it and no one role was accountable for it. Squad size was capped and the level above it was left undefined, so the coherence cost moved up a layer and found nothing built to absorb it. Guilds compounded that. A voluntary community open to everyone in a growing company connects all of its members to all of the others, which is the pair term with no cap on it, and guild effectiveness reportedly thinned as headcount rose. Joakim Sundén, an agile coach at the company, said publicly in 2020 that Spotify no longer worked the way the paper described.
The pattern worth taking from both cases: shrinking the coherence cost inside a group does nothing on its own, because the cost relocates to whatever boundary sits above the group. OS/360 had no boundary to relocate to and absorbed the cost as delay. Spotify built the small groups and left the boundary above them undefined.
Shrinking the second term
The knob that moves this curve is the coherence surface: the number of people who must hold a consistent picture for the work to proceed. Adding or removing people mostly relocates the pairs. Two mechanisms lower the surface itself, one structural and one informational.
Contracts shrink it the same way they shrank the serial fraction in the first piece. Two teams coordinating through a versioned interface hold consistent pictures of the interface, a page, instead of consistent pictures of each other’s internals, a wiki. Local decisions shrink it: every decision routed to a shared body forces that body to maintain coherence with every team it governs, so decisions that can reverse cheaply belong inside one team. Failure-domain boundaries shrink it, because a team that owns sense-to-page for its system rarely needs anyone else’s picture at 3 AM. And stable membership shrinks it over time, since a pair that has worked together for a year maintains coherence in minutes that a new pair rebuilds in meetings.
Nesting handles the structure. An organization that grows by widening, adding a ninth and tenth and eleventh team that all report into the same planning forum, raises the pair count at that forum every time. An organization that grows by adding a layer keeps the number of parties in any single conversation to a handful, whatever the total size. Intent handles the information. A team that holds the goal and the constraints can decide locally and let details move without notifying everyone, which lowers the change rate that multiplies the pair count.
One number tracks all of this: synchronous hours per person against total size. Linear growth means the org is paying the pair tax, and the curve has a peak somewhere ahead of the current staffing plan. The USL fits organizations with two parameters, and the fit indicates whether the next thirty hires deliver the throughput on the slide or the throughput at 60 in the chart above. An honest plan states which side of the peak it is buying.
By Joshua McDonald on July 30, 2026.
Exported from Medium on August 26, 2026.
Reader discussion