Pre-Mortem 06 — Scope Creep¶
Failure Mode: Rabbit holes and tangents pulling you off-phase.
Probability: MEDIUM — 55%
Peak Risk Period: M3–M6, when topics are interesting enough to generate curiosity but the curriculum isn’t yet providing the structure to contain it.
Why This Happens to Curious Engineers¶
Scope creep does not happen to lazy learners. It happens to curious ones. You read about segment trees in Phase 3 and discover that they generalize to lazy propagation, which leads you to Li Chao trees, which leads you to a fascinating paper on kinetic data structures, which leads you to discover that Codeforces has an entire problem set on advanced geometric data structures. Three weeks later, Phase 3 (graphs) is unfinished and you have deep knowledge of a data structure used in approximately 0.1% of competitive programming problems.
This is not failure of discipline in the pejorative sense. It is a failure of scope management. The curiosity is valuable — it is what makes good engineers — but it requires a container. The 9-month plan is that container.
The cost of scope creep is not the time spent on the tangent. It is the broken continuity in the primary plan. When you return from a 3-week Li Chao tree deep-dive, you have to rebuild context on where you were in Phase 3, what your sprint goals were, what problems you had left unresolved. Context reconstruction takes time, and the phase’s conceptual momentum is gone.
What It Looks Like¶
Month 4, Week 2: You’re working on Dijkstra’s algorithm. You read about it using a priority queue. You wonder: is there a better data structure than a binary heap for priority queues? You read about Fibonacci heaps. They have O(1) amortized decrease-key. Interesting. You read a paper. You watch a YouTube lecture series. You try to implement one.
Month 4, Week 4: Sprint S8 review. Sprint goals: solve 12 graph problems, implement BFS/DFS from scratch, understand topological sort. Actual: 4 graph problems solved, Fibonacci heap partially implemented (but not the DSA goal). You note the sprint failure but don’t adjust your plan because “I’ll catch up next sprint.”
Month 5: You’re still in Phase 3 instead of Phase 4. The sprint calendar is now 2 weeks behind. The phase exit criteria for Phase 3 are unmet.
Month 6: You’ve fallen into the valley of despair but from a different direction — you’re behind schedule AND in the hardest conceptual stretch. The double pressure breaks you.
Early Warning Signals¶
You are studying a topic not listed in your current phase roadmap
Your sprint goals were unmet for 2+ consecutive sprints
You have 3+ “interesting” browser tabs open from tangent research that you haven’t closed in a week
Your lab notebook entries are about topics outside the current phase
You find yourself justifying the tangent: “this will help me in Phase 5 anyway”
Phase exit criteria for the current phase are unmet but you’re researching Phase 6 material
The Mechanism: Why Rabbit Holes Are Expensive¶
Every topic in advanced DSA is a rabbit hole that goes arbitrarily deep. Segment trees generalize. DP has dozens of specializations. Graph algorithms have entire subfields. Competitive programming has research-level problems at the top tier.
The 9-month plan is not designed to take you to the bottom of any of these rabbit holes. It is designed to take you to the level where you can solve Hard LeetCode problems and participate meaningfully in Codeforces. That level does not require Fibonacci heaps. It does not require Li Chao trees. It does not require most of the things that will tempt you as rabbit holes.
The plan is calibrated. Departing from the calibration during the plan itself is always a net negative, even if the rabbit hole is genuinely interesting.
The Parking Lot¶
Create a file called parking_lot.md in your lab notebook directory. Every time a rabbit hole appears — every time you encounter something interesting that is not part of the current phase — write it in the parking lot. Date it. Note why it interests you.
Then return to the phase plan.
The parking lot entry is not lost. It will be there after Phase 6. Most parking lot entries you will never revisit — the urgency of the rabbit hole fades when you’re not in the middle of it. Some you will revisit and they will be genuinely valuable then. But the decision to go deep is better made at the end of a phase, with full context, than in the middle of a sprint when the pull is emotional.
The parking lot gives your curiosity a home without giving it control of the schedule.
Concrete Mitigation¶
Rule 1: The parking lot habit (as described above). Every tangent gets a parking lot entry, not a deep dive.
Rule 2: The relevance check. Before spending more than 30 minutes on any topic not in your current phase, ask: “Does this appear in the exit criteria for my current phase?” If no — park it.
Rule 3: Sprint integrity. If your sprint goals were unmet due to a tangent, the next sprint’s goals stay the same — you return to the unmet goals, not the tangent. The tangent does not earn its way into the sprint plan by being interesting.
Escalation Trigger¶
Phase exit criteria unmet AND you haven’t engaged with that phase’s core topics in 5+ days:
Parking lot the tangent. Hard return to phase plan. Do the minimum viable session on a core phase topic before anything else in the next 5 sessions.
If the tangent was genuinely valuable for phase understanding (rare, but possible), document the connection in your lab notebook — “I studied X because it directly clarifies Y in Phase 3” — and verify that Y is actually in Phase 3. If it isn’t, it wasn’t genuinely valuable for phase understanding.
The Meta-Point¶
The plan is smarter than any single sprint’s curiosity. It was constructed with the full 9-month arc in mind. Any individual tangent looks valuable in isolation; in the context of the whole plan, most tangents are noise. Trust the plan’s calibration. Park the noise. Get back to work.