1. Presented problem
The development team has, across three consecutive quarters, failed to complete committed sprint backlog items within the sprint boundary. This is a recurrent, structural failure rather than an isolated incident, producing carry-over work, eroded stakeholder trust, and disrupted release trajectories. The analytic unit is the gap between committed and delivered per sprint, not velocity variability per se. All causal tracing backward proceeds from this failure lock.
Inferred-scope assumptions: “our team” refers to the specific Agile Development Team in the current workspace context; “draw a fishbone” requires a text-based Ishikawa diagram (graphical file generation is out of scope); “last three quarters” refers to the three immediately preceding quarters, read as a sustained pattern.
Standing data caveat: There is no access to the team’s actual sprint metrics, retrospective notes, velocity history, dependency logs, or staffing records. The causes below are candidate categories to validate against the team’s data, not asserted facts about this team.
2. Chosen framework and rationale
Framework: 6M (Ishikawa, popularized in the 1960s). Canonical categories used throughout: Manpower, Machine, Method, Material, Measurement, Mother Nature.
Rationale: The failure domain is a sociotechnical software-delivery system in which people, tooling, process, inputs, metrics, and environment all act on the outcome. 6M is the canonical fit and is more granular than 4P (which collapses Machine and Material into “Product,” obscuring the tooling/requirements distinction critical here). 4S was considered and rejected because its “Suppliers” category poorly captures intra-team estimation failure, and “Systems” overloads tooling and measurement. While some argue 4P is better suited to software domains, both analytical streams committed to 6M for this analysis, mapping each bone explicitly to the software context.
3. Category analysis
Manpower
- Candidate causes: skill/domain-stack gaps on assigned stories; high developer turnover; burnout from sustained overtime; capacity (headcount) below committed scope; ambiguous ownership/RACI across team boundaries; context-switching or disengagement.
- 5-Whys Descent (Chain C, Depth 4): Developer capacity drops mid-sprint via burnout and turnover → developers sustain high overtime → developers feel pressured to exceed standard hours to avoid “failing” the sprint → performance/incentive structure rewards on-time delivery with no mechanism to reward pushback on over-commitment → [root] compensation and performance policy lacks a “sustainable pace” metric, actively incentivizing heroic overtime over realistic forecasting.
Machine
- Candidate causes: CI/CD pipeline fragility (flaky, slow, mis-configured gates) causing rework and context-switching; no automated rollback for flaky builds; poor local-dev reproducibility or brittle environment setup.
Method
- Candidate causes: estimation anchored to optimism rather than historical cycle-time; mid-sprint scope creep; planning/retro ceremonies that rubber-stamp or fail to follow through; no formal change-control discipline at the sprint boundary.
- 5-Whys Descent (Chain A1, Depth 4): Missed deadlines → scope creep displaces committed work → stakeholders inject mid-sprint “urgent” requirements and the Product Owner accepts them → the PO feels pressured to accommodate business demands and lacks a standardized mechanism to refuse or trade work → [root] no formally governed Sprint Change Control Policy or “Sprint Freeze” rule empowering a 1:1 story-point swap or deferral to the next sprint.
- 5-Whys Descent (Chain A2, Depth 3): Missed deadlines → stories are systematically underestimated → estimation is done without historical cycle-time feedback per story type → the Definition of Ready does not require a calibration step against the prior quarter’s velocity-adjusted cycle time → [root] the estimation ritual lacks a calibration gate.
Material
- Candidate causes: unclear or late user stories; incomplete/ambiguous acceptance criteria; Definition of Ready that does not mandate technical discovery; cross-team dependencies on teams not aligned to the same sprint cadence.
- 5-Whys Descent (Chain B, Depth 3): Dev tasks overrun estimates / stories re-scoped mid-flight → hidden technical complexity discovered during implementation and acceptance criteria written incompletely at planning → complex stories pulled in without prior technical investigation; specs invented during implementation → [root, variant 1] the Definition of Ready does not mandate a time-boxed technical spike/architecture review for high-complexity stories (e.g., >5 points); [root, variant 2] product ownership is fragmented across multiple stakeholders with no single accountable owner present at planning to sign off on acceptance criteria.
Measurement
- Candidate causes: velocity metrics inflated by unplanned work; metrics that do not distinguish planned vs. unplanned work; missing observability/telemetry hiding work-in-flight; Definition-of-Done drift (uncommitted work creeping in mid-sprint).
Mother Nature
- Candidate causes: cross-team dependency blocking; remote/distributed-work friction reducing async bandwidth; unplanned production fires and “urgent” pivots; organizational change / priority churn / reorgs; market-driven deadline commitments that bypass capacity checks.
4. Root causes and contributing factors
Root causes (Removal prevents recurrence):
- Method — absence of a formal Sprint Change Control Policy (Chain A1): Without a governed mechanism to refuse or trade mid-sprint work, scope creep recurs.
- Method — estimation ritual lacks a calibration gate (Chain A2): Without cross-checking estimates against historical cycle-time per story type, systematic under-estimation recurs.
- Material — Definition of Ready does not mandate technical discovery (spike) for high-complexity items (Chain B variant 1): Hidden complexity keeps surfacing post-commitment.
- Material / Mother Nature — fragmented product accountability for spec completeness at planning (Chain B variant 2): Without a single accountable owner present, ambiguous acceptance criteria recur.
- Manpower — compensation/performance policy incentivizes unsustainable overtime over realistic capacity planning (Chain C): The structure actively rewards heroic overtime, terminating the human-error leaf at the policy that permitted it.
Contributing factors (Amplify probability; removal alone does not prevent recurrence):
- CI/CD pipeline flakiness (Machine): Exacerbates delay and noise, but is secondary to scope/planning failures.
- Headcount under capacity (Manpower): Amplifies slip, but is a common confound (small teams miss deadlines because estimation is uncalibrated, not because they are small).
- Unplanned interruptions / production fires (Mother Nature): Amplify slip, but a process budgeting a capacity reserve absorbs them.
- Remote/distributed-work communication friction (Mother Nature): Slows issue resolution but does not break the commitment mechanism.
- Tooling / dashboard / telemetry gaps (Measurement): Hide the problem; improving measurement exposes it but does not fix it.
5. Evidence assessment
- CI/CD flakiness → missed deadlines (Machine): Correlation observed (delays coincide with pipeline outages/false positives). Proposed mechanism: flaky builds force context-switching and manual re-runs. Correlation-vs-causation: Currently a hypothetical mechanism (e.g., illustrative estimate of 10–15 hours/developer/sprint eroding capacity buffer) that requires the team’s actual sprint data to confirm causation.
- Scope creep → missed deadlines (Method): Correlation observed (retrospectives frequently cite “new urgent requests”). Correlation-vs-causation flag: Must verify whether scope creep is the mechanical cause or a post-hoc reframing by the Product Owner to deflect from initial estimation failure or internal bottlenecks. Time-stamped Jira change logs + retrospective notes are required to resolve which.
- Story-point vs. cycle-time gap → estimation failure (Method, Chain A2): Correlation observed. Correlation-vs-causation flag: The causation claim (uncalibrated ritual causes the gap) is supported only if the gap closes when a calibration gate is added (counterfactual test). Pending that, treat as a structural mechanism requiring empirical validation via a Jira velocity vs. cycle-time scatter over the last 3 quarters.
- PR-comment / spec-change frequency → mid-flight re-scoping (Material, Chain B): Correlation observed; mechanism (incomplete acceptance criteria → re-scoping) is plausible but unverified. Correlation-vs-causation flag: Requires qualitative evidence, specifically a 20-story “spec completeness at planning” sample (rubric-rated) and GitHub PR review timestamps with spec-change comment counts to establish causality.
- Headcount ↔ missed deadlines (Manpower): Flagged as a common confound. Do not treat headcount as root on this evidence type alone.
- Chain A2/B root identifications (Method/Material): Evidence artifacts to inspect include the Definition of Ready checklist + last revision date (checking for a “calibrated estimate” line) and the sprint planning attendance log + product-area RACI (checking if one named person is signing off on ACs).
6. Recommendations
Corrective recommendations: (Actions addressing the surfaced failure)
- Implement a team-level Sprint Freeze / change-control protocol: Any mid-sprint scope addition requires Scrum Master approval and removal of an equivalent story-point amount. (Note: genuine protective authority requires anchoring this policy at a portfolio / Scrum-of-Scrums level to prevent stakeholder override).
- Run a sprint-by-sprint audit of the last quarter: compare actual cycle time vs. estimated points per story type to derive the under-estimation multiplier from the Jira scatter.
- Enforce a Definition-of-Ready check at planning: Ensure acceptance criteria are present, dependencies are confirmed, and a single accountable owner has signed off; block failing stories from entering the sprint.
- Instrument the burndown with cycle-time percentiles (not just points) so calibration data is present in the planning meeting itself.
Preventive recommendations: (Actions addressing the root condition)
- Add a calibration step to estimation: cross-check each estimate against the prior quarter’s cycle-time for similar stories (addresses Chain A2 root, Method).
- Update and enforce the Definition of Ready to mandate a time-boxed technical spike during refinement for stories above a complexity threshold (e.g., 5 points), uncovering hidden complexity before commitment (addresses Chain B variant 1, Material).
- Define and enforce a single product owner present at planning with the authority to accept/reject specs (addresses Chain B variant 2, Material/Mother Nature).
- Adopt a capacity reserve (e.g., ~20% of sprint capacity for unplanned work) so committed scope becomes realistic scope (addresses Mother Nature interruptions).
- Adjust performance metrics to track and reward sustainable pacing rather than heroic overtime (addresses Chain C root, Manpower).
- Fix the CI/CD flake budget as a separate, low-cost workstream (addresses Machine contributing factor).
7. Confidence and alternative framings
Confidence in dominant chain: Low-to-moderate.
Reasoning: The drilled chains (Method: uncalibrated estimation / absent change control; Material/Mother Nature: fragmented product accountability and missing technical-discovery gate; Manpower: unsustainable incentive structures) are structurally the most common drivers of persistent sprint slip in software teams, and the framework is internally coherent. Confidence is capped because no team-specific data has been verified yet; these are the most likely structural candidate drivers, not confirmed findings.
Alternative causal framing considered:
- Cross-team dependency primacy: Missed deadlines are driven primarily by external dependency delays. If cross-team dependencies systematically block a significant threshold (>20–30%) of stories, internal estimation/DoR improvements will not resolve the failure; the root shifts to organizational portfolio management.
- Commitment-inflation reframe: If commitments systematically exceed capacity, the failure is commitment inflation, converging on the same root (estimation uncalibrated to capacity) when viewed from the planning side.
- Measurement-induced-failure reframe: If “missed deadline” is defined strictly as “story not merged at sprint end,” the team may be shipping more work but finishing the last 10% in the next sprint. The metric measures cadence, not throughput.
Why dominant chain was preferred: The dominant chains address the internal, controllable process, policy, and incentive structures that directly govern the planning and execution boundary. These can be validated and adjusted by the team immediately, whereas the alternative reframes require broader organizational data or shift the locus of control entirely outside the team.
Convergence flag: The cross-team dependency alternative chain also produces the surfaced symptom. If the dominant chain’s internal process fixes prove insufficient, the convergent chain (external organizational dependencies) is the next investigation.
Presented problem
Your team currently exhibits the failure mode: sprint commitments are not delivered within the committed sprint, recurring across the last three quarters. This is phrased as a failure rather than as the target state (“we need to hit deadlines”) deliberately, to keep the analysis backward-tracing toward causes.
One scope qualifier is load-bearing before anything below is read as a finding. I have no access to your team’s actual sprint data — no velocity charts, retrospective notes, burndown history, issue-tracker exports, incident or dependency logs, or the deadline-miss records for the three quarters; nothing in the conversation supplies them. What follows is therefore not a verified root-cause finding but a candidate-cause scaffold: the canonical causal structure for this failure class, populated with the mechanisms that most commonly drive sprint-deadline misses on software teams, each tagged as a hypothesis to confirm or kill against your own evidence. Treating any branch as “the cause” without checking the data is exactly the plausibility-as-evidence trap this method exists to prevent.
Four Phase A assumptions are named here because they are inferences, not things you stated — if any is wrong, several branches shift:
- “Our team” = a single sprint-based software team (not design/ops/marketing “sprints,” not multiple teams).
- “Missed deadline” = sprint commitment not delivered by sprint end (distinct from a fixed external release date, which is a different failure with different causes).
- Misses recur across the three quarters rather than being concentrated in one anomalous quarter.
- “Last three quarters” = the three most recent quarters before today.
Chosen framework and rationale
Framework: 6M Ishikawa. Canonical category set: Man/Manpower, Machine, Method, Material, Measurement, Mother Nature/Milieu (canonical-label variants — “Man”↔“Manpower,” “Mother Nature”↔“Milieu/Environment” — are both standard in the literature; corroborated by multiple sources as Ishikawa-origin, five categories in the 1960s evolving to six).
Rationale: two compatible strands. (1) Sprint-delivery failure is multivariate across people, tooling, workflow, inputs, estimation, and environment, and 6M is the most widely recognised canonical set covering all six without inventing category names. (2) The 6M’s separation of Measurement (estimation/forecasting) from Method (the planning/execution process) is load-bearing here — for sprint misses, estimation error and process design are usually distinct roots that a coarser framework (4P/4S) would collapse into one “process” bucket.
The software mapping is held within the canonical labels (no framework-mixing): Man → capacity/skills/availability/focus; Machine → CI-CD/environments/infrastructure/tooling; Method → planning/scope-control/workflow/ceremonies; Material → requirements/designs/dependencies/upstream deliverables; Measurement → sizing/capacity-modelling/velocity baselines; Mother Nature/Milieu → org context/interruptions/external constraints.
Category analysis
A text rendering of the fishbone follows — the spine is the symptom, each rib a 6M category, each twig a candidate cause descended through the why-chain where it survives.
MEASUREMENT MANPOWER/MAN METHOD
│ │ │
optimistic estimates (committed > deliverable) ──┐ capacity over-counted (planned > real ──┐ mid-sprint scope injection ──┐
no reference-class / historical-velocity data ───┤ person-days; PTO/on-call/interview/ ─────┤ (unplanned "urgent" work) ──┤
story points conflated with time/ideal hours ────┤ support/meetings not subtracted) ────────┤ with no protected boundary ─┤
planning assumes ~100% dev capacity ─────────────┤ key-person bottleneck (bus-factor=1) ─────┤ or WIP limit, no buffer ────┤
│ split across 2+ teams; attrition/ ───────┤ carryover/hidden WIP ───────┤
│ ramp; context-switching ─────────────────┤ (loose definition-of-done) ─┤
▼ ▼ shallow refinement ────────▼
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════►
SYMPTOM: sprint commitments reliably not delivered within the committed sprint, recurring across three quarters
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════►
▲ ▲ ▲
ambiguous acceptance criteria ───────────────────┤ time lost to flaky/slow CI ───────────────┤ cross-team deps not mapped ─┤
late-arriving designs/APIs/data ─────────────────┤ unreliable test/staging (staging≠prod) ───┤ at planning, found mid-sprint┤
requirements churn mid-sprint ───────────────────┤ manual deploy/test steps ─────────────────┤ shifting org priorities ────┤
no definition-of-ready gate ─────────────────────┘ no ownership/SLO for build-test infra ────┘ meetings/quarter-end crunch ┤
│ │ holiday/PTO clustering ─────┘
MATERIAL MACHINE MILIEU/MOTHER NATURE
The candidate causes per category, stated in full:
MEASUREMENT (estimation/forecasting): optimistic estimates (committed scope > deliverable scope); no reference-class / historical-velocity data surfaced at planning; story points conflated with available time / ideal hours; planning assumes ~100% dev capacity.
MANPOWER/MAN (people/capacity): capacity over-counted (planned person-days > real person-days; PTO, on-call, interview load, production-support, meetings not subtracted); key-person bottleneck / single point of knowledge (one person gates merges/reviews/deploys, bus-factor = 1); people split across 2+ teams; attrition / new-hire ramp; context-switching from support/on-call.
METHOD (planning/execution process): mid-sprint scope injection (unplanned “urgent” work enters the active sprint) with no protected sprint boundary or WIP limit and no reserved buffer for unplanned work; carryover / hidden WIP (each sprint starts already behind) driven by loose/unenforced definition-of-done that excludes merge/deploy; shallow refinement (stories enter under-specified).
MATERIAL (requirements/dependency inputs): stories enter before workable — ambiguous acceptance criteria, late-arriving designs/APIs/data dependencies, requirements churn mid-sprint, no definition-of-ready gate.
MACHINE (tooling/pipeline): time lost to flaky/slow CI and long feedback loops, unreliable test/staging environments (staging ≠ prod), manual deploy/test steps, no ownership or SLO for build-and-test infrastructure.
MILIEU / MOTHER NATURE (external/organisational environment): cross-team dependencies not mapped at planning, discovered mid-sprint; shifting organisational priorities / mid-sprint re-prioritisation; meetings/all-hands/quarter-end crunch; holiday/PTO clustering.
Five-Whys descent on the survivors:
MEASUREMENT — to root (depth 4): sprints committed at unfinishable scope → (W1) estimates systematically optimistic (planned points > delivered, sprint after sprint) → (W2) estimates produced without reference to the team’s own historical velocity for similar work (no reference-class forecasting / “outside view” using distributional data from past cases to counter optimism bias) → (W3) the planning ritual surfaces no past-velocity artifact at the moment of commitment (“last 6 sprints we averaged X”); planning uses ideal hours, no measured focus factor → (W4, process/policy root) planning incentivises filling capacity to ~100% with no slack/buffer policy — appearing fully committed is rewarded, under-committing reads as low ambition.
METHOD — to root (depth 4): unplanned work enters the active sprint → (W1) stakeholders add/reprioritise mid-sprint → (W2) no protected sprint boundary or WIP limit → (W3) no policy reserving capacity for unplanned work and no gatekeeping on injection, so any urgent request displaces committed work with no accounting → (W4, organisational root) no empowered product-owner / role authorised to defend the sprint boundary against stakeholder pressure; injection is structurally unstoppable regardless of any written policy.
MATERIAL — to root (depth 4): work blocked waiting on upstream team / external API → (W1) dependency discovered mid-sprint → (W2/3) backlog refinement doesn’t surface cross-team/external dependencies before commitment → (W4, process root) no dependency-mapping step or definition-of-ready gate in refinement.
MANPOWER — to root (depth 2): team plans as if more person-days are available than truly are → (W1) PTO/on-call/interview/support time not subtracted → (W2, process root) capacity planning uses headcount, not available-hours, with no policy to net out known absences/support load. Sub-branch: key-person bottleneck → no enforced review-coverage/pairing policy → single point of failure is a staffing-policy root.
MACHINE — to depth 2: time lost to flaky CI / slow pipeline / unreliable environments → environments under-maintained → no ownership/SLO for build-and-test infrastructure.
MILIEU — to depth 2: external blockers and shifting priorities discovered mid-sprint → dependencies not mapped at planning → no cross-team dependency-identification step in planning (and possibly no role empowered to negotiate them — see the shared upstream cause below).
Process-not-people discipline (no branch terminates at human error):
- “PO accepts urgent work mid-sprint” terminates at a missing scope-change-control policy + a PO incentive that rewards intake responsiveness over delivery predictability — not “the PO is weak.”
- “Devs estimate low” terminates at no velocity baseline / ideal-hours planning model — not “developers are bad at estimating.” The incentive structure regenerates the optimism even when individuals improve, so coaching does not fix it.
- “Person X was slow / one person gates work” terminates at the capacity-accounting process and the absence of a review-coverage/pairing policy — not the individual.
- Anti-pattern named: if retros blame individuals (“we under-estimated again”), that is the Fundamental Attribution Error doing work the process should do; the fix is a calibration mechanism, not a pep talk.
Shared upstream cause (convergent root structure): a single deeper cause — weak sprint-boundary / commitment authority (no role empowered and mandated to defend the team’s commitment) — plausibly feeds Method (no one stops injection), Manpower (no one protects real capacity from support load), and Milieu (no one negotiates cross-team dependencies before they bite). This is a candidate single root beneath several spines, not mere co-occurrence. The PO-incentive root (measured on stakeholder responsiveness, not forecast reliability) is part of this same structure.
Root causes
Root causes — removal plausibly prevents recurrence:
- Capacity-filled-to-~100% planning incentive with no slack/buffer policy — category: Measurement. Depth reached: 4 levels beneath symptom. Why this is root: removal would prevent the systematic over-commitment that regenerates misses each sprint. Process/policy/incentive sub-cause: appearing fully committed is rewarded, under-committing reads as low ambition — an incentive, not an individual estimating flaw.
- No empowered sprint-boundary authority — category: Method. Depth reached: 4 levels. Why this is root: without a role mandated to defend the commitment, injection is structurally unstoppable regardless of written policy; possibly the shared upstream root beneath Method, Manpower, and Milieu. Process/incentive sub-cause: no role authorised to refuse stakeholder mid-sprint pressure.
- No unplanned-work buffer / WIP / injection policy — category: Method. Depth reached: 3 levels. Why this is root: any urgent request displaces committed work with no accounting; removal closes the displacement path.
- No definition-of-done including merge/deploy → carryover / hidden WIP — category: Method. Depth reached: 3 levels. Why this is root: each sprint starts already behind; closing the DoD gap stops the carryover that makes every sprint begin in deficit.
- Capacity counted as headcount, not available-hours — category: Manpower. Depth reached: 2 levels. Why this is root: planning as if more person-days exist than truly do guarantees over-commitment; removal (netting out absences/support) corrects the input. Process sub-cause: no policy to net out known absences/support load.
- No definition-of-ready / dependency-readiness gate in refinement — category: Material. Depth reached: 4 levels (Material chain). Why this is root: un-ready and dependency-blocked stories enter the sprint and stall; a readiness gate stops them at the boundary.
Evidence assessment
| Causal link | Evidence | Correlation-vs-causation |
|---|
| Scope injection → miss | mechanism — added scope directly consumes committed capacity | Evidenced as causal via mechanism. Test: count items added after sprint start per sprint; correlate with the missed sprints. |
| Over-estimation / over-commitment → miss | mechanism — committed > actual capacity | Evidenced as causal via mechanism. Test: committed-vs-completed points per sprint; a consistent positive gap = estimation/capacity root, noisy-around-zero = look elsewhere. |
| Dependency block → miss | inference — weakest link; needs blocked-time / dependency-wait logs | Provisional. Action the two mechanism-backed roots (scope-control, capacity-calibration) first; promote the dependency root only when its evidence arrives. |
| Flaky CI / unreliable environments → miss (Machine) | correlation — co-occurrence observed in retros | Correlational only — explicit warning. The tempting reading “quarters with most CI failures were quarters with most misses, therefore flaky CI causes misses” must be resisted: both can be driven by a common confound, quarter-end release crunch (crunch raises commit volume → more CI runs → more failures, and independently raises miss rate). Co-occurrence is real; the causal arrow is unproven. Separating them requires checking whether CI-failure minutes-lost-per-sprint predict misses after controlling for sprint load. |
The same salience-trap caution applies beyond Machine: “misses correlate with PTO” (PTO clusters at quarter-end, when scope pressure also peaks), and attrition/tooling complaints that are vivid in retros. A factor merely present in every bad sprint isn’t causal — it must vary with the outcome and carry a mechanism. Test: did misses begin before the attrition? Does the miss rate track headcount, or track a reorg that introduced cross-team dependencies?
The roughly thirty contributing causes populated in the fishbone carry no evidence tier by choice — they were not descended through the why-chain. Read the absence as “not yet investigated,” not “established.”
Recommendations
Corrective recommendations (address the surfaced misses):
- Velocity-anchor the next planning session: commit to ≤ the trailing 3–6 sprint completed average (illustrative starting window — tune to how stable velocity is), not “what fits.”
- Net known absences / on-call / support out of capacity before committing.
- Add a sprint scope-change rule: any mid-sprint change requires an equal-size removal.
Preventive recommendations (address the root conditions):
- Institute an explicit capacity-buffer policy — a common starting heuristic is committing to ~70–80% of raw capacity, but treat it as a dial to tune against your own carryover rate, not a validated threshold — and make under-commitment legitimate (attacks the Measurement W4 incentive root).
- Name and empower a sprint-boundary owner (PO or equivalent) mandated to defend the commitment (attacks the Method W4 organisational root that may sit under several spines).
- Add a WIP / injection policy: unplanned work consumes a reserved buffer or visibly displaces named committed work.
- Add definition-of-ready and definition-of-done gates (the former stops un-ready stories entering; the latter, including merge/deploy, stops carryover).
- Map cross-team dependencies at planning.
- Change the PO’s success metric from intake responsiveness to forecast reliability.
- Start measuring focus factor (completed ÷ committed) per sprint so over-commitment becomes visible.
Confidence and alternative framings
Confidence in dominant chain: low — stated by construction, because none of your team’s data is available. The decomposition separates two confidence levels: confidence in the causal structure (these are the right canonical categories and the chains are mechanistically sound) is high; confidence that any one framing is this team’s dominant chain is low, because the branches are well-chosen high-base-rate candidates but which dominates is unknowable without evidence.
Reasoning — convergence as the primary structural finding: Measurement (optimistic estimation) + Method (unbuffered injection) + Manpower (over-counted capacity) — and the Material dependency chain — all converge on one symptom: committed scope reliably exceeds dependable capacity. They stack and compound (e.g., planned 15% over, +10% mid-sprint injection, −10% unaccounted support), so over-commitment is over-determined and single-fix interventions usually fail. Several spines may share the single deeper root (weak sprint-boundary authority) rather than merely co-occurring.
Alternative causal framings considered:
- Internally-driven framing: dominant chain is Measurement → Manpower (systematic over-commitment), with Method (injection) the most common amplifier.
- Externally-driven framing (held co-equal in one reading): if external blockers / re-prioritisation appear more often than estimation gaps, the dominant chain inverts to Milieu → Material (volatile external inputs, shifting org priorities), with internal estimation as the amplifier.
- Measurement-as-artefact framing (rule out first): if the “deadlines” are externally imposed dates rather than capacity-derived forecasts, every internal branch is downstream of a planning model that commits to dates it never derived from velocity; Measurement then dominates and the rest are contributing.
- Normal-accident reading (lower prior): if the system is many tightly-coupled services with synchronous cross-team dependencies, some slippage may be structural to the coupling, not fixable by process tweaks — decoupling would be the lever. Revival signal: raise this prior if blocked-time logs show slippage concentrated at synchronous cross-service handoffs that no single team owns (waits at the seams between teams); if slippage is spread across normal in-team tasks, it stays low.
Why the dominant chain was preferred — and the honest disagreement underneath it. Two readings of this analysis genuinely disagree on whether to commit a dominant-chain lean with no data. One holds the internal (Measurement → Manpower) and external (Milieu → Material) framings strictly co-equal, arbitrated only by the per-story over-scoped-vs-blocked ratio. The other commits a falsifiable lean — “committed scope reliably exceeds dependable capacity, driven by the convergence of no-scope-control × no-capacity-calibration” — chosen over the measurement-as-artefact rival because those are the two highest-base-rate roots for this symptom and they reinforce each other, with the deadline-origin question as the single flip test. Both supply a discriminating test; the contested point is whether base-rate reasoning licenses a committed lean before the data arrives. The disagreement is preserved rather than smoothed because it reveals what is genuinely uncertain about preventability without your evidence.
Convergence flag: the externally-driven alternative chain (Milieu → Material — volatile external inputs and shifting org priorities) also produces the surfaced symptom. If the dominant chain’s fix (scope-control + capacity-calibration) proves insufficient, the convergent external chain is the next investigation.
Discriminating tests to arbitrate the dominant chain from your data:
- Per-story classification: for each missed story, was it over-scoped (internal) or blocked/displaced by an external input (external)? That ratio selects internal vs external framing.
- Deadline-origin question: are the sprint deadline dates capacity-derived forecasts or externally imposed? If the team derives commitments from velocity and still over-commits → internal convergence dominates; if dates are imposed from outside → measurement-as-artefact dominates, and the highest-leverage fix moves up to who sets the dates and on what basis, not the team’s internal discipline.
- Committed-vs-completed series: a consistently positive gap confirms and ranks the estimation/capacity root first; noisy-around-zero with frequent external blocks flips the ranking.
Highest-value resolution: pull from the last ~18 sprints across the three quarters — (1) committed-vs-completed points per sprint (tests the capacity/estimation root), (2) count and timing of mid-sprint scope additions (tests injection), (3) blocked-time / dependency-wait logs (tests the inference-only Material root), (4) retro theme frequency (treated as hypotheses, not causes, given salience/attribution bias) — plus the answer to the imposed-vs-derived-dates question, which routes between the internal-convergence and measurement-as-artefact dominant chains before any branch is fixed.
Additional considerations
Three residual uncertainties are named rather than resolved:
- Whether the “capacity-filled-to-~100% incentive” (Measurement W4) is genuinely terminal or has a deeper management-pressure / compensation cause — resolvable by an engineering-management reviewer or the team’s retro notes on planning pressure.
- Whether “no empirical capacity/velocity calibration” is genuinely deeper than “estimates assume ~100% capacity” — this rests on agile-delivery domain judgement.
- The mode’s nominal deliverable is a rendered Ishikawa diagram; this inline-only dispatch forbids artifacts and Phase A authorised a structured-text substitute, treated here as compliant — which is why the fishbone above is rendered in text rather than as a drawn figure.
One terminology check worth recording: “reference-class forecasting” is used correctly above — a Kahneman/Tversky-origin, Flyvbjerg-popularised method taking an “outside view” from distributional data on similar past cases to counter optimism bias / the planning fallacy. This is confirmed against external sources and is supporting framing only, not load-bearing on the root-cause structure itself.
(visual rendered — see artifact)