Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecc234234e | ||
|
|
59b4075113 |
No files matched your search
@@ -77,7 +77,7 @@
|
|||||||
"id": "engineers",
|
"id": "engineers",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Software engineers",
|
"label": "Software engineers",
|
||||||
"sublabel": "Product Engineering teams",
|
"sublabel": "Product Engineering team",
|
||||||
"pos": [
|
"pos": [
|
||||||
1480,
|
1480,
|
||||||
40
|
40
|
||||||
@@ -220,10 +220,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dot": "amber",
|
"dot": "amber",
|
||||||
"title": "Cross-functional execution",
|
"title": "Interdepartmental collaboration",
|
||||||
"items": [
|
"items": [
|
||||||
"Product Owners, Designers and Tech Leads align on product outcomes.",
|
"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",
|
"label": "Management",
|
||||||
"sublabel": "CEO / COO",
|
"sublabel": "CEO / COO",
|
||||||
"pos": [
|
"pos": [
|
||||||
680,
|
490,
|
||||||
40
|
40
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
"label": "Product",
|
"label": "Product",
|
||||||
"sublabel": "Experience and product outcomes",
|
"sublabel": "Experience and product outcomes",
|
||||||
"pos": [
|
"pos": [
|
||||||
600,
|
40,
|
||||||
280
|
280
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
"label": "Technology",
|
"label": "Technology",
|
||||||
"sublabel": "Engineering and platform",
|
"sublabel": "Engineering and platform",
|
||||||
"pos": [
|
"pos": [
|
||||||
880,
|
720,
|
||||||
280
|
280
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
"sublabel": "Service, resolution and trust",
|
"sublabel": "Service, resolution and trust",
|
||||||
"pos": [
|
"pos": [
|
||||||
40,
|
40,
|
||||||
280
|
1450
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
240,
|
240,
|
||||||
@@ -79,8 +79,8 @@
|
|||||||
"label": "Marketing",
|
"label": "Marketing",
|
||||||
"sublabel": "Brand and customer growth",
|
"sublabel": "Brand and customer growth",
|
||||||
"pos": [
|
"pos": [
|
||||||
320,
|
370,
|
||||||
280
|
1450
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
240,
|
240,
|
||||||
@@ -93,8 +93,8 @@
|
|||||||
"label": "Finance & Accounting",
|
"label": "Finance & Accounting",
|
||||||
"sublabel": "Financial performance and controls",
|
"sublabel": "Financial performance and controls",
|
||||||
"pos": [
|
"pos": [
|
||||||
1160,
|
700,
|
||||||
280
|
1450
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
240,
|
240,
|
||||||
@@ -107,8 +107,8 @@
|
|||||||
"label": "HR & Administration",
|
"label": "HR & Administration",
|
||||||
"sublabel": "People and workplace",
|
"sublabel": "People and workplace",
|
||||||
"pos": [
|
"pos": [
|
||||||
1440,
|
1030,
|
||||||
280
|
1450
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
240,
|
240,
|
||||||
@@ -116,114 +116,100 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "shared-delivery",
|
"id": "product-team-1",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Product & Technology Squads",
|
"label": "Product Management",
|
||||||
"sublabel": "Up to seven cross-functional squads",
|
"sublabel": "Strategy, priorities and outcomes",
|
||||||
"pos": [
|
"pos": [
|
||||||
660,
|
40,
|
||||||
520
|
520
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
360,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-discovery",
|
"id": "product-team-2",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Discovery & Categories",
|
"label": "Product Design",
|
||||||
"sublabel": "Browse, search and conversion",
|
"sublabel": "Research and experience design",
|
||||||
"pos": [
|
"pos": [
|
||||||
40,
|
40,
|
||||||
760
|
680
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
|
||||||
80
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "squad-orders",
|
|
||||||
"type": "frontend",
|
|
||||||
"label": "Orders & Delivery",
|
|
||||||
"sublabel": "Purchase and post-purchase",
|
|
||||||
"pos": [
|
|
||||||
280,
|
280,
|
||||||
760
|
|
||||||
],
|
|
||||||
"size": [
|
|
||||||
200,
|
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-seller",
|
"id": "technology-team-1",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Seller Platform",
|
"label": "Product Engineering",
|
||||||
"sublabel": "Seller tools and integrations",
|
"sublabel": "Marketplace software delivery",
|
||||||
"pos": [
|
"pos": [
|
||||||
520,
|
720,
|
||||||
760
|
520
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-payments",
|
"id": "technology-team-2",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Payments & Wallet",
|
"label": "Platform & IT",
|
||||||
"sublabel": "Checkout, balances and payouts",
|
"sublabel": "Reliability and internal systems",
|
||||||
"pos": [
|
"pos": [
|
||||||
760,
|
720,
|
||||||
760
|
680
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-trust",
|
"id": "technology-team-3",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Trust & Safety",
|
"label": "Architecture & Security",
|
||||||
"sublabel": "Risk and resolution tooling",
|
"sublabel": "Technical standards and protection",
|
||||||
"pos": [
|
"pos": [
|
||||||
1000,
|
720,
|
||||||
760
|
840
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-data",
|
"id": "technology-team-4",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Data & Intelligence",
|
"label": "Quality Engineering",
|
||||||
"sublabel": "Ranking, analytics and ML",
|
"sublabel": "Testing and release quality",
|
||||||
"pos": [
|
"pos": [
|
||||||
1240,
|
720,
|
||||||
760
|
1000
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "squad-platform",
|
"id": "technology-team-5",
|
||||||
"type": "frontend",
|
"type": "frontend",
|
||||||
"label": "Platform & AI",
|
"label": "Data & AI",
|
||||||
"sublabel": "Reliability and engineering AI",
|
"sublabel": "Analytics, ML and AI enablement",
|
||||||
"pos": [
|
"pos": [
|
||||||
1480,
|
720,
|
||||||
760
|
1160
|
||||||
],
|
],
|
||||||
"size": [
|
"size": [
|
||||||
200,
|
280,
|
||||||
80
|
80
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -233,134 +219,99 @@
|
|||||||
"id": "management-product",
|
"id": "management-product",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "product",
|
"to": "product",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "management-technology",
|
"id": "management-technology",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "technology",
|
"to": "technology",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "management-operations",
|
"id": "management-operations",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "operations",
|
"to": "operations",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "management-marketing",
|
"id": "management-marketing",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "marketing",
|
"to": "marketing",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "management-finance",
|
"id": "management-finance",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "finance",
|
"to": "finance",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "management-people",
|
"id": "management-people",
|
||||||
"from": "management",
|
"from": "management",
|
||||||
"to": "people",
|
"to": "people",
|
||||||
"label": "Coordinates",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "product-squads",
|
"id": "product-1",
|
||||||
"from": "product",
|
"from": "product",
|
||||||
"to": "shared-delivery",
|
"to": "product-team-1",
|
||||||
"label": "Shared delivery",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "technology-squads",
|
"id": "product-2",
|
||||||
|
"from": "product",
|
||||||
|
"to": "product-team-2",
|
||||||
|
"variant": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "technology-1",
|
||||||
"from": "technology",
|
"from": "technology",
|
||||||
"to": "shared-delivery",
|
"to": "technology-team-1",
|
||||||
"label": "Shared delivery",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "delivery-discovery",
|
"id": "technology-2",
|
||||||
"from": "shared-delivery",
|
"from": "technology",
|
||||||
"to": "squad-discovery",
|
"to": "technology-team-2",
|
||||||
"label": "Squad",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "delivery-orders",
|
"id": "technology-3",
|
||||||
"from": "shared-delivery",
|
"from": "technology",
|
||||||
"to": "squad-orders",
|
"to": "technology-team-3",
|
||||||
"label": "Squad",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "delivery-seller",
|
"id": "technology-4",
|
||||||
"from": "shared-delivery",
|
"from": "technology",
|
||||||
"to": "squad-seller",
|
"to": "technology-team-4",
|
||||||
"label": "Squad",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "delivery-payments",
|
"id": "technology-5",
|
||||||
"from": "shared-delivery",
|
"from": "technology",
|
||||||
"to": "squad-payments",
|
"to": "technology-team-5",
|
||||||
"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",
|
|
||||||
"variant": "default"
|
"variant": "default"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"cards": [
|
"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",
|
"dot": "cyan",
|
||||||
"title": "Product",
|
"title": "Product",
|
||||||
"items": [
|
"items": [
|
||||||
"Orders; Categories",
|
"Product Management",
|
||||||
"Sellers & Operations",
|
"Product Design"
|
||||||
"Data & Intelligence; Product Design"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dot": "amber",
|
"dot": "amber",
|
||||||
"title": "Technology",
|
"title": "Technology",
|
||||||
"items": [
|
"items": [
|
||||||
"Product Engineering; Quality Engineering",
|
"Product Engineering",
|
||||||
"Platform & Reliability; Architecture & Security",
|
"Platform & IT",
|
||||||
"AI Enablement; Internal 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.
|
**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
|
## 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
|
### Product
|
||||||
|
|
||||||
**Purpose:** improve the buyer and seller experience and turn marketplace opportunities into valuable product capabilities.
|
**Purpose:** improve the buyer and seller experience and turn marketplace opportunities into valuable product capabilities.
|
||||||
|
|
||||||
| Team | Responsibilities |
|
| Team | Responsibilities |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Orders | Purchase and post-purchase journeys, order status, delivery experience, dispute flows, feedback and loyalty. |
|
| Product Management | Product strategy, roadmaps, priorities and outcome measurement across discovery, categories, orders, seller tools, payments and operational workflows. |
|
||||||
| Categories | Category experiences, including Boosting and Currency, discovery, conversion and category-specific user journeys. |
|
| Product Design | User research, interaction design, design consistency and accessible buyer and seller experiences. |
|
||||||
| 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 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
|
### Technology
|
||||||
|
|
||||||
**Purpose:** build and operate a secure, reliable marketplace and improve the effectiveness of engineering.
|
**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. |
|
| Product Engineering | Build and maintain marketplace capabilities, including search, orders, seller tools, checkout, wallet and operational tooling. |
|
||||||
| Platform & Reliability | Shared platform services, delivery infrastructure, observability, availability and performance. |
|
| Platform & IT | Platform services, delivery infrastructure, observability, reliability, performance, internal systems, employee devices and identity administration. |
|
||||||
| Architecture & Security | Technical standards, system design, infrastructure security and secure engineering practices. |
|
| Architecture & Security | Technical standards, system design, security architecture and secure engineering practices. |
|
||||||
| Quality Engineering | Test strategy, automation, release quality and defect prevention. |
|
| 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. |
|
| Data & AI | Analytics, experimentation, ranking, recommendations, marketplace ML and safe AI-assisted engineering workflows. |
|
||||||
| Internal IT | Identity and access, employee devices, internal systems, software administration and joiner–mover–leaver processes. |
|
|
||||||
|
|
||||||
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
|
### 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. |
|
| People Operations | Employee onboarding, development, performance processes, policies and employee experience. |
|
||||||
| Office & Administration | Workplace services, office operations and administrative coordination. |
|
| 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
|
## 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:
|
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.
|
- **CTO → AI Architect**, coordinating engineering AI enablement.
|
||||||
- **COO → Operational Quality**, providing independent quality oversight.
|
- **COO → Operational Quality**, providing independent quality oversight.
|
||||||
- **CMO → Brand Team Lead**, leading Brand & Community.
|
- **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
|
## How the departments work together
|
||||||
|
|
||||||
| Business outcome | Collaboration |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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.
|
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('target="_blank"'));
|
||||||
assert(wrapper.includes('Close full-screen diagram'));
|
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 spec = JSON.parse(read('diagrams/organization-structure.architecture.json'));
|
||||||
const squads = spec.components.filter(n => n.id.startsWith('squad-'));
|
const page = read('docs/organization/structure.mdx');
|
||||||
assert.equal(squads.length, 7);
|
assert(!/shared-delivery|squad-/i.test(JSON.stringify(spec)));
|
||||||
for (const dept of ['product','technology']) assert(spec.connections.some(e => e.from === dept && e.to === 'shared-delivery'));
|
assert(!/shared squads|share a delivery structure|cross-functional teams/i.test(page));
|
||||||
for (const squad of squads) {
|
for (const [dept, count, heading, next] of [['product',2,'Product','Technology'],['technology',5,'Technology','Operations']]) {
|
||||||
assert(spec.connections.some(e => e.from === 'shared-delivery' && e.to === squad.id));
|
const teams = spec.components.filter(n => n.id.startsWith(`${dept}-team-`));
|
||||||
assert(read('docs/organization/structure.mdx').includes(squad.label));
|
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', () => {
|
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');
|
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');
|
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(!/A: placement|E: careers|J: advertised/.test(diagram));
|
||||||
assert(!diagram.includes('Example leadership'));
|
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');
|
const reporting = read('build/diagrams/organization-reporting/index.html');
|
||||||
assert(reporting.includes('AI Architect') && reporting.includes('Leads'));
|
assert(reporting.includes('AI Architect') && reporting.includes('Leads'));
|
||||||
assert(!/A: assumed|J: direct/.test(reporting));
|
assert(!/A: assumed|J: direct/.test(reporting));
|
||||||
|
|||||||
Reference in new issue
Block a user