Sign in to create and edit playbooks. Sign In Register

Calibrate Reference Stories

EST-2 Order: #2 Elaboration Has Dependencies

Updated 4 months ago

Guidance

Purpose

Define concrete reference stories at each T-shirt size, assign K-token baselines (tokens per story point) to anchor token budget estimates, and assign FP weights to anchor client-facing AFP pricing. This calibration baseline governs both internal estimates and client quotes for the entire project.

Prerequisites

  • EST-01 complete
  • Reference Table accessible (or being created for first time)

Steps

Step 1: Define Reference Stories

A reference story is a concrete, completed BDD scenario that the team agrees represents a given size. Every future scenario is sized relative to these anchors.

Populate the Setup tab of ESTIMATION_TEMPLATE.xlsx with reference stories:

Size SP (internal) FP weight (client) Example Reference Story K Tokens (min) K Tokens (exp) K Tokens (max)
XS 0.5 0.5 Read-only list view, no filtering, single model
S 1 1 Single CRUD operation, one model, 3–5 scenarios
M 2 2 Feature with 2 models, service layer, 6–10 scenarios
L 5 3 Multi-model feature with integrations, 10–15 scenarios
XL 8 5 Complex subsystem, external API, >15 scenarios

SP vs FP — keep them separate:
- SP (Story Points) — internal effort measure. Used to compute token budget and duration. Never on client quote.
- FP (Function Points) — client-facing deliverable measure. Used in AFP formula. Goes on the invoice.
- L and XL FP weights are lower than SP because complex internal effort does not translate 1:1 to delivered client value.

Reference stories must be real scenarios from either:
- This project's own backlog (preferred once Sprint 1 completes)
- The Reference Table from prior projects

Step 2: Assign K-Token Baselines

K tokens = total tokens (input + output) consumed by the AI to implement one story point, across all BPE activities for that scenario size.

If Reference Table has prior data:
- Copy K-token values (min/expected/max) per size tier from Reference Table §1
- Note the project and sprint they came from
- Adjust if tech stack or AI model differs

If no prior data (first project / calibration sprint):
Use seed estimates from Reference Table §1:
- XS (0.5 SP): min=12K, expected=22K, max=36K tokens
- S (1 SP): min=25K, expected=45K, max=72K tokens
- M (2 SP): min=60K, expected=100K, max=160K tokens
- L (5 SP): min=155K, expected=250K, max=410K tokens
- XL (8 SP): min=275K, expected=440K, max=720K tokens

These are PERT seed values — mark as "uncalibrated" until Sprint 1 actuals are collected.

Step 3: Document AI Productivity Adjustment Factor (PAF)

Record in Setup tab:
- AI Model in use (Claude Sonnet 4.x, GPT-4o, etc.)
- PAF: 1.3–1.6× speed gain over traditional (per Peng et al. 2023, GitHub 2024)
- Rework surcharge: +10–15% of coding tokens (41% higher churn rate, Ziegler 2024)
- Net PAF applied: ___

Step 4: Define Sprint Parameters

In Setup tab, record:
- Sprint duration: ___ days (default: 1 day for AI-assisted development)
- Working hours per day: ___ (default: 8h)
- Token budget per sprint: ___ K (from stakeholder constraint or derived)
- Max SP per sprint: ___ (from capacity)

Step 5: Record Pricing Calibration Status

In Setup tab, record:
- $/FP rate: ___ (SEED default: $250 — see Reference Table §6)
- Status: SEED / CALIBRATED (SEED until 3 sprints of actuals)
- Stack Factor selected: ___ (from Reference Table §4 — applies to AFP)
- Org Factor selected: ___ (from Reference Table §5 — applies to AFP)

These inputs feed the Client Quote tab (Tab 0).

Step 6: Flag Calibration Status

Mark each K-token row in the Setup tab as one of:
- CALIBRATED — based on ≥3 actual sprints for this size tier
- SEED — using reference table baseline, not yet validated
- BORROWED — from Reference Table of a different project

Estimates from SEED or BORROWED sources carry wider PERT ranges. The Monte Carlo simulation will reflect this uncertainty.

Rules to Follow

I. Reference Stories Must Be Concrete

Vague reference stories produce vague estimates. If no suitable reference story exists, the first sprint is a calibration sprint — its primary output is validated K-token values, not features.

II. Never Flatten to Single-Point Estimates

Always record min/expected/max. Single-point K-token values underestimate variance and defeat the purpose of Monte Carlo.

III. SP and FP Are Different Units — Never Conflate

SP measures effort. FP measures deliverable capability. Both are needed: SP drives internal token budget, FP drives the client quote. Record both in the Setup tab.

IV. Calibration Improves Sprint-by-Sprint

After each sprint close (EST-08), update K-token actuals and $/FP_actual. After 3+ sprints per size tier, mark as CALIBRATED and narrow the PERT range.

Success Criteria

  • Reference stories defined for all active size tiers
  • Both SP and FP weight recorded per size tier
  • K-token baselines populated (SEED or CALIBRATED) with min/expected/max
  • AI productivity adjustment factor documented
  • Sprint parameters set
  • $/FP, Stack Factor, Org Factor recorded in Setup tab
  • Setup tab of ESTIMATION_TEMPLATE.xlsx complete

Inputs

Read these before starting this activity. They are produced earlier in the playbook and are authoritative — raise a drift event instead of deviating.

  • GitHub Release (Other, Optional) — produced by Close Iteration (#118).
  • Lessons Learned Document (Document, Optional) — produced by Close Iteration (#118).
Details
Order:
#2
Phase:
Predecessor:
EST-1 Assess Estimation Readiness
Created:
Apr 12, 2026
Last Updated:
May 21, 2026
Workflow
Estimate the Project

Two-level estimation workflow for AI-assisted software development. Level 1 produces T-shirt-sized SWAG from BDD scenarios. Level 2 (Function Point decomposition) …

View Workflow
Assigned Agent

No agent assigned

Required Skills

No skills linked

Rules

No rules linked.

Input Artifacts

No input artifacts

Output Artifacts 1