Decompose Work Packages (Level 2)
EST-6 Order: #6 Elaboration Has Dependencies
Updated 4 months ago
Guidance
Purpose
At Level 1 (EST-03) you sized features by T-shirt. That was good enough for a rough cut. Level 2 is different: you have the scenario, you have the screen, you have SAO.md describing exactly how the stack works. You don't need to guess which layers a feature touches — BPE-01 will tell you. EST-06 runs BPE-01 in dry-run/estimation mode on each work package to produce a bottom-up artifact list, then wraps each artifact with a PERT triplet from the Reference Table.
This is the key idea: BPE-01 Plan → exact artifact list → PERT triplets per artifact → sum = Function Point decomposition. No generic taxonomy lookup required.
Prerequisites
docs/architecture/SAO.mdexists and is current- EST-05 complete (Rough Estimates available as cross-check)
- Requirements stability ≥ 80% (McConnell prerequisite)
Gating Condition
If SAO.MD does not exist, skip this activity. Return here after SAO.MD is produced (typically after ESM workflow completes). Record this as a gate condition in ESTIMATION_STRATEGY.md.
Steps
Step 1: Select the Work Package
Take the next undecomposed work package from the sprint plan (EST-05 output). You need three inputs:
- The scenario file —
docs/features/{act}/{feature}.feature - The screen — find the matching node in the dialogue map (
docs/architecture/screen-flow.drawio) - SAO.md — the authoritative architecture and stack description
Step 2: Run BPE-01 in Estimation Mode
Execute BPE-01 (Plan Feature) for this work package, treating it as if starting from scratch. BPE-01 will produce an Implementation Plan that lists every artifact needed:
→ Input: feature file + screen name + SAO.md
→ Output: Implementation Plan listing every artifact:
- Django Model + Admin (if new data shape)
- Repository methods (which ones, for what queries)
- Service layer (what business logic)
- Django View + URL pattern (which views, GET/POST)
- Unit + Integration tests (what to test)
- Django Template + HTMX (which fragments/pages)
- Feature Acceptance Tests (from scenario steps)
- Journey Certification Tests (if cross-feature flow)
- DoD checklist
- E2E Playwright tests + PR
For each artifact, BPE-01 will also output its reuse flag based on codebase assessment:
- NEW — doesn't exist yet, build from scratch
- EXTEND — exists but needs significant modification
- REUSE — exists, minimal touch needed
Estimation mode means: produce the plan but do not write any code. Stop after BPE-01 Plan and record the artifact list.
Step 3: Assign PERT Triplets
For each artifact in the Implementation Plan, assign PERT triplets (min / expected / max tokens) from the Reference Table K ranges:
| Artifact | Small (K) | Medium (K) | Large (K) |
|---|---|---|---|
| Django Model + Admin | 8 / 15 / 28 | ||
| Repository methods | 5 / 10 / 20 | ||
| Service layer | 8 / 18 / 35 | ||
| Django View + URL | 6 / 12 / 22 | ||
| Unit + Integration Tests | 10 / 20 / 40 | ||
| Django Template + HTMX | 8 / 16 / 30 | ||
| Template partials (reusable) | 4 / 8 / 15 | ||
| Feature Acceptance Tests | 8 / 15 / 28 | ||
| Journey Certification Tests | 5 / 10 / 18 | ||
| DoD checklist | 3 / 6 / 12 | ||
| E2E Playwright tests + PR | 6 / 12 / 22 | ||
| Implementation Plan (BPE-01) | 5 / 8 / 15 |
Apply reuse multipliers based on BPE-01 codebase assessment:
- NEW: 1.0× (full token range)
- EXTEND: 0.6× (reading + modifying existing code)
- REUSE: 0.3× (trivial wiring or config change)
Step 4: Record the Work Package
Enter in the WBS Features tab:
Scenario ID: {ACT}-{ENTITY}-{OPERATION}-{NN}
Feature: {Feature name from .feature file}
Screen: {Screen name from dialogue map}
Sprint: {Sprint number}
L1 Size: M (2 SP)
BPE-01 run: YES / ESTIMATION MODE
Artifacts from BPE-01 Plan:
WP-01 Django Model (Widget) NEW min=12K exp=16K max=25K
WP-02 Repository (WidgetRepo) NEW min=8K exp=11K max=18K
WP-03 Service (WidgetService) EXTEND min=8K exp=11K max=19K [×0.6]
WP-04 View + URL NEW min=10K exp=14K max=22K
WP-05 Unit + Integration Tests NEW min=16K exp=22K max=38K
WP-06 Template + HTMX REUSE min=2K exp=4K max=8K [×0.3]
WP-07 Feature Acceptance Test NEW min=10K exp=14K max=22K
WP-08 DoD checklist NEW min=4K exp=6K max=10K
WP-09 E2E test + PR NEW min=8K exp=11K max=18K
────────────────────────────────────────────────────────────────────────
TOTAL: min=78K exp=109K max=180K
Step 5: Cross-Check Against Level 1 Rough Estimate
Compare Level 2 total to Level 1 estimate from EST-05:
- Within ±30% → consistent, proceed
- L2 > 30% higher than L1 → which artifact is driving the gap? Document it.
- L2 > 30% lower than L1 → check for missing artifacts. Common omissions: tests, DoD, E2E.
Record delta and rationale in the WBS Features tab notes column.
Step 6: Repeat for All Work Packages
Work through all sprint work packages, highest priority first. After every sprint's worth, sum L2 totals and compare against the Monte Carlo seed in EST-07. If cumulative L2 is >25% outside L1 project total, update the Rough Estimates tab before proceeding.
Rules to Follow
I. BPE-01 Is the Decomposition Engine
Do not substitute a generic artifact checklist for BPE-01 Plan. The whole point of Level 2 is that you have the actual feature, screen, and architecture — use them. BPE-01 will produce a more accurate artifact list than any template can.
II. DoD Is Fixed Overhead
The DoD checklist (BPE-06) applies to every work package. Never omit it. It is not optional.
III. Tests Are Not Optional
Unit, integration, feature acceptance, and E2E tests are separate work packages. Omitting them produces a false low — the work still happens, it just becomes unplanned rework.
IV. Decompose Before Estimating
Assigning a PERT triplet to a scenario as a whole without running BPE-01 first is a Level 1 estimate masquerading as Level 2. If you skip the BPE-01 step, mark confidence as LOW and document why.
V. Reuse Is Not Free
Extending an existing component still consumes tokens for reading, understanding, and modifying existing code. Use 0.3× for trivial reuse, 0.6× for significant extension, 1.0× for new.
Success Criteria
- BPE-01 Plan executed (estimation mode) for every Level 2 work package
- Each work package has a full artifact list with reuse flags
- PERT triplets assigned to every artifact
- L1/L2 cross-check performed and delta documented
- WBS Features and Detailed Estimates tabs 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.
- User Journey (Document, Required) — produced by Define User Journey (#36).
- Screen Flow / Dialogue Map (Diagram, Required) — produced by Create Dialogue Maps (#38).
- Feature Files (Document, Required) — produced by Write Feature Files (#39).
- HTML Mockups (Code, Optional) — produced by Create Mockups (#40).
- Estimation Reference Table (Document, Required) — produced by Calibrate Reference Stories (#67).
- Estimation Template (Excel) (Document, Required) — produced by Size Scenarios (Level 1 SWAG) (#68).
Details
- Order:
- #6
- Phase:
- Predecessor:
- EST-5 Produce Rough Estimates + AFP
- 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 WorkflowAssigned Agent
No agent assigned
Required Skills
No skills linked
Rules
No rules linked.
Input Artifacts 6
-
Estimation Reference Table
Document
Required
Produced by: Calibrate Reference Stories -
Estimation Template (Excel)
Document
Required
Produced by: Size Scenarios (Level 1 SWAG) -
Feature Files
Document
Required
Produced by: Write Feature Files -
HTML Mockups
Code
Produced by: Create Mockups -
Screen Flow / Dialogue Map
Diagram
Required
Produced by: Create Dialogue Maps -
User Journey
Document
Required
Produced by: Define User Journey
Output Artifacts
No output artifacts