Overview
The scaling model defines four organisational configurations corresponding to the four engineering growth stages. Each configuration defines team topology, coordination mechanisms, knowledge management approach, and the technical boundaries that encode the organisational structure.
Organisational Configurations
Configuration 1: Founding Team (3-8 Engineers)
Single cross-functional team owning the entire mobile codebase on both Android and iOS. Strong pair programming and informal knowledge sharing. Architecture decisions made by the whole team. Code review involves everyone. Daily standups with full context. Technical debt is visible because everyone works in the same codebase.
Risks at this stage: all architectural knowledge concentrated in one or two senior engineers (bus factor). Mitigations: Architecture Decision Records (ADRs) for every significant decision, architecture diagrams maintained as living documentation in the repository, no tribal knowledge.
Configuration 2: Feature Teams (8-20 Engineers)
2-4 cross-functional feature teams, each owning one or more product feature areas. Feature teams include Android engineers, iOS engineers, and a QA engineer. A platform/infrastructure team (2-3 engineers) owns CI/CD, shared libraries, and architectural standards. Weekly cross-team architecture sync: 30 minutes, rotating facilitator, ADR review and architectural decision-making. Feature teams are autonomous within their module boundaries — they do not require platform team approval for feature work.
Configuration 3: Product Streams (20-60 Engineers)
Product stream alignment: each stream corresponds to a business domain (Accounts, Payments, Onboarding). Each stream has a Stream Lead (architect-level) who coordinates engineering across the stream's modules. Platform Engineering team (4-6 engineers) owns the golden path, shared infrastructure, and DevOps. Architecture Guild (2 hours per fortnight): stream leads, platform engineers, and rotating feature engineers. Guild produces architectural standards and reviews proposed deviations.
Multiple product lines sharing a common mobile platform. Platform team (8-12 engineers) owns the mobile platform SDK consumed by all product lines. Each product line has an Architect who maintains alignment with platform standards. Inner source model: product line engineers contribute to the platform through pull requests reviewed by the platform team. Platform team runs office hours for architectural consultation.
Knowledge Management
At every scale level, knowledge must be externalised from individuals into artefacts:
- Architecture Decision Records for every significant architectural choice
- Architecture diagrams maintained in the repository (not in personal wikis or Confluence pages that become stale)
- Internal tech talks: monthly, 30 minutes, rotating engineers presenting a pattern, a library, or a lesson from a production incident
- Onboarding documentation: a new engineer should be productively contributing within 5 business days. If they cannot, the documentation is insufficient.
Anti-Patterns to Avoid
⚠ 1. Hero Engineering
All architectural knowledge concentrated in one senior engineer. When that engineer leaves, architecture decisions become unclear and consistency degrades.
Hover to see the fix ↻
↺ Correct Approach
ADR discipline from day one. Architecture is documented in the repository, not carried in someone's head. When the hero leaves, the ADRs remain.
⚠ 2. Conway's Law Ignored
Two teams sharing ownership of a single module, producing merge conflicts that become architectural conflicts.
Hover to see the fix ↻
↺ Correct Approach
Inverse Conway Maneuver: design the module boundaries to match the desired team boundaries before assigning ownership. Module ownership is one-to-one with team ownership.
Flowchart
%%{init:{'theme':'base','themeVariables':{'fontSize':'14px','fontFamily':'IBM Plex Sans, system-ui, sans-serif','primaryColor':'#DBEAFE','primaryTextColor':'#1e3a5f','primaryBorderColor':'#2563EB','lineColor':'#374151','clusterBkg':'#F9FAFB','clusterBorder':'#D1D5DB','edgeLabelBackground':'#FFFFFF'},'flowchart':{'curve':'orthogonal','padding':30,'nodeSpacing':65,'rankSpacing':75,'useMaxWidth':true}}}%%
flowchart TD
subgraph C1["Config 1: Founding 3–8 Eng"]
FT2["Single Cross-Functional Team
ADR discipline
Full codebase visibility"]
end
subgraph C2["Config 2: Feature Teams 8–20 Eng"]
FT3["2–4 Feature Teams
Platform Team 2–3 eng
Weekly arch sync"]
end
subgraph C3["Config 3: Product Streams 20–60 Eng"]
PS["Stream Leads (architect-level)
Platform Engineering 4–6 eng
Architecture Guild fortnightly"]
end
subgraph C4["Config 4: Platform Model 60+ Eng"]
PE2["Platform Team 8–12 eng
Product Line Architects
Inner source model
Office hours"]
end
subgraph KM["📚 Knowledge Management — All Configs"]
ADR2["Architecture Decision Records
In repository not wiki"]
DIAG["Architecture Diagrams
Living documentation"]
TALKS["Monthly Tech Talks
Rotating presenters"]
DOCS["Onboarding Docs
New engineer productive in 5 days"]
end
C1 --> C2 --> C3 --> C4
C1 & C2 & C3 & C4 --> KM
style C1 fill:#E8F5E9,stroke:#1B5E20
style C2 fill:#E3F2FD,stroke:#1565C0
style C3 fill:#FFF3E0,stroke:#E65100
style C4 fill:#F3E5F5,stroke:#6A1B9A
style KM fill:#ECEFF1,stroke:#546E7A
References
- Skelton, Matthew and Pais, Manuel — Team Topologies. IT Revolution Press, 2019.
- Forsgren et al. — Accelerate. IT Revolution, 2018.
- Conway, Melvin — How Do Committees Invent? Datamation, 1968.
- Spotify — Scaling Agile at Spotify. (Kniberg and Ivarsson, 2012)
Mobile Engineering Reference
← Mobile Development