More Engineers, More Problems: The Counterintuitive Truth About Scaling Teams Around Legacy Codebases
The Hiring Response and Why It Backfires
There is a deeply ingrained assumption in enterprise technology leadership that engineering capacity problems are solved by engineering headcount. A system is slow to evolve, so the organization hires more developers. Delivery timelines slip, so additional teams are formed. A critical module becomes a bottleneck, so a dedicated squad is assigned to it full-time.
This logic is intuitive, budget-friendly to justify, and — in the context of legacy monolithic systems — frequently counterproductive. The relationship between team size and output in mature, complex codebases does not follow a linear curve. It follows something closer to an inverse one, at least beyond a certain threshold.
Understanding why requires a clear-eyed examination of what large teams actually do to legacy systems — not in theory, but in practice.
Coordination Overhead Is Not a Soft Problem
Fred Brooks articulated the core dynamic in The Mythical Man-Month more than four decades ago: adding engineers to a late software project makes it later. The mechanism he identified — the exponential growth of communication pathways as team size increases — has not changed. What has changed is the scale at which enterprises now attempt to apply headcount solutions to architectural problems.
Consider a monolithic codebase with a single shared data model, minimal internal boundary enforcement, and a test suite that was written organically over eight years. Introducing ten additional engineers into that environment does not produce ten additional units of throughput. It produces ten additional agents who must be onboarded to an undocumented system, who will compete for the same deployment pipeline, who will introduce merge conflicts with each other's work, and who will each make locally rational decisions that collectively degrade the global architecture.
A 2022 survey conducted by the DevOps Research and Assessment group found that organizations with more than 200 engineers on a single system reported lower deployment frequency and higher change failure rates than organizations with teams of 50 or fewer on comparable systems. The correlation between team size and performance was negative once a threshold was crossed — and that threshold was lower than most enterprise leaders would expect.
The Knowledge Dilution Effect
Legacy systems carry institutional memory in their structure. The reason a particular module was written the way it was — the regulatory constraint it was designed to satisfy, the performance edge case it was built to avoid, the integration behavior it was compensating for — is rarely documented. It lives in the heads of the engineers who built it.
When a large team is assembled around a legacy system, that tacit knowledge does not multiply. It dilutes. New engineers, unable to absorb years of undocumented context quickly, make decisions based on what the code appears to do rather than what it was designed to do. Those decisions introduce subtle regressions. The regressions require investigation. The investigation consumes the time of the few engineers who do carry the institutional knowledge. Those senior engineers become bottlenecks, their calendars consumed by incident reviews and code walkthroughs rather than forward progress.
This dynamic is self-reinforcing. The more the system degrades, the more incidents occur. The more incidents occur, the more senior engineers are pulled into reactive work. The less time senior engineers spend on architectural guidance, the more low-context decisions accumulate in the codebase. The organization responds by hiring more engineers to address the growing backlog — and the cycle accelerates.
Why Modular Refactoring Outperforms Team Expansion
The alternative to scaling headcount is scaling architectural clarity. Modular refactoring — the deliberate process of establishing internal boundaries within a monolith, enforcing separation of concerns, and gradually extracting well-defined components — does something that additional engineers cannot: it makes the system comprehensible to a smaller team.
This is not an argument for wholesale rewrites or immediate migration to microservices. Both of those paths carry substantial risk and rarely deliver on their timelines in enterprise contexts. The more effective approach is incremental boundary enforcement: identify the highest-friction modules, define explicit interface contracts for their interactions with the rest of the system, and enforce those contracts through automated checks in the build pipeline.
When a financial services client engaged SetPower Software to address escalating maintenance costs on a twelve-year-old transaction processing platform, the initial recommendation from internal stakeholders was to double the engineering team. Instead, a six-month modular refactoring initiative focused on three critical modules — payment routing, settlement reconciliation, and audit logging — reduced the cognitive surface area that any individual engineer needed to hold in working memory to contribute safely to those areas. The team of 22 engineers that had been struggling to maintain delivery velocity began shipping at a pace that had previously required 35.
Knowledge Consolidation as a Strategic Investment
One of the most undervalued interventions available to organizations managing legacy systems is structured knowledge consolidation. This means deliberately extracting tacit knowledge from senior engineers and encoding it in forms that do not require their direct presence to be useful — architectural decision records, annotated module maps, recorded walkthroughs of critical code paths, and lightweight onboarding curricula specific to the system's most complex areas.
This investment does not generate immediate feature output. It generates leverage. Every hour spent consolidating knowledge reduces the number of hours that will be spent on future incident investigation, onboarding friction, and low-context decision-making. Organizations that treat documentation as a first-class engineering deliverable — rather than a post-launch obligation that never gets fulfilled — consistently demonstrate higher output per engineer on legacy systems than those that do not.
Rethinking the Capacity Equation
The staffing paradox ultimately reflects a measurement problem. Enterprise leaders assess engineering capacity in terms of headcount because headcount is visible and controllable. The friction costs that accumulate when large teams coordinate around complex legacy systems — the meeting overhead, the merge conflict resolution, the incident-driven context switching, the knowledge dilution — are largely invisible in standard reporting.
Making those costs visible is the prerequisite for making better capacity decisions. Teams that instrument their coordination overhead, track the ratio of reactive to proactive engineering work, and measure deployment frequency per engineer rather than in aggregate are equipped to have a fundamentally different conversation about growth.
In that conversation, the answer to a struggling legacy system is rarely more engineers. It is more architectural clarity, more concentrated knowledge, and a smaller team empowered to operate within boundaries that make the system tractable. That is a harder organizational argument to make than a hiring plan — but it is the one that the evidence consistently supports.