The whole spec-driven development movement has always been a bit odd to me, because it feels more like a traditional grounded approach towards regular software engineering.
I can share my personal approach which has worked fairly well at least on modest legacy repositories (250k lines of code). It's a pretty simple 8-step process:
Design
• Think about broad project objectives (ABOUT.md)
• Deep research around tooling (STACK.md)
• Initial spec and iterate with LLM (SPEC.md)
• Develop broad suite of tests (TDD.md)
• Full expansion into multi-phase plan with adversarial reviews (PLAN.md)
Execution
• Agentic harness (OpenCode) implementation at a per-phase level
• Green light from TDD and further adversarial reviews. Manual sanity checking also occurs at this stage.
• Repeat implementation, test, validation cycle until feature complete
Something I've learned is that your specification is as solid as your validation harness. If you have added strong e2e tests, with the critical scenarios covered, then you are safe. If not, sometimes it's rolling dices.
The whole spec-driven development movement has always been a bit odd to me, because it feels more like a traditional grounded approach towards regular software engineering.
I can share my personal approach which has worked fairly well at least on modest legacy repositories (250k lines of code). It's a pretty simple 8-step process:
Design
• Think about broad project objectives (ABOUT.md)
• Deep research around tooling (STACK.md)
• Initial spec and iterate with LLM (SPEC.md)
• Develop broad suite of tests (TDD.md)
• Full expansion into multi-phase plan with adversarial reviews (PLAN.md)
Execution
• Agentic harness (OpenCode) implementation at a per-phase level
• Green light from TDD and further adversarial reviews. Manual sanity checking also occurs at this stage.
• Repeat implementation, test, validation cycle until feature complete
https://mordenstar.com/other/spec-dev
Something I've learned is that your specification is as solid as your validation harness. If you have added strong e2e tests, with the critical scenarios covered, then you are safe. If not, sometimes it's rolling dices.