# Planning poker: estimating together

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kq4yy002rjv06lux4w7tt
> 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

- 11 steps across 1 layer
- Persona: Product owner, Developers, Scrum Master

## Pain points

Where this process hurts, worst first:

- **The highest and the lowest explain their reasoning** (Planning poker: estimating together; annoying): Disagreement is the point: it surfaces hidden assumptions

## 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`.

## Planning poker: estimating together

Lanes:
- Product owner: person / role (id `po`)
- Developers: person / role (id `team`)
- Scrum Master: person / role (id `sm`)

Steps, in the order they run:

1. **Read the story aloud** [start; Product owner; id `p1`]
   - then Ask questions until it is clear
2. **Ask questions until it is clear** [task; Developers; id `p2`]
   - then Each person privately picks a card: 1, 2, 3, 5, 8, 13
3. **Each person privately picks a card: 1, 2, 3, 5, 8, 13** [task; Developers; id `p3`]
   - then Reveal at once
4. **Reveal at once** [task; Developers; id `p4`]
   - then Do the estimates agree?
5. **Do the estimates agree?** [decision; Developers; id `p5`]
   - if "Yes" go to Record the estimate; if "No" go to The highest and the lowest explain their reasoning
6. **Record the estimate** [task; Scrum Master; id `p6`]
   - then Is it too big (13 or more)?
7. **Is it too big (13 or more)?** [decision; Developers; id `p9`]
   - if "Yes" go to Split the story into smaller ones; if "No" go to Ready for a sprint
8. **Split the story into smaller ones** [task; Product owner; id `p10`]
   - then Read the story aloud
9. **Ready for a sprint** [end; Product owner; id `p11`]
10. **The highest and the lowest explain their reasoning** [task; Developers; id `p7`] ⚠ PAIN POINT (annoying): Disagreement is the point: it surfaces hidden assumptions
   - then The discussion reveals hidden work or risk
11. **The discussion reveals hidden work or risk** [task; Developers; id `p8`]
   - then Each person privately picks a card: 1, 2, 3, 5, 8, 13

```mermaid
flowchart LR
  subgraph l_po["Product owner"]
    n_p1(["Read the story aloud"])
    n_p10["Split the story into smaller ones"]
    n_p11(["Ready for a sprint"])
  end
  subgraph l_team["Developers"]
    n_p2["Ask questions until it is clear"]
    n_p3["Each person privately picks a card: 1, 2, 3, 5, 8, 13"]
    n_p4["Reveal at once"]
    n_p5{"Do the estimates agree?"}
    n_p7["The highest and the lowest explain their reasoning"]
    n_p8["The discussion reveals hidden work or risk"]
    n_p9{"Is it too big (13 or more)?"}
  end
  subgraph l_sm["Scrum Master"]
    n_p6["Record the estimate"]
  end
  n_p1 --> n_p2
  n_p2 --> n_p3
  n_p3 --> n_p4
  n_p4 --> n_p5
  n_p5 -->|"Yes"| n_p6
  n_p5 -->|"No"| n_p7
  n_p7 --> n_p8
  n_p8 --> n_p3
  n_p6 --> n_p9
  n_p9 -->|"Yes"| n_p10
  n_p9 -->|"No"| n_p11
  n_p10 --> n_p1
```

## Full data (JSON)

```json
{
  "title": "Planning poker: estimating together",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "po",
          "name": "Product owner",
          "type": "person"
        },
        {
          "id": "team",
          "name": "Developers",
          "type": "person"
        },
        {
          "id": "sm",
          "name": "Scrum Master",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "p1",
          "kind": "start",
          "lane": "po",
          "next": [
            {
              "to": "p2"
            }
          ],
          "uses": [],
          "label": "Read the story aloud"
        },
        {
          "id": "p2",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "p3"
            }
          ],
          "uses": [],
          "label": "Ask questions until it is clear"
        },
        {
          "id": "p3",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "p4"
            }
          ],
          "uses": [],
          "label": "Each person privately picks a card: 1, 2, 3, 5, 8, 13"
        },
        {
          "id": "p4",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "p5"
            }
          ],
          "uses": [],
          "label": "Reveal at once"
        },
        {
          "id": "p5",
          "kind": "decision",
          "lane": "team",
          "next": [
            {
              "to": "p6",
              "label": "Yes"
            },
            {
              "to": "p7",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do the estimates agree?"
        },
        {
          "id": "p7",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "p8"
            }
          ],
          "pain": {
            "note": "Disagreement is the point: it surfaces hidden assumptions",
            "level": 1
          },
          "uses": [],
          "label": "The highest and the lowest explain their reasoning"
        },
        {
          "id": "p8",
          "kind": "task",
          "lane": "team",
          "next": [
            {
              "to": "p3"
            }
          ],
          "uses": [],
          "label": "The discussion reveals hidden work or risk"
        },
        {
          "id": "p6",
          "kind": "task",
          "lane": "sm",
          "next": [
            {
              "to": "p9"
            }
          ],
          "uses": [],
          "label": "Record the estimate"
        },
        {
          "id": "p9",
          "kind": "decision",
          "lane": "team",
          "next": [
            {
              "to": "p10",
              "label": "Yes"
            },
            {
              "to": "p11",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is it too big (13 or more)?"
        },
        {
          "id": "p10",
          "kind": "task",
          "lane": "po",
          "next": [
            {
              "to": "p1"
            }
          ],
          "uses": [],
          "label": "Split the story into smaller ones"
        },
        {
          "id": "p11",
          "kind": "end",
          "lane": "po",
          "next": [],
          "uses": [],
          "label": "Ready for a sprint"
        }
      ],
      "title": "Planning poker: estimating together",
      "parent": null
    }
  }
}
```
