Sizing

Sizing and story points

Every leaf gets a t-shirt size and matching points from a fixed table. The UI rolls parents up at read time.

Size → points

SizePointsMeaning
XS1Trivial
S3Small
M5Medium
L8Large
XL13Extra large — prefer split
XXL21Not sprint-ready — not refined for a sprint; prefer split

Points scale: 1 | 3 | 5 | 8 | 13 | 21. /tkmd-plan uses this table only — there is no board sizing file and no velocity calibration of estimates.

There is no estimate or owner property. Actual is the sum of closed Started → Ended intervals on task/bug Work logs. Parent Actual is the sum of descendant leaves in the UI; do not write Actual into frontmatter.

Decomposition during planning

  • Size each independently executable leaf; points follow automatically.
  • Use size to drive decomposition: strongly split XL work into cohesive leaves.
  • Never leave XXL work unrefined; split it before execution.
  • Parent items with children have no persisted size or points; the UI derives rollups.

Parent rollups

Rollups are not written into parent markdown. The UI derives them when it scans children:

  • Story points = sum of child task/bug points when children exist
  • Epic points = sum of story points + epic-direct leaves
  • Epic size = none
  • Actual minutes come from leaf work logs, never calendar span

See Workflows for how plan and do keep parent files untouched.