docs: add seven shared Product and Technology squads
Build and publish Eldorado documentation / build (pull_request) Successful in 35s
Build and publish Eldorado documentation / build (pull_request) Successful in 35s
This commit is contained in:
1 parent
ea2d1e889b
commit
6e1503d31b
4 files changed
+216
-5
No files matched your search
@@ -23,7 +23,7 @@
|
||||
"label": "Management",
|
||||
"sublabel": "CEO / COO",
|
||||
"pos": [
|
||||
660,
|
||||
680,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
@@ -37,7 +37,7 @@
|
||||
"label": "Product",
|
||||
"sublabel": "Experience and product outcomes",
|
||||
"pos": [
|
||||
40,
|
||||
600,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -51,7 +51,7 @@
|
||||
"label": "Technology",
|
||||
"sublabel": "Engineering and platform",
|
||||
"pos": [
|
||||
320,
|
||||
880,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -65,7 +65,7 @@
|
||||
"label": "Operations",
|
||||
"sublabel": "Service, resolution and trust",
|
||||
"pos": [
|
||||
600,
|
||||
40,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -79,7 +79,7 @@
|
||||
"label": "Marketing",
|
||||
"sublabel": "Brand and customer growth",
|
||||
"pos": [
|
||||
880,
|
||||
320,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
@@ -114,6 +114,118 @@
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shared-delivery",
|
||||
"type": "frontend",
|
||||
"label": "Product & Technology Squads",
|
||||
"sublabel": "Up to seven cross-functional squads",
|
||||
"pos": [
|
||||
660,
|
||||
520
|
||||
],
|
||||
"size": [
|
||||
360,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-discovery",
|
||||
"type": "frontend",
|
||||
"label": "Discovery & Categories",
|
||||
"sublabel": "Browse, search and conversion",
|
||||
"pos": [
|
||||
40,
|
||||
760
|
||||
],
|
||||
"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",
|
||||
"type": "frontend",
|
||||
"label": "Seller Platform",
|
||||
"sublabel": "Seller tools and integrations",
|
||||
"pos": [
|
||||
520,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-payments",
|
||||
"type": "frontend",
|
||||
"label": "Payments & Wallet",
|
||||
"sublabel": "Checkout, balances and payouts",
|
||||
"pos": [
|
||||
760,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-trust",
|
||||
"type": "frontend",
|
||||
"label": "Trust & Safety",
|
||||
"sublabel": "Risk and resolution tooling",
|
||||
"pos": [
|
||||
1000,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-data",
|
||||
"type": "frontend",
|
||||
"label": "Data & Intelligence",
|
||||
"sublabel": "Ranking, analytics and ML",
|
||||
"pos": [
|
||||
1240,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "squad-platform",
|
||||
"type": "frontend",
|
||||
"label": "Platform & AI",
|
||||
"sublabel": "Reliability and engineering AI",
|
||||
"pos": [
|
||||
1480,
|
||||
760
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
80
|
||||
]
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
@@ -158,9 +270,81 @@
|
||||
"to": "people",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "product-squads",
|
||||
"from": "product",
|
||||
"to": "shared-delivery",
|
||||
"label": "Shared delivery",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "technology-squads",
|
||||
"from": "technology",
|
||||
"to": "shared-delivery",
|
||||
"label": "Shared delivery",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-discovery",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-discovery",
|
||||
"label": "Squad",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-orders",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-orders",
|
||||
"label": "Squad",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "delivery-seller",
|
||||
"from": "shared-delivery",
|
||||
"to": "squad-seller",
|
||||
"label": "Squad",
|
||||
"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",
|
||||
"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",
|
||||
|
||||
@@ -22,6 +22,22 @@ 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
|
||||
|
||||
@@ -59,6 +59,16 @@ 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', () => {
|
||||
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));
|
||||
}
|
||||
});
|
||||
test('organization page presents an operating model, not research notes', () => {
|
||||
const page = read('docs/organization/structure.mdx');
|
||||
assert(page.includes('operating model') && page.includes('## Departments and teams'));
|
||||
|
||||
@@ -24,6 +24,7 @@ if (process.argv.includes('--build')) {
|
||||
assert(diagram.includes('Coordinates') && diagram.includes('node-technology'));
|
||||
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}`));
|
||||
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