# Product and operations: build it, buy it, ship it

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv4pv9460011jm06vq1u9cuq
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 10 steps across 1 layer
- Persona: Product team, Engineering, Procurement, Suppliers, Operations

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Product and operations: build it, buy it, ship it

Lanes:
- Product team: person / role (id `pm`)
- Engineering: person / role (id `eng`)
- Procurement: person / role (id `buy`)
- Suppliers: person / role (id `sup`)
- Operations: person / role (id `ops`)

Steps, in the order they run:

1. **Find a problem worth solving** [subprocess; Product team; id `b1`], links to the published process "Idea to customer: from a problem to a thriving product" (https://forks.world/p/cmv0ieh4v005ojw06nqht8zpy; full text at https://forks.world/api/public/cmv0ieh4v005ojw06nqht8zpy/export)
   - then Design and build the product
2. **Design and build the product** [task; Engineering; id `b2`]
   - then Source parts, tools and services
3. **Source parts, tools and services** [subprocess; Procurement; id `b3`], links to the published process "Buy something: purchase order approval" (https://forks.world/p/cmv0iecep004ajw06243yz9os; full text at https://forks.world/api/public/cmv0iecep004ajw06243yz9os/export)
   - then Supply what was ordered
4. **Supply what was ordered** [task; Suppliers; id `b4`]
   - then Keep the supply chain flowing
5. **Keep the supply chain flowing** [subprocess; Operations; id `b5`], links to the published process "Why one blocked ship or factory raises prices everywhere" (https://forks.world/p/cmv21nvqt002pl206feb4uf06; full text at https://forks.world/api/public/cmv21nvqt002pl206feb4uf06/export)
   - then Test the release
6. **Test the release** [task; Engineering; id `b6`]
   - then Is it ready?
7. **Is it ready?** [decision; Engineering; id `b7`]
   - if "Yes" go to Ship it; if "No" go to Design and build the product
8. **Ship it** [subprocess; Engineering; id `b8`], links to the published process "Ship a product release without a 2 a.m. page" (https://forks.world/p/cmv0iecvj004fjw06uy27axj9; full text at https://forks.world/api/public/cmv0iecvj004fjw06uy27axj9/export)
   - then Run it and watch for problems
9. **Run it and watch for problems** [task; Operations; id `b9`]
   - then Learn from customers and plan the next version
10. **Learn from customers and plan the next version** [task; Product team; id `b10`]
   - then Find a problem worth solving

```mermaid
flowchart LR
  subgraph l_pm["Product team"]
    n_b1[["Find a problem worth solving"]]
    n_b10["Learn from customers and plan the next version"]
  end
  subgraph l_eng["Engineering"]
    n_b2["Design and build the product"]
    n_b6["Test the release"]
    n_b7{"Is it ready?"}
    n_b8[["Ship it"]]
  end
  subgraph l_buy["Procurement"]
    n_b3[["Source parts, tools and services"]]
  end
  subgraph l_sup["Suppliers"]
    n_b4["Supply what was ordered"]
  end
  subgraph l_ops["Operations"]
    n_b5[["Keep the supply chain flowing"]]
    n_b9["Run it and watch for problems"]
  end
  n_b1 --> n_b2
  n_b2 --> n_b3
  n_b3 --> n_b4
  n_b4 --> n_b5
  n_b5 --> n_b6
  n_b6 --> n_b7
  n_b7 -->|"Yes"| n_b8
  n_b7 -->|"No"| n_b2
  n_b8 --> n_b9
  n_b9 --> n_b10
  n_b10 --> n_b1
```

## Full data (JSON)

```json
{
  "title": "Product and operations: build it, buy it, ship it",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "pm",
          "name": "Product team",
          "type": "person"
        },
        {
          "id": "eng",
          "name": "Engineering",
          "type": "person"
        },
        {
          "id": "buy",
          "name": "Procurement",
          "type": "person"
        },
        {
          "id": "sup",
          "name": "Suppliers",
          "type": "person"
        },
        {
          "id": "ops",
          "name": "Operations",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "b1",
          "kind": "subprocess",
          "lane": "pm",
          "link": {
            "id": "cmv0ieh4v005ojw06nqht8zpy",
            "scope": "public",
            "title": "Idea to customer: from a problem to a thriving product"
          },
          "next": [
            {
              "to": "b2"
            }
          ],
          "uses": [],
          "label": "Find a problem worth solving"
        },
        {
          "id": "b2",
          "kind": "task",
          "lane": "eng",
          "next": [
            {
              "to": "b3"
            }
          ],
          "uses": [],
          "label": "Design and build the product"
        },
        {
          "id": "b3",
          "kind": "subprocess",
          "lane": "buy",
          "link": {
            "id": "cmv0iecep004ajw06243yz9os",
            "scope": "public",
            "title": "Buy something: purchase order approval"
          },
          "next": [
            {
              "to": "b4"
            }
          ],
          "uses": [],
          "label": "Source parts, tools and services"
        },
        {
          "id": "b4",
          "kind": "task",
          "lane": "sup",
          "next": [
            {
              "to": "b5"
            }
          ],
          "uses": [],
          "label": "Supply what was ordered"
        },
        {
          "id": "b5",
          "kind": "subprocess",
          "lane": "ops",
          "link": {
            "id": "cmv21nvqt002pl206feb4uf06",
            "scope": "public",
            "title": "Why one blocked ship or factory raises prices everywhere"
          },
          "next": [
            {
              "to": "b6"
            }
          ],
          "uses": [],
          "label": "Keep the supply chain flowing"
        },
        {
          "id": "b6",
          "kind": "task",
          "lane": "eng",
          "next": [
            {
              "to": "b7"
            }
          ],
          "uses": [],
          "label": "Test the release"
        },
        {
          "id": "b7",
          "kind": "decision",
          "lane": "eng",
          "next": [
            {
              "to": "b8",
              "label": "Yes"
            },
            {
              "to": "b2",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is it ready?"
        },
        {
          "id": "b8",
          "kind": "subprocess",
          "lane": "eng",
          "link": {
            "id": "cmv0iecvj004fjw06uy27axj9",
            "scope": "public",
            "title": "Ship a product release without a 2 a.m. page"
          },
          "next": [
            {
              "to": "b9"
            }
          ],
          "uses": [],
          "label": "Ship it"
        },
        {
          "id": "b9",
          "kind": "task",
          "lane": "ops",
          "next": [
            {
              "to": "b10"
            }
          ],
          "uses": [],
          "label": "Run it and watch for problems"
        },
        {
          "id": "b10",
          "kind": "task",
          "lane": "pm",
          "next": [
            {
              "to": "b1"
            }
          ],
          "uses": [],
          "label": "Learn from customers and plan the next version"
        }
      ],
      "title": "Product and operations: build it, buy it, ship it",
      "parent": null
    }
  }
}
```
