A software development team needs more than developers. The most common mistake is to compile a team of developers and stop there. A well-structured team also has QA, technical leadership, someone who coordinates, someone who owns the product, and a way to turn what the client says into work the team can build.
Below is the software development team structure we use: the development team roles, what each one does, and how many people it takes.
The roles in a development team
Developers
The people who build the software. Most teams split the work into front-end (what users see and use) and back-end (the logic, data and infrastructure behind it), sometimes combined in full-stack developers.
QA
Quality assurance is a role of its own, not a side task for the developers. Clients often ask us: can’t the developers just check their own work? They can, but then they build less. Testing a product properly means covering a large number of scenarios, and that is a real job. That is why we always advise a dedicated QA, even if that person is part-time.
Technical lead or architect
Someone has to lead the team technically: decide how the software is built and keep that consistent. That can be an architect who leads the team, or a separate tech lead working next to the architect.
Project manager or scrum master
This role helps the team communicate and coordinate: planning the work, removing blockers and keeping the client and the team aligned.
Product leadership
Someone owns the “why”: what gets built and in what order. Every team also needs a form of account management, because clients describe what they want in their own words. Someone has to translate that into requirements, and then into something the team understands. In our case that is user stories. At Wise Minds the product leader does both, combining product ownership and product management. For the difference between the two, see our post on the difference between a product owner and a product manager.
Design
Design decides how a feature looks and works before it is built. In our setup design is not part of the team. It sits outside the team and assists product leadership directly.
How big should a software development team be?
Two to four developers. In the past we advised four to eight, because a scrum team should not exceed ten people in total. In our experience, four developers working with AI can do the work of eight, so a smaller team is enough. It also means less coordination.
The other roles do not need to be full-time. Project manager, product leadership and QA can be part-time or shared across several projects, depending on how the project moves.
Example: team Alpha
Team Alpha is one of our own teams, working for a client. This is its structure:
| Role | In team Alpha |
|---|---|
| Developers | 3 |
| QA | 1 |
| Product leadership (ownership and management combined) | One product leader shared across three teams |
| Project manager | A quarter of a full-time position |
| Architect | Shared across multiple projects |
| Design | Outside the team, assists product leadership |
Only the developers and QA work on the team full-time. The roles that guide and coordinate are shared, so the cost of the team stays in line with the work it actually has.
What changes when the product grows
We try not to let a team grow in headcount. When a product gets too big, we split it into a subproduct and build a new team around it. The new team shares the project manager and product leadership with the first one, and sometimes QA as well.
Building this structure without hiring every role
Hiring developers, QA, a tech lead, a project manager and product leadership separately takes months, and most companies do not need all of it full-time. A Wise Minds product unit comes with this structure already in place.
If you already have developers and need the structure around them, see staff augmentation. If you are starting from scratch, see hiring a development team.
Frequently asked questions
What is the minimum team needed to build a software product?
At least one developer and someone who owns the product decisions. With less, you are building without direction or without the capacity to act on it.
Can developers test their own work?
Yes, and good developers write automated tests for their own code. Testing a whole product across many scenarios is a larger task, though, which is why many teams give it to a dedicated QA.
What does a scrum master or project manager do?
They help the team plan, communicate and coordinate. They remove blockers and keep the client and the team aligned, but they do not decide what gets built.
What is the difference between a tech lead and an architect?
An architect designs the technical structure of the product. A tech lead guides the team day to day. On smaller teams one person often does both.
How large should a scrum team be?
The Scrum Guide recommends ten people or fewer, including the product owner and scrum master. Smaller teams usually need less coordination.
