docs: separate Product and Technology teams #9
No files matched your search
@@ -77,7 +77,7 @@
|
||||
"id": "engineers",
|
||||
"type": "frontend",
|
||||
"label": "Software engineers",
|
||||
"sublabel": "Product Engineering teams",
|
||||
"sublabel": "Product Engineering team",
|
||||
"pos": [
|
||||
1480,
|
||||
40
|
||||
@@ -220,10 +220,10 @@
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Cross-functional execution",
|
||||
"title": "Interdepartmental collaboration",
|
||||
"items": [
|
||||
"Product Owners, Designers and Tech Leads align on product outcomes.",
|
||||
"AI Enablement works across engineering teams."
|
||||
"Data & AI enables AI adoption across Technology."
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"label": "Management",
|
||||
"sublabel": "CEO / COO",
|
||||
"pos": [
|
||||
680,
|
||||
490,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
@@ -37,7 +37,7 @@
|
||||
"label": "Product",
|
||||
"sublabel": "Experience and product outcomes",
|
||||
"pos": [
|
||||
600,
|
||||
40,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -51,7 +51,7 @@
|
||||
"label": "Technology",
|
||||
"sublabel": "Engineering and platform",
|
||||
"pos": [
|
||||
880,
|
||||
720,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -66,7 +66,7 @@
|
||||
"sublabel": "Service, resolution and trust",
|
||||
"pos": [
|
||||
40,
|
||||
280
|
||||
1450
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
@@ -79,8 +79,8 @@
|
||||
"label": "Marketing",
|
||||
"sublabel": "Brand and customer growth",
|
||||
"pos": [
|
||||
320,
|
||||
280
|
||||
370,
|
||||
1450
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
@@ -93,8 +93,8 @@
|
||||
"label": "Finance & Accounting",
|
||||
"sublabel": "Financial performance and controls",
|
||||
"pos": [
|
||||
1160,
|
||||
280
|
||||
700,
|
||||
1450
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
@@ -107,8 +107,8 @@
|
||||
"label": "HR & Administration",
|
||||
"sublabel": "People and workplace",
|
||||
"pos": [
|
||||
1440,
|
||||
280
|
||||
1030,
|
||||
1450
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
@@ -116,114 +116,100 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shared-delivery",
|
||||
"id": "product-team-1",
|
||||
"type": "frontend",
|
||||
"label": "Product & Technology Squads",
|
||||
"sublabel": "Up to seven cross-functional squads",
|
||||
"label": "Product Management",
|
||||
"sublabel": "Strategy, priorities and outcomes",
|
||||
"pos": [
|
||||
660,
|
||||
40,
|
||||
520
|
||||
],
|
||||
"size": [
|
||||
360,
|
||||
280,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-discovery",
|
||||
"id": "product-team-2",
|
||||
"type": "frontend",
|
||||
"label": "Discovery & Categories",
|
||||
"sublabel": "Browse, search and conversion",
|
||||
"label": "Product Design",
|
||||
"sublabel": "Research and experience design",
|
||||
"pos": [
|
||||
40,
|
||||
760
|
||||
680
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-orders",
|
||||
"type": "frontend",
|
||||
"label": "Orders & Delivery",
|
||||
"sublabel": "Purchase and post-purchase",
|
||||
"pos": [
|
||||
280,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-seller",
|
||||
"id": "technology-team-1",
|
||||
"type": "frontend",
|
||||
"label": "Seller Platform",
|
||||
"sublabel": "Seller tools and integrations",
|
||||
"label": "Product Engineering",
|
||||
"sublabel": "Marketplace software delivery",
|
||||
"pos": [
|
||||
520,
|
||||
760
|
||||
720,
|
||||
520
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
280,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-payments",
|
||||
"id": "technology-team-2",
|
||||
"type": "frontend",
|
||||
"label": "Payments & Wallet",
|
||||
"sublabel": "Checkout, balances and payouts",
|
||||
"label": "Platform & IT",
|
||||
"sublabel": "Reliability and internal systems",
|
||||
"pos": [
|
||||
760,
|
||||
760
|
||||
720,
|
||||
680
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
280,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-trust",
|
||||
"id": "technology-team-3",
|
||||
"type": "frontend",
|
||||
"label": "Trust & Safety",
|
||||
"sublabel": "Risk and resolution tooling",
|
||||
"label": "Architecture & Security",
|
||||
"sublabel": "Technical standards and protection",
|
||||
"pos": [
|
||||
1000,
|
||||
760
|
||||
720,
|
||||
840
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
280,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-data",
|
||||
"id": "technology-team-4",
|
||||
"type": "frontend",
|
||||
"label": "Data & Intelligence",
|
||||
"sublabel": "Ranking, analytics and ML",
|
||||
"label": "Quality Engineering",
|
||||
"sublabel": "Testing and release quality",
|
||||
"pos": [
|
||||
1240,
|
||||
760
|
||||
720,
|
||||
1000
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
280,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-platform",
|
||||
"id": "technology-team-5",
|
||||
"type": "frontend",
|
||||
"label": "Platform & AI",
|
||||
"sublabel": "Reliability and engineering AI",
|
||||
"label": "Data & AI",
|
||||
"sublabel": "Analytics, ML and AI enablement",
|
||||
"pos": [
|
||||
1480,
|
||||
760
|
||||
720,
|
||||
1160
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
280,
|
||||
80
|
||||
]
|
||||
}
|
||||
@@ -233,134 +219,99 @@
|
||||
"id": "management-product",
|
||||
"from": "management",
|
||||
"to": "product",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-technology",
|
||||
"from": "management",
|
||||
"to": "technology",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-operations",
|
||||
"from": "management",
|
||||
"to": "operations",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-marketing",
|
||||
"from": "management",
|
||||
"to": "marketing",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-finance",
|
||||
"from": "management",
|
||||
"to": "finance",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-people",
|
||||
"from": "management",
|
||||
"to": "people",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "product-squads",
|
||||
"id": "product-1",
|
||||
"from": "product",
|
||||
"to": "shared-delivery",
|
||||
"label": "Shared delivery",
|
||||
"to": "product-team-1",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "technology-squads",
|
||||
"id": "product-2",
|
||||
"from": "product",
|
||||
"to": "product-team-2",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "technology-1",
|
||||
"from": "technology",
|
||||
"to": "shared-delivery",
|
||||
"label": "Shared delivery",
|
||||
"to": "technology-team-1",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-discovery",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-discovery",
|
||||
"label": "Squad",
|
||||
"id": "technology-2",
|
||||
"from": "technology",
|
||||
"to": "technology-team-2",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-orders",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-orders",
|
||||
"label": "Squad",
|
||||
"id": "technology-3",
|
||||
"from": "technology",
|
||||
"to": "technology-team-3",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-seller",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-seller",
|
||||
"label": "Squad",
|
||||
"id": "technology-4",
|
||||
"from": "technology",
|
||||
"to": "technology-team-4",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-payments",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-payments",
|
||||
"label": "Squad",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-trust",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-trust",
|
||||
"label": "Squad",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-data",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-data",
|
||||
"label": "Squad",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-platform",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-platform",
|
||||
"label": "Squad",
|
||||
"id": "technology-5",
|
||||
"from": "technology",
|
||||
"to": "technology-team-5",
|
||||
"variant": "default"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Shared delivery squads",
|
||||
"items": [
|
||||
"Product owns priorities and outcomes; Technology owns engineering capability.",
|
||||
"Each squad combines product ownership, engineering, design, QA and data skills.",
|
||||
"Functional teams support squads; they are not extra delivery squads."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Product",
|
||||
"items": [
|
||||
"Orders; Categories",
|
||||
"Sellers & Operations",
|
||||
"Data & Intelligence; Product Design"
|
||||
"Product Management",
|
||||
"Product Design"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Technology",
|
||||
"items": [
|
||||
"Product Engineering; Quality Engineering",
|
||||
"Platform & Reliability; Architecture & Security",
|
||||
"AI Enablement; Internal IT"
|
||||
"Product Engineering",
|
||||
"Platform & IT",
|
||||
"Architecture & Security",
|
||||
"Quality Engineering",
|
||||
"Data & AI"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -22,52 +22,34 @@ Functional leaders translate company priorities into departmental plans. Team le
|
||||
|
||||
**Management coordinates the six departments.** Each department has a clear business responsibility and a set of teams that deliver it.
|
||||
|
||||
## Product & Technology squads
|
||||
|
||||
Product and Technology share a delivery structure of **up to seven cross-functional squads**. Product sets priorities and business outcomes; Technology provides engineering leadership, technical standards and delivery capability.
|
||||
|
||||
| Squad | Scope |
|
||||
| --- | --- |
|
||||
| **Discovery & Categories** | Browsing, search, category journeys and marketplace conversion. |
|
||||
| **Orders & Delivery** | Purchase and post-purchase experience, order tracking, delivery and customer feedback. |
|
||||
| **Seller Platform** | Seller Portal, onboarding, integrations and seller-facing tools. |
|
||||
| **Payments & Wallet** | Checkout, balances, withdrawals and payout integrations, working with Finance. |
|
||||
| **Trust & Safety** | Risk controls, dispute tooling and safety workflows, working with Operations. |
|
||||
| **Data & Intelligence** | Analytics, experimentation, offer ranking, recommendations and marketplace ML. |
|
||||
| **Platform & AI** | Shared platform, reliability, delivery infrastructure and engineering AI tools. |
|
||||
|
||||
Each squad brings together product ownership, engineering, design, quality and data expertise according to its scope. Departmental teams and specialist functions below support these squads; they are not additional delivery squads. Operations retains ownership of customer cases and risk decisions, while Finance retains ownership of financial controls.
|
||||
|
||||
## Departments and teams
|
||||
|
||||
Product has **two teams** and Technology has **five teams**. Each team belongs to one department, with its own leadership and responsibilities. The departments collaborate on delivery without sharing team ownership.
|
||||
|
||||
### Product
|
||||
|
||||
**Purpose:** improve the buyer and seller experience and turn marketplace opportunities into valuable product capabilities.
|
||||
|
||||
| Team | Responsibilities |
|
||||
| --- | --- |
|
||||
| Orders | Purchase and post-purchase journeys, order status, delivery experience, dispute flows, feedback and loyalty. |
|
||||
| Categories | Category experiences, including Boosting and Currency, discovery, conversion and category-specific user journeys. |
|
||||
| Sellers & Operations | Seller Portal, seller integrations, onboarding and verification, balances and withdrawals, invoicing and operational tooling. |
|
||||
| Data & Intelligence | Product analytics, experimentation, offer ranking, recommendations and decision support. |
|
||||
| Product Design | User research, interaction design, design consistency and accessible buyer and seller experiences across product teams. |
|
||||
| Product Management | Product strategy, roadmaps, priorities and outcome measurement across discovery, categories, orders, seller tools, payments and operational workflows. |
|
||||
| Product Design | User research, interaction design, design consistency and accessible buyer and seller experiences. |
|
||||
|
||||
Product Owners, Designers and Tech Leads work together on each product area. Product owns priorities and outcomes; Technology owns engineering execution and technical quality.
|
||||
Product Management owns what to improve and why. Product Design shapes the experience. Both work with Technology teams while remaining within Product.
|
||||
|
||||
### Technology
|
||||
|
||||
**Purpose:** build and operate a secure, reliable marketplace and improve the effectiveness of engineering.
|
||||
|
||||
| Team / function | Responsibilities |
|
||||
| Team | Responsibilities |
|
||||
| --- | --- |
|
||||
| Product Engineering | Develop and maintain marketplace capabilities in cross-functional product teams. |
|
||||
| Platform & Reliability | Shared platform services, delivery infrastructure, observability, availability and performance. |
|
||||
| Architecture & Security | Technical standards, system design, infrastructure security and secure engineering practices. |
|
||||
| Product Engineering | Build and maintain marketplace capabilities, including search, orders, seller tools, checkout, wallet and operational tooling. |
|
||||
| Platform & IT | Platform services, delivery infrastructure, observability, reliability, performance, internal systems, employee devices and identity administration. |
|
||||
| Architecture & Security | Technical standards, system design, security architecture and secure engineering practices. |
|
||||
| Quality Engineering | Test strategy, automation, release quality and defect prevention. |
|
||||
| AI Enablement | AI-assisted engineering workflows, developer tools, adoption, standards and safe use of AI. |
|
||||
| Internal IT | Identity and access, employee devices, internal systems, software administration and joiner–mover–leaver processes. |
|
||||
| Data & AI | Analytics, experimentation, ranking, recommendations, marketplace ML and safe AI-assisted engineering workflows. |
|
||||
|
||||
The CTO owns technology direction. The Head of Engineering leads engineering delivery through Group Engineering Managers and Engineering Managers. The AI Architect coordinates AI enablement across engineering, working with Architecture & Security and team leaders.
|
||||
The CTO owns technology direction. The Head of Engineering leads engineering delivery through Group Engineering Managers and Engineering Managers. The AI Architect coordinates AI enablement within Data & AI, working with Architecture & Security and the other Technology teams. These are leadership roles within the five-team structure, not additional teams.
|
||||
|
||||
### Operations
|
||||
|
||||
@@ -119,7 +101,7 @@ The CFO coordinates Finance & Accounting and works with executive leadership on
|
||||
| People Operations | Employee onboarding, development, performance processes, policies and employee experience. |
|
||||
| Office & Administration | Workplace services, office operations and administrative coordination. |
|
||||
|
||||
HR partners with department leaders on team capacity and development. People Operations works with Internal IT on employee onboarding, role changes and offboarding.
|
||||
HR partners with department leaders on team capacity and development. People Operations works with Platform & IT on employee onboarding, role changes and offboarding.
|
||||
|
||||
## Leadership and delivery structure
|
||||
|
||||
@@ -127,21 +109,21 @@ HR partners with department leaders on team capacity and development. People Ope
|
||||
|
||||
The diagram shows management responsibility from leader to role or team:
|
||||
|
||||
- **CTO → Head of Engineering → Group Engineering Managers → Engineering Managers → Product Engineering teams.**
|
||||
- **CTO → Head of Engineering → Group Engineering Managers → Engineering Managers → the Product Engineering team.**
|
||||
- **CTO → AI Architect**, coordinating engineering AI enablement.
|
||||
- **COO → Operational Quality**, providing independent quality oversight.
|
||||
- **CMO → Brand Team Lead**, leading Brand & Community.
|
||||
|
||||
Product teams combine product ownership, design, engineering, quality and data expertise. Functional management develops people and professional standards; cross-functional teams deliver business outcomes.
|
||||
Product and Technology retain separate team ownership and reporting lines. Their teams coordinate priorities, design, engineering, quality and data work to deliver business outcomes.
|
||||
|
||||
## How the departments work together
|
||||
|
||||
| Business outcome | Collaboration |
|
||||
| --- | --- |
|
||||
| Better buyer experience | Product defines improvements; Technology delivers them; Operations brings customer feedback; Data measures the result. |
|
||||
| Better buyer experience | Product defines improvements; Technology delivers them; Operations brings customer feedback; Data & AI measures the result. |
|
||||
| Stronger seller experience | Product and Technology develop seller tools; Operations supports sellers; Finance manages financial processes. |
|
||||
| Safe and trustworthy trading | Risk & Fraud, Trust & Resolution, Architecture & Security, and Finance coordinate controls and incident responses. |
|
||||
| Sustainable growth | Marketing develops demand; Product improves conversion and retention; Finance measures profitability. |
|
||||
| AI-powered execution | AI Enablement supports engineering; Data & Intelligence develops marketplace intelligence; Operations improves service and quality workflows. |
|
||||
| AI-powered execution | Data & AI supports engineering and develops marketplace intelligence; Operations improves service and quality workflows. |
|
||||
|
||||
Department leaders remain accountable for outcomes, controls and service quality as AI becomes part of everyday work.
|
||||
+15
-7
@@ -59,14 +59,22 @@ test('Archify is pinned, licensed and rebuilt, not a remote embed', () => {
|
||||
assert(!wrapper.includes('target="_blank"'));
|
||||
assert(wrapper.includes('Close full-screen diagram'));
|
||||
});
|
||||
test('Product and Technology share seven delivery squads', () => {
|
||||
test('Product owns two teams and Technology owns five separate teams', () => {
|
||||
const spec = JSON.parse(read('diagrams/organization-structure.architecture.json'));
|
||||
const squads = spec.components.filter(n => n.id.startsWith('squad-'));
|
||||
assert.equal(squads.length, 7);
|
||||
for (const dept of ['product','technology']) assert(spec.connections.some(e => e.from === dept && e.to === 'shared-delivery'));
|
||||
for (const squad of squads) {
|
||||
assert(spec.connections.some(e => e.from === 'shared-delivery' && e.to === squad.id));
|
||||
assert(read('docs/organization/structure.mdx').includes(squad.label));
|
||||
const page = read('docs/organization/structure.mdx');
|
||||
assert(!/shared-delivery|squad-/i.test(JSON.stringify(spec)));
|
||||
assert(!/shared squads|share a delivery structure|cross-functional teams/i.test(page));
|
||||
for (const [dept, count, heading, next] of [['product',2,'Product','Technology'],['technology',5,'Technology','Operations']]) {
|
||||
const teams = spec.components.filter(n => n.id.startsWith(`${dept}-team-`));
|
||||
assert.equal(teams.length, count);
|
||||
const section = page.split(`### ${heading}\n`)[1].split(`### ${next}\n`)[0];
|
||||
const rows = section.split('\n').filter(l => l.startsWith('| ')).slice(2);
|
||||
assert.equal(rows.length, count);
|
||||
for (const team of teams) {
|
||||
const parents = spec.connections.filter(e => e.to === team.id);
|
||||
assert.deepEqual(parents.map(e => e.from), [dept]);
|
||||
assert(rows.some(row => row.startsWith(`| ${team.label} |`)));
|
||||
}
|
||||
}
|
||||
});
|
||||
test('organization page presents an operating model, not research notes', () => {
|
||||
|
||||
+5
-2
@@ -21,10 +21,13 @@ if (process.argv.includes('--build')) {
|
||||
}
|
||||
assert(!readdirSync('build/diagrams', {recursive: true}).some(f => f.endsWith('.delivery.json')), 'Private build receipts must not be published');
|
||||
const diagram = read('build/diagrams/organization-structure/index.html');
|
||||
assert(diagram.includes('Coordinates') && diagram.includes('node-technology'));
|
||||
assert(diagram.includes('node-product-team-2') && diagram.includes('node-technology-team-5'));
|
||||
assert(!diagram.includes('shared-delivery'));
|
||||
assert(!/A: placement|E: careers|J: advertised/.test(diagram));
|
||||
assert(!diagram.includes('Example leadership'));
|
||||
for (const id of ['discovery','orders','seller','payments','trust','data','platform']) assert(diagram.includes(`node-squad-${id}`));
|
||||
for (const [dept, count] of [['product', 2], ['technology', 5]]) {
|
||||
for (let i = 1; i <= count; i++) assert(diagram.includes(`node-${dept}-team-${i}`));
|
||||
}
|
||||
const reporting = read('build/diagrams/organization-reporting/index.html');
|
||||
assert(reporting.includes('AI Architect') && reporting.includes('Leads'));
|
||||
assert(!/A: assumed|J: direct/.test(reporting));
|
||||
|
||||
Reference in new issue
Block a user