Level 9Lesson 80โฑ๏ธ 40 min

Best Practices & Anti-Patterns

SDD is powerful and easy to overdo. Learn when it's worth the ceremony, when it isn't, and how to avoid the traps

The Honest Truth: SDD Has a Cost

Writing a constitution, a PRD, an architecture doc, and sharded stories before coding is real work. For the right project it pays back many times over. For the wrong one, it's ceremony that slows you down. A good engineer knows which is which.

The mentor's warning: the failure mode of beginners isn't using SDD too little - it's slapping the full BMAD process onto a 20-line script and calling it rigor. Process is a tool, not a virtue. Match the ceremony to the stakes.

When SDD Is Worth It

USE SDD WHEN...
  โœ“ The project will live a long time (you'll forget why later)
  โœ“ More than one person (or agent) works on it
  โœ“ "Done" is fuzzy and needs pinning down
  โœ“ Mistakes are expensive (money, safety, compliance)
  โœ“ You need an audit trail (regulated work)
  โœ“ The app is big enough that vibe coding loses the thread

When to Skip It (or Go Light)

SKIP / GO LIGHT WHEN...
  โœ— A one-off script or throwaway prototype
  โœ— A tiny, obvious change where "done" is self-evident
  โœ— You're exploring and don't know what you want yet
    (explore by vibe first, THEN spec what you decide to keep)
  โœ— The whole task is smaller than the spec would be
Both BMAD and LID know this. BMAD is "scale-adaptive" - it dials the process down for small jobs. LID has a whole "anti-patterns" page naming when it's the wrong choice. The methods themselves tell you not to over-apply them. Listen.

Best Practices That Travel Across Every SDD Method

Keep specs lean and high-altitude

A spec is heuristics and checkable claims, not a 50-page novel scripting every pixel (Level 8's "right altitude" again). Over-specified is as broken as under-specified.

Keep a human at every gate

Approve the brief, the PRD, the architecture, each story. SDD makes the gates obvious - use them. The agent proposes; you decide.

Versions everything in Git

The spec is the product. If it's not in version control with history, you've lost the source of truth.

One small, checkable unit at a time

Sharded stories (BMAD) and atomic specs (LID) both exist because small, tightly-scoped units are where AI does its best work.

Read the diffs anyway

SDD reduces intent gaps; it doesn't eliminate your responsibility to read what shipped (Level 7's comprehension debt). Stay the engineer.

Anti-Patterns to Avoid

The traps:
  • Spec theater: writing impressive docs nobody enforces. If your spec doesn't drive the code (or a gate), it's decoration. (LID's CI gate exists precisely to prevent this.)
  • Stale specs: the code changed, the spec didn't. Now the "source of truth" lies. Update the spec first, then the code.
  • Over-sharding: 200 micro-stories for a tiny app. The overhead eats the benefit. Right-size the pieces.
  • Cognitive surrender: trusting the planning docs so much you stop thinking. The docs are your thinking made explicit - not a replacement for it.
  • Process for its own sake: using the heaviest method available because it feels professional. The best engineers use the lightest process that still keeps them safe.

How This Level Connects to the Rest

SDD isn't a separate island - it's where the last three levels meet:

Level 7 (Loops)    โ†’ SDD's gates and CI checks ARE loop verifiers;
                     each story is a unit you can loop on.
Level 8 (Context)  โ†’ a good spec / story IS a tight, high-signal
                     context package for the agent.
Level 9 (SDD)      โ†’ the discipline that decides WHAT context and
                     WHICH loop, by pinning down intent first.

Specs, context, and loops are three views of the same craft:
getting an AI to build the right thing, reliably, at scale.

Hands-On: Right-Size the Process

Hands-on (10 min): Here are four tasks. For each, decide: full SDD, light SDD, or just vibe-code it - and one sentence why. (1) A personal script to rename 50 files. (2) A patient-records feature for a clinic. (3) A weekend prototype to test an idea. (4) A payments integration for your startup. If you put the clinic and payments work on the heavy end and the script and prototype on the light end, you've internalized the most important judgment in this level: process should match stakes.
Lesson 80 Quick Reference
SDD has a cost

Planning before coding pays off on real projects and wastes time on throwaways - match ceremony to stakes

Use SDD when

Long-lived, multi-person, fuzzy "done", expensive mistakes, audit needs, or too big for vibe coding

Skip/go light when

One-off scripts, obvious tiny changes, early exploration, or tasks smaller than their spec

Keep specs lean

Heuristics and checkable claims at the right altitude - not a pixel-by-pixel novel

Spec theater

Impressive docs nobody enforces; if the spec doesn't drive code or a gate, it's decoration

Stale specs

Code changed but the spec didn't - update intent first, then code, or the "source of truth" lies

Process matches stakes

The best engineers use the lightest process that still keeps them safe

โ† LID - Linked Intent Development
Unlocks in ~10 min of reading