Why does a development team slow down as it grows, and how do you prevent it?

Luca runs a software company in northern Italy.
Three years ago he had four developers and one release a week.
Then he won a major contract and hired six people in six months.
Today his team of ten ships a release every three weeks, with twice as many defects.
Headcount is up 150%, and releases are three times less frequent.
Nobody, Luca included, can say when it happened.
Building a scalable software development team does not mean hiring more people: it means designing how people work together.
Luca added people without adding structure, and at ten people, talking things over stops being enough.
The script is always the same in companies that grow fast.
In more than twenty-five years of code, clients and teams I have seen it repeat in very different settings, and almost nobody had learned how to run a technical department while it was growing.
Here you will find why a team slows down as it grows, the two ways to organize it and when each one fits, the right structure at each size, the difference between leading a team and leading the system, the numbers to bring to a meeting and the plan to get moving again in three months.
The angle is that of a CTO or a business owner who has to decide: hours, euros and risks, not theory.
2 - Why are ten developers slower than four, even when they are good?
In a development team, every extra person brings a relationship with everyone already there.
Work grows linearly, but conversations grow quadratically, and at some point the time spent coordinating exceeds the time spent producing.
The sum is easy to do in your head: in a group of N people the possible pairs are N times (N minus 1), divided by two.
With four people there are 6, with ten there are 45, with twenty there are 190.
From four to ten, the work is multiplied by two and a half, the conversations by seven and a half.
In 1975 Fred Brooks wrote it down in his book on managing software projects, The Mythical Man-Month: adding people to a late project makes it later still.
Half a century on, the sentence is still ignored in every budget meeting.
This does not mean that hiring is a mistake; it means every hire has a coordination cost, and if no rule absorbs it, it eats the capacity the new person was supposed to bring.
You can recognize it by four signs:
- Code review requests sit idle because it is unclear who should look at them.
- Design decisions come out differently depending on who makes them.
- New hires take weeks to work out where to start.
- Two groups work on the same part without knowing it, and find out when it is time to merge their work.
The doubt that comes to mind is understandable: maybe I hired the wrong people.
Almost never is that the case.
If a team of ten is slower than one of four, the fault lies in the design, not in the people.
A five-minute test: ask your best developer how many hours a week they spend waiting for someone or unblocking someone else.
Above eight, the brake is not them.
Put into money, the sum hurts.
Take ten developers and a cautious assumption: each loses eight hours a week to waiting and unblocking.
That is eighty hours, two full-time people.
If a developer hour costs you 40 euros all-in (use your own figure), that is 3,200 euros a week and about 147,000 euros a year, over 46 working weeks.
Money spent making people wait, when the same budget could pay off like an investment instead of weighing on you like an expense you simply endure.
And that is only the part you can see.
You find out the rest at the final reckoning, when the real cost of each developer turns out to be almost double the approved one: it includes items I have not counted here.
3 - By function or by product? How to organize a scalable software development team
A team can be organized in two ways.
By function, with the user interface, the services and the testing in separate groups.
Or by product, with teams that hold all the skills needed to deliver a feature from start to finish.
The first happens on its own, because people are hired by specialty.
The second has to be built, and the difference is measured in weeks of waiting.
In the function model, every new feature passes through three groups:
- Whoever builds the interface waits for whoever prepares the services, who waits for whoever tests.
- Three queues, three priority lists that can diverge.
- Three managers with different goals.
The real work takes days, the wait between one handoff and the next takes weeks, and it shows up in no progress report because nobody measures the waiting.
In a .NET team the effect is specific: the description of the services, that is the contract between interface and services, is written once and then quietly drifts away from the code.
Problems surface at testing, at the most expensive moment possible.
Keeping it aligned is small daily work, and a description that stays alive prevents many doubts and many tickets between one group and another.
In the product model the team has four to eight people: one experienced developer, one for the interface, someone who designs the user experience, someone for testing.
Handoffs disappear.
A decision that used to take three meetings between three groups is made standing up in five minutes, and a defect that crosses the boundary is fixed by the same team, with nobody having to write to anybody.
The handoff problem gets worse when part of the work is given to an outside supplier.
The outside group is one more department, with its own priorities and no access to the decisions made in the corridor.
The remedy rests on three rules: important choices are written down, one internal person is responsible for each area, and the same delivery criteria apply to those inside and those outside.
Anyone who objects that it does not always pay off is right.
Below five or six people the distinction is academic and imposing teams is just extra weight.
Above that, the product model holds even with a team dedicated to the shared foundations, as long as the people who use it remain complete on the product.
So how to manage a development team depends on how many people you are today, and that is where generic advice stops being useful.
4 - How to structure a scalable software development team at 5, 15 and 50 developers

The right structure for ten people, applied to four, is bureaucracy.
The right one for four, applied to ten, is Luca's case.
It takes four forms as you grow, and each step has a recognizable threshold:
| Size | How you organize | Who you need | What breaks if you do not change |
|---|---|---|---|
| From 1 to 5 | Flat structure, everyone does everything | One recognized technical reference | Nothing, until the sixth person arrives |
| From 5 to 15 | First specializations | A team-level technical lead (tech lead) | Decisions pile up on a single person |
| From 15 to 50 | Product teams plus one team for the shared foundations | An architect who helps the teams, not one who approves | Four teams produce four different release paths within six months |
| Over 50 | Hierarchical groups plus meetings between teams | Someone who makes knowledge circulate | Every problem gets solved four times |
Below five people, one reference person and a notebook are enough: the fundamental choices written down, which tools for data, how projects are organized, where the secret keys are kept.
You do not need a process, you need decisions to be explicit.
What you do not write down now becomes the bill that the software presents two years later, when nobody remembers why something was done that way.
And to keep the project tidy even with a small group, there is a method designed exactly for small teams.
The transition that breaks the most companies is the one from five to fifteen: that is where growing a group without it seizing up stops being a matter of goodwill.
At six or seven people the single reference becomes a bottleneck, because everything goes through them and they also have work of their own.
As a rule of thumb, if two developers work on the same module for more than 60% of the time without needing to, split the work so that each has their own area and they can move forward in parallel.
If they work on different modules but need to talk constantly, the boundaries of the program are wrong and must be fixed before adding anyone.
You fix them by drawing them along business boundaries rather than technical ones.
Beyond fifteen people a single group does not hold, whatever process you adopt.
You need teams of four to eight people, each responsible for one area, plus one team, in jargon a platform team (often also called a DevOps team), that takes care of what everyone needs: project setup, shared packages, the automated path that takes changes to production, monitoring.
The others use it without modifying it.
It looks rigid, and it is the only way to stop four teams from producing four different paths within six months.
Beyond fifty people you need more levels and meetings between teams, but the trouble starts earlier.
The other critical point is the move from fifteen to fifty: there, the person who makes the difference is the architect, a role almost nobody defines well and that I explain further on.
Knowing which row of the table you are in is the first step.
Understanding what is already breaking in your team is another job, and I do it by looking together with you at a few numbers you already have.
5 - Your software will end up mirroring your team structure, so decide it first
It is the sentence from Conway you read at the opening, and it shows in the code.
Three groups that talk little produce three parts that fit together badly.
Two teams that talk every day produce two parts that fit together well, even when nobody designed anything.
The practical consequence has to be read backwards: if you want a program built a certain way, you must first organize the teams that way.
If the product has three distinct business areas and a single group of twelve working on everything, the program becomes a tangled mess, whatever technical scheme you adopt.
This is where the costliest mistake is born: splitting the program into many independent pieces because it looks modern, when the team does not yet have enough teams to maintain them.
Every extra piece is one more agreement between teams, one more release procedure and one more service to watch, even at night.
For a company of ten or thirty developers it is often better not to do it, or not yet, and the signs that tell you can be counted on the fingers of one hand.
Separating the program into ordered layers, on the other hand, almost always pays off, provided you avoid a few recurring mistakes: there are four, and they can be avoided without rewriting anything.
To choose the right scheme without copying it from another company you need criteria, and seven criteria are enough to avoid paying later for what was copied.
Before splitting the program, split the teams.
The rest follows, and costs far less.
6 - Tech lead or software architect: who do you really need, and why promoting your best developer is not enough
Tech lead and software architect are two different roles: the first leads one team, the second several.
Promoting your best developer to head of the team is the most intuitive and most expensive decision a growing company can make.
Expensive twice over: you lose your best technician and gain a boss nobody has prepared.
The tech lead, that is the team's technical manager, works inside a group of four to eight people on a horizon of the coming weeks.
Their job is to make the team able to decide well on its own, not to decide in its place.
Their time splits roughly like this: 40% writing code, 30% on reviews and coaching, 20% on design decisions and documentation, 10% with the company's leadership.
If that 40% becomes 80%, you do not have a technical lead: you have a developer with a new title.
The software architect is a different hire, for a different problem.
They work across several teams on a horizon of the coming months, and are needed when four signs appear that you can check today:
- Design decisions come out differently across teams for no reason tied to context.
- Technical debt grows faster than the teams can pay it down.
- Leadership receives more than five operational technical questions a day from different teams.
- The technical plan is a generic document instead of choices with declared trade-offs.
Just count how many you recognize in your team: the more there are, the more you need a figure built through a precise path and not through a promotion.
There is only one sure way to waste an architect: turn them into the person who approves every decision.
At that point they are the bottleneck they were hired to remove.
They work well if they set the limits within which teams decide autonomously, then step aside and step back in only when something goes beyond those limits.
Almost no company with twenty developers has an architect on staff, and it need not: a figure like that costs more on the market than you might imagine.
The realistic route is to prepare the people you already have.
That is the work I do with technical departments: I work alongside team leads until they decide well on their own, and at that point I am done.
7 - Code review and code quality: how to keep standards high once the team passes ten developers
Code quality does not collapse in a day: it drops a little every week.
Nobody decides to lower the standards, yet after twelve months they are lower and nobody can say when it happened.
Code governance is what holds the bar in place, and it rests on three things: written decisions, explicit rules for code review and automated checks that do not depend on anyone's goodwill.
Written decisions are a short document for each important choice: what was decided, what alternatives existed, why it was chosen this way.
It is called an Architecture Decision Record (ADR) and lives in the same folder as the code.
The value shows on a new person's first day: they read and understand not only how the system is built, but why.
It is the difference between two weeks of questions and two days of reading.
Review rules matter because code review is both the main quality control and the main channel through which knowledge passes from those who know to those who arrive.
Without rules it becomes the longest queue in the company.
You need four written answers:
- Who can approve.
- How quickly you reply (four working hours is a reasonable goal).
- What is non-negotiable, for example the checks that must pass and the ban on leaving secret keys in the code.
- What is only a suggestion: telling it apart from the rest avoids many pointless arguments.
A fast code review that does not lower the level of control is a craft that can be learned with a method.
Azure DevOps lets you make these rules mandatory, and takes them out of the realm of personal relationships.
Automated checks are needed because fifteen people producing code every day outrun any manual verification.
What is non-negotiable runs by itself on every change.
The most useful safety net of all is tests: programs that repeat in a few minutes the checks nobody wants to redo by hand, and say whether a change broke something before a customer finds out.
Without them, every review has to do the testing too, and every team is afraid to touch the others' code.
Writing code that does not let you down has to become a habit, not a project.
Then there is code written with the help of artificial intelligence, a growing share in 2026.
It is almost always correct for the immediate case and ignores your project's conventions and the code that already does the same thing: the result is duplication and inconsistency, not obvious errors.
Worse: it works, and meanwhile it worsens the numbers nobody watches.
Banning it is pointless.
You raise the rigor where it costs least: reviews that look at project criteria and not just correctness, stricter checks, internal standards written precisely enough to hand to the tool as context.
Moving from one person's experiment to adoption across the whole department requires tools, rules and responsibilities decided beforehand, and letting AI write code inside a company is the riskiest step.
AI speeds up an orderly system and multiplies the chaos of a disorderly one.
8 - DORA metrics: which numbers to watch to know whether your team is really scaling

"I think we are doing better now" wins no budget, defends no reorganization and does not tell you whether you are improving or have just got used to it.
You need seven numbers in two groups: the four DORA metrics on delivery and three on the health of the people.
The first group says whether the system works today, the second whether it will still work next year.
The four on delivery come from years of research on development teams: how often you release, how long it takes from a written change to a change in production, what percentage of releases go wrong, how long it takes to bring a broken service back up.
They work better as alarm bells than as a league table.
The thresholds that follow are rules of thumb, in line with the bands in the DORA reports.
A team of eight to fifteen people that releases less than once a week almost always has a problem with automated checks or the release path, not with writing speed.
If a change takes more than a week to reach production, there is usually a manual approval that is too heavy.
Above 15% failed releases the problem is structural, in testing.
If restoring a service takes more than a day, you almost always lack the ability to see what is happening in production.
They usually do not come ready-made, but the data is there.
With few resources, a spreadsheet updated every Friday beats measuring nothing, and it can be set up in an afternoon.
The three health measures complete the picture:
- Average response time to reviews: beyond eight working hours the process is a queue.
- Percentage of changes needing more than two review rounds: above 30% the standards are unclear.
- Out-of-hours interventions per person: more than one a month means someone is paying for instability with their evenings.
A team can post excellent numbers for six months while wearing people down, and then implode when its best people leave together.
Measuring is an afternoon's work, interpreting what comes out is another.
If you send me your team's four delivery numbers, I will tell you where I think it is getting stuck.
9 - How to hire and onboard new people without lowering the bar
Many growing companies go through a moment when average quality drops.
It is not inevitable: it comes from a selection and onboarding process designed to fill a slot rather than protect a standard.
You need three distinct selection stages and a path with verifiable milestones at 30, 60 and 90 days.
The first stage checks the basics, and not with an abstract exercise: with a short remote test, 45 to 60 minutes, that tells you whether the person really knows the language and the tools of the trade.
The second is the most important and the most skipped: a small problem similar to the real ones the team faces, to solve at home or together.
You do not look for perfect code, you look at how they reason about trade-offs and how they justify their choices.
The third is the interview with the technical lead, which is not meant to check knowledge already seen: it is meant to understand how the person works with others and how they react to a remark.
In the first weeks, pair programming, that is working in pairs with an experienced colleague, shortens learning a great deal, provided you can tell when it helps and when, instead, it creates friction.
Someone who joins without a path learns at random, and after two months has understood a fraction of what they could have, without anyone noticing.
That is why onboarding needs three milestones:
- First 30 days: ship one change to production, even a tiny one, following the whole process on their own.
- Days 30 to 60: deliver the first real contribution, with a review focused on passing on knowledge.
- Days 60 to 90: work independently on routine tasks and begin to take part in decisions.
Hiring badly is expensive.
The direct cost of someone who leaves, or is let go, after three months starts with a selection to redo: a recruitment agency charges between 15% and 25% of the candidate's annual salary, and an in-house search for a senior takes 200 to 400 hours.
The part you do not see weighs the most: the seniors' time in intensive reviews, the wrong choices that got in meanwhile, the replacement's onboarding to start again from scratch.
A longer selection process costs less than a bad hire, and it is a truth everyone accepts in theory and nobody applies when the client is pressing.
10 - Warning signs that your team has stopped scaling properly
No team grinds to a halt overnight.
It slows down gradually, and those inside are the last to notice, because every deterioration seems justified by the week they are living through.
The signs come in three kinds, from the easiest to the hardest to see.
The first are in the numbers.
Review requests sit for more than twenty-four hours, not occasionally but as a rule: beyond the eight-hour alarm, here the process is blocked, and there are too few reviewers for the code produced.
Velocity per work cycle stays flat or falls while the team grows, and it is the only sign the company understands without explanation.
Defects in production rise even though you test more: complexity has outgrown the ability to keep it under control.
The second are in how knowledge is distributed, and they are more dangerous.
There are areas of the program that only one or two people can touch without breaking something: keeping them alive costs more than it seems, and it is a sum nobody works out, and the day one of those people falls ill or resigns, it is a crisis.
Faced with a design doubt, people ask a specific person instead of following a rule, and governance exists on paper and not in practice.
New hires pass 90 days without working independently, and that is the most honest measure of how understandable the code is to someone seeing it for the first time.
The third does not show anywhere until it is too late: the quiet frustration of your best people.
They have the highest expectations of quality and efficiency, and for that reason they are the first to quit.
When decisions come without reasons, when the same defect comes back for the third time, they do not protest.
First they stop giving more than the minimum, and the drop does not show in the numbers.
Then they find another job, and the cost cannot be recovered.
Senior turnover is the highest and most hidden price of a team that does not scale.
The good news is that none of these signs requires starting from zero.
11 - How to get a team moving again in three months, and when not to do it alone

Luca did not need to fire the six people he had hired and start over.
He needed to change the way those ten people worked together, and the distinction is not a consolation: it is the diagnosis.
A stalled team gets moving again in four phases, in about three months, and the starting order matters: reversing it means reorganizing without knowing what you are solving.
In the first two weeks you run the diagnosis: delivery numbers, review times, defects, and a one-to-one conversation with each person on what slows them down, what frustrates them, which decisions are unclear.
The conversations almost always say more than the numbers.
From the third to the sixth week you redesign the structure: complete teams with clear boundaries, technical leads with explicit delegated authority, what stays with the team and what goes up to leadership.
Explaining why things change matters as much as the change itself.
A reorganization without reasons produces insecurity, and insecurity produces resistance even when the reorganization is right.
From the fourth to the twelfth week you build code governance, partly while the new structure takes shape.
It means putting in writing the fundamental decisions already made, setting review rules, switching on automated checks and fixing the non-negotiable standards.
It takes two or three months of steady commitment from the technical lead or the architect, and it is the piece companies cut first when a deadline arrives: six months later they find themselves with a new structure and the same habits.
After the three months you measure every work cycle and review the structure every six months.
Luca did it this way.
After three months, the structure was in place.
After six, with two teams, two leads with real authority, the decision log and automated checks on the code, he was releasing every week instead of every three, with defects down 60%.
In those six months he hired nobody.
He simply stopped managing ten people as if they were four.
Can you do it alone?
Yes, if someone in the company has already seen how this story ends.
Otherwise the risk is not getting the structure wrong, it is finding out at the first difficult quarter.
The decisions that hold four teams together, the ability to say where a system will break before it breaks, the craft of growing someone instead of correcting their code: they are either there or they have to be trained, and that is the difference between a technical lead who was appointed and one who was prepared.
Part of the cost, fortunately, can be eased by Italian incentives for staff training.
It is the difference between a technical lead who was appointed and one who was prepared.
On Monday morning, write the four delivery numbers for the last year on a sheet of paper and ask each team lead one thing only: what slows them down the most.
If you then want to look at them with someone who has already guided others through this path, leave your details below.
We will get back to you, set up a call, and you tell me about your team's case, starting from those four numbers; and I will tell you which of the four phases to start from.
The aim is not to keep you tied to me, it is for your team to grow without outside crutches.
Does your company need custom software or AI in the team?
We design and build custom software, modernize legacy systems and train your developers to work with AI. Tell us the problem: you get a concrete answer within one working day.
Frequently asked questions
Because every extra person adds a relationship with everyone already there: work grows linearly, conversations grow quadratically. With four people there are 6 possible pairs, with ten there are 45, with twenty there are 190. At some point the time spent coordinating exceeds the time spent producing, and if no rule absorbs that cost, it eats the capacity the new hires were meant to bring.
Below five or six people the distinction is academic and imposing teams is just extra weight. Above that, the product model works better: teams of four to eight people holding all the skills needed to deliver a feature from start to finish. The function model forces every new feature through three groups, with waits of weeks that no progress report measures.
Up to five people, a technical reference and a notebook of written decisions are enough. From five to fifteen you need a team-level technical lead, the tech lead. From fifteen to fifty you need product teams of four to eight people plus one team for the shared foundations, with an architect who helps. Beyond fifty you need more levels and meetings between teams.
A tech lead leads one team of four to eight people on a horizon of the coming weeks, while an architect works across several teams on a horizon of months. You need an architect when four signs appear: design decisions that differ between teams, technical debt growing faster than it is paid down, more than five operational technical questions a day reaching leadership, and a generic technical plan.
You need seven numbers. The four DORA metrics on delivery: release frequency, time from change to production, percentage of failed releases, time to restore a service. Plus three on the health of the people: review response time (beyond eight working hours it is a queue), changes needing more than two review rounds (above 30% standards are unclear), and out-of-hours interventions per person.
On cautious assumptions, ten developers who lose eight hours a week to waiting and unblocking add up to eighty hours, two full-time people. At 40 euros an hour all-in, that is 3,200 euros a week and about 147,000 euros a year over 46 working weeks. These are example figures: replace them with your own company's numbers.
About three months, in four phases and in the right order: diagnosis in the first two weeks, redesign of the structure from week three to six, code governance from week four to twelve, then measuring every work cycle and reviewing the structure every six months. Reversing the order means reorganizing without knowing what you are solving.
