Skip to content

Instantly share code, notes, and snippets.

@mike-seger
Last active July 7, 2025 07:25
Show Gist options
  • Save mike-seger/c585b2934359883c66387b0d1f0542a9 to your computer and use it in GitHub Desktop.
Save mike-seger/c585b2934359883c66387b0d1f0542a9 to your computer and use it in GitHub Desktop.
Planning

Question

in a scrum setup we are facing several planning issues for software development:

  • classifying stories by complexity numbers like fibonacci (1,3,5,8,13...) can be difficult because there are so many factors contributing
  • the complexity numbers are only of limited utility for time estimation
  • quarter time and capacity planning can be very inaccurate using the above
  • quarter planning is affected by many other factors which are not technically related to software development
  • quarter planning often has to be based on high level goals without detailed stories what are the possible measures to improve sprint and quarter (PI) planning?

Answer

You're pointing out real and common challenges in Scrum and agile-at-scale planning. The issues you've listed stem from the disconnect between abstract estimation techniques like story points and the more concrete, often business-driven need for reliable medium- to long-term planning (e.g. quarterly or PI planning).

Here’s a critical breakdown of possible measures to improve both sprint and quarter (PI) planning:


🧭 1. Reframe Estimation: Switch from Complexity to Throughput (Flow Metrics)

Instead of assigning story points (which are subjective and context-sensitive), use historical flow metrics:

  • Cycle time: How long a story typically takes to complete.

  • Throughput: How many stories or work items are typically completed per sprint.

  • WIP limits: To maintain consistent velocity.

This lets you shift from guessing ("how big is this?") to observing ("how long does work typically take in this system?").

📌 Applicable frameworks: Kanban, or "No Estimates" within Scrum.


📊 2. Use Monte Carlo Simulations for Forecasting

Use historical data (e.g. story count, cycle time) to simulate possible delivery outcomes. Tools like Jira’s Monte Carlo simulation plugins, or lightweight tools like ActionableAgile, help you answer:

"What’s the probability we’ll complete X items by date Y?"

This gives stakeholders more probabilistic forecasts rather than artificial point-based guesses.


🧩 3. Split Planning Into Layers: Strategic vs Tactical

You're noting that quarter planning is often driven by high-level goals. That suggests a need to decouple layers:

  • Quarterly (PI) planning focuses on capabilities, goals, outcomes (e.g., OKRs).

  • Sprint planning focuses on tactical delivery of ready stories.

📌 Use dual-track agile (discovery/delivery streams) or SAFe’s PI Objectives with business value to align these.


🗺️ 4. Adopt Outcome-Based Planning

Instead of planning "13 stories of 5 points," define quarterly objectives as outcomes:

  • E.g., “Reduce checkout time by 30%”, not “Implement ticket #1234”.

Use these outcomes to guide prioritization in sprints without relying on upfront detailed decomposition.

Frameworks like Objectives & Key Results (OKRs) can support this.


🧱 5. Improve Backlog Readiness and Progressive Elaboration

For better sprint planning:

  • Maintain a rolling wave backlog, where top ~2-3 sprints worth of stories are elaborated just-in-time.

  • Use story mapping and impact mapping to connect high-level goals to lower-level deliverables.

This allows pivoting quarter goals into sprint-sized chunks more reliably.


🧠 6. Acknowledge and Make Explicit the Non-Development Factors

You mentioned “non-technical factors” influencing quarter planning. Instead of treating these as noise:

  • Track and surface external dependencies (e.g., legal, marketing, partner teams).

  • Include buffer for known variability (e.g., seasonal absences, planning overhead).

  • Engage non-dev stakeholders during PI planning so their influence is transparent.


🧮 7. Switch from Story Points to Time-Based Buckets (optional, controversial)

In some contexts (e.g. enterprise environments with strong delivery constraints), time-based estimation buckets ("XS = 1 day", "S = 2 days", etc.) work better for planning and communication than relative Fibonacci-based points.

Only advisable if your team has a high estimation maturity and stable velocity.


🕵️ 8. Do Retrospectives on Planning Accuracy

Apply retrospectives specifically to your planning process, not just delivery:

  • How accurate were our quarter goals?

  • Where did we under/overestimate and why?

  • What caused the most deviation?

This creates a feedback loop for improving both forecasting and alignment.


🔄 9. Use “Planning Cadence” but “Delivery on Demand”

Inspired by SAFe and Lean:

  • Do quarterly planning regularly to align teams and objectives.

  • But don’t force delivery to align to quarter boundaries—ship when ready, not when the calendar flips.

This reduces planning stress and unnecessary artificial deadlines.


Summary Table

Problem Suggested Approach
Difficulty in assigning complexity Use cycle time + throughput metrics instead
Story points not useful for time Apply Monte Carlo simulations for date-based forecasting
Inaccurate quarter capacity Plan via historical throughput + explicit buffers
Non-tech factors affect delivery Involve stakeholders, track external dependencies
Quarter goals lack story detail Use dual-track agile, story mapping, and OKRs

Would you like a process diagram or concrete template for quarterly + sprint planning based on this layered approach?

You:

yes, please create a process diagram

ChatGPT:

Image created

Generated image

Generated imageGenerated image

Generated imageGenerated image

Share

Here is the process diagram you requested:


Here's a concrete planning template/example

🔹 Quarterly Planning Template (Strategic Layer)

1. Quarter Objective Planning (Goal-Level)

Objective ID Objective Title Description OKR Link Priority Owner
OBJ-001 Improve Checkout UX Reduce cart abandonment and friction KR-1.1 High Product Lead
OBJ-002 Enhance Search Performance Search latency under 500ms on avg. KR-1.2 Medium Tech Lead

2. Capability or Epic Breakdown

Epic ID Title Related Objective High-Level Estimate (weeks) Dependencies Outcome Metric
EP-001 Mobile Checkout Redesign OBJ-001 5 UX, Legal approval Conversion rate change (%)
EP-002 Search Index Refactor OBJ-002 4 Infra availability Median search latency (ms)

3. Forecasting with Throughput

Team Avg Throughput (Stories/Sprint) Expected Capacity (Sprints) Forecasted Story Count Buffers Applied?
A 8 5 40 Yes (15%)
B 10 5 50 Yes (20%)

🔸 Sprint Planning Template (Tactical Layer)

4. Story Readiness & Breakdown

Story ID Title Epic Definition of Ready Size (T-shirt or days) Risk Level
ST-1001 Add "Save for Later" button EP-001 S (1-2 days) Low
ST-1002 Refactor search pagination EP-002 ❌ (missing tests) M (3-4 days) Medium

5. Sprint Planning Commitment

Sprint ID Goal Planned Stories (IDs) Confidence Level (1–5)
Sprint 12 Release MVP checkout redesign ST-1001, ST-1004, ST-1005 4
Sprint 13 Finish UX polish + A/B testing ST-1006, ST-1007 3

6. Increment Review Planning

Deliverable Stakeholder Review Needed? Demo Format Release Criteria Met?
Mobile Checkout v1 Yes (PM + UX) Clickable demo TBD
Search Metrics Panel No Internal metrics

Optional: 🔁 Weekly Flow Metrics Tracking

Metric Week 1 Week 2 Week 3 Week 4
Avg Cycle Time (days) 3.2 2.9 3.5 3.1
Stories Done 7 8 6 9

Summary of Key Practices Enabled:

Practice Purpose
Layered Planning Avoids mixing long-term goals with short-term execution details
Outcome-based Objectives Keeps planning anchored to measurable value
Historical Throughput Replaces abstract story point forecasting
Incremental Detailing Maintains agility while preserving quarterly direction
Flow Metric Review Enables data-driven improvements and planning calibration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment