Limits, Trade-offs & What's Realistic
The Question We Should Ask
A critical analysis by Robert Matsuoka argues that Specification-Driven Development (SDD) serves dual purposes: solving real problems BUT also providing "governance narratives that justify enterprise procurement and enable disconnected valuations."
Fair question. Let's address it honestly.
The Critiques Are Valid
1. The TDD Parallel Warning
The concern: Test-Driven Development has <20% adoption after 20 years despite proven benefits. Failed due to timing pressures, cargo cult practices, and adoption barriers.
The similar risk for SDD: The methodology requires complete specifications before implementation—precisely what software has struggled with for 50 years.
Our response: LeanSpec explicitly rejects "complete specifications upfront." Our Context Economy principle (under 300 lines) and Intent Over Implementation approach focus on capturing WHY/WHAT, not exhaustive HOW. We're not asking for waterfall requirements—we're asking for enough intent to align humans and AI.
2. The 70% Automation Myth
The concern: Real-world METR study found developers took 19% longer with AI despite believing they were 20% faster. The "70% automation" claim is inflated—it's only 27% of total dev work (39% time coding × 70% automation).
Our response: We don't promise automation percentages. LeanSpec is about alignment and intent documentation, not automation claims. Realistic outcome: 10-30% productivity improvement through better human-AI collaboration, not elimination of human work.
3. AI Agents Still Make Mistakes
The concern: Martin Fowler's experiments showed that despite detailed specs, AI agents still generate unrequested features, change assumptions mid-stream, and claim success when builds fail.
Quote from Fowler: "Because of the non-deterministic nature of this technology, there will always remain a very non-negligible probability that it does things that we don't want."
Our response: We agree. Specs don't eliminate AI unpredictability—they reduce it. The goal isn't autonomous coding; it's better-informed AI suggestions that humans review. Specs provide context that makes AI outputs more aligned with intent.
4. SDD Could Be Transitional
The concern: "If models become sufficiently deterministic and context-aware, specifications become unnecessary overhead."
Our response: Probably true. If AI gets good enough, you might need less structure. But even then:
- Human-to-human alignment still needs documentation
- Specs that capture INTENT (not just implementation) age better
- Progressive Disclosure means you can use LESS structure as AI improves, not abandon the methodology
We're useful TODAY because AI is unpredictable. If AI improves dramatically, adapt accordingly.
Where Specs ARE Theater
Let's be specific about when specs become governance theater rather than productive tools:
❌ Theater: Specs as Checkbox Exercise
- Symptom: Writing specs to justify budgets without measuring outcomes
- Example: Enterprise requires specs for procurement, but nobody reads them after approval
- Result: Wasted effort, no alignment benefit
❌ Theater: Complete Upfront Requirements
- Symptom: Requiring exhaustive specifications before any coding (waterfall trap)
- Example: 2,000-line PRD that tries to specify every edge case before discovery
- Result: Context overflow, stale docs, AI can't help
❌ Theater: Specs AI Will Ignore Anyway
- Symptom: Writing specs AI doesn't read or can't fit in context window
- Example: Verbose documentation that exceeds token limits
- Result: Human effort wasted, AI generates code without spec context
❌ Theater: Rigid Process Over Pragmatism
- Symptom: Multi-step workflows required for all changes regardless of size
- Example: Bug fix requires spec → plan → tasks → approval → implementation
- Result: Process overhead kills velocity
Where Specs ADD Value
When specs genuinely improve outcomes, not just check compliance boxes:
✅ Value: Team Alignment on Complex Features
- Scenario: Multiple developers need coordinated understanding
- Benefit: Shared source of truth prevents divergent implementations
- Result: Less rework, faster progress
✅ Value: Intent Preservation
- Scenario: Decisions need documentation for future reference
- Benefit: "Why" is captured, not just "how"
- Result: Future changes respect original constraints and trade-offs
✅ Value: AI Context Without Overflow
- Scenario: Feature is too complex for pure vibe coding
- Benefit: Spec under 300 lines fits in AI context window
- Result: AI actually reads and incorporates spec into suggestions
✅ Value: Progressive Refinement
- Scenario: Requirements emerge through implementation (Spec-Driven Development style)
- Benefit: Spec evolves as you learn, maintaining alignment
- Result: Living documentation that stays relevant
The Theoretical Foundation: Rice's Theorem
A deeper reason why human involvement is necessary comes from computer science fundamentals.
Rice's Theorem (1951) proves that all non-trivial semantic properties of programs are undecidable—no algorithm can determine whether an arbitrary program has any interesting behavioral characteristic.
What This Means for SDD
The undecidable question: "Does this program do what the user wants?" (requires understanding undefined intent)
The tractable question: "Does this program satisfy these explicit specifications?" (checking defined requirements)
Key insight: Specifications don't "solve" undecidability—they provide the semantic grounding that makes verification tractable. Humans define what "correct" means; AI generates implementations and tests within those constraints.
Why AI Can't Replace Human Specs
Rice's Theorem explains why:
- Semantic properties are undecidable - AI can't algorithmically determine what you want
- Specs provide grounding - Humans translate intent into checkable assertions
- AI amplifies, doesn't replace - AI generates code/tests from human-provided specs
- Testing is sampling, not proof - Even with specs, we build confidence through heuristic testing, not mathematical certainty
From the Rice's Theorem article:
"Understanding that complete test automation is mathematically impossible doesn't leave us helpless—it guides us toward more effective strategies. The key insight is that we can dramatically improve testing effectiveness by combining formal specifications with AI-driven test generation."
This is exactly LeanSpec's philosophy: Humans provide intent (specs), AI amplifies scale (implementation), both work within theoretical constraints.
How LeanSpec Differs From The Critique
The Hyperdev article critiques SDD frameworks like Tessl ($125M, delivered only beta registry) and rigid methodologies. Here's where LeanSpec positions differently:
We're NOT:
- ❌ Promising 70% automation or autonomous coding
- ❌ Selling a $125M platform or $10B IDE
- ❌ Requiring rigid 5-step workflows before any code
- ❌ Claiming specs eliminate AI unpredictability
- ❌ Demanding complete upfront specifications
We ARE:
- ✅ Free, open-source tooling (no venture capital, no valuation hype)
- ✅ Pragmatic about when specs help vs hurt (explicit "when NOT to use specs" guidance)
- ✅ Tool-agnostic (works with any editor, any AI assistant)
- ✅ Addressing real pain: team alignment, context rot, decision documentation
- ✅ Starting minimal, adding structure only when you feel pain (Progressive Disclosure)
The Positioning Difference
From the article: "SDD functions as quality control theater... but the methodology also provides governance narratives that justify enterprise procurement and enable disconnected valuations—it's both solution and symptom."
LeanSpec's stance: We're the "solution" part without the "symptom" part:
- Specs enhance judgment, they don't replace understanding your codebase
- Structure that grows with your team (solo → enterprise)
- No promises of revolutionizing software creation—just pragmatic documentation
Surviving The Correction
The Hyperdev article predicts AI bubble correction in 18-24 months. Here's why LeanSpec is positioned differently:
Survivors Share These Traits
Per the article, survivors will be tools that "enhance rather than replace core capabilities."
That's us:
- Specs don't replace coding judgment—they enhance human-AI alignment
- No autonomous coding claims—just better-informed suggestions
- Free tooling with no valuation to justify
- Works within theoretical constraints (Rice's Theorem), not against them
What Kills Companies in Corrections
- Burning capital on "technical potential" rather than paying customers
- Promising automation that exceeds what's theoretically possible
- Rigid processes that don't adapt to reality
- Disconnected valuations from actual utility
LeanSpec avoids these:
- Open source, no capital burn
- Honest about limits (no 70% automation promises)
- Progressive disclosure (adapt to team needs)
- Free to use, value measured in productivity not valuation
The Honest Assessment
Specs CAN be theater. When they're:
- Required for procurement but nobody reads them
- Exhaustive upfront requirements that exceed context limits
- Rigid processes applied to trivial changes
- Documentation that stays static while code evolves
Specs ADD value when:
- Team needs alignment on complex features
- Intent must persist beyond conversations
- Decisions need documentation for future reference
- Specs fit in AI context windows and actually inform implementation
- Structure adapts progressively to team needs
LeanSpec's philosophy:
- Be honest about limitations (Rice's Theorem proves complete automation is impossible)
- Start simple, add complexity only when pain is felt (Progressive Disclosure)
- Keep specs short enough to actually use (<300 lines, Context Economy)
- Focus on intent that ages well (Intent Over Implementation)
- Work with AI's strengths, acknowledge its weaknesses
The Question You Should Ask
Not: "Should I use SDD?"
But: "Does formalizing intent into a spec add value for this specific work?"
Answer YES when:
- Feature is complex enough that vibe coding causes misalignment
- Team needs shared understanding
- AI needs structured context to help effectively
- Decisions should be documented for future maintainers
Answer NO when:
- Change is trivial and obvious
- You're still exploring and discovering requirements
- Overhead exceeds benefit
- Prototype that won't be maintained
LeanSpec gives you the tools to say YES efficiently when it matters.
Further Reading
- The AI Bubble Article - The critique that sparked this assessment
- Rice's Theorem Explained - Why human involvement is mathematically necessary
- LeanSpec First Principles - Our philosophy derived from constraints
- When NOT to Use Specs - Honest guidance on skipping specs
The bottom line: We're not selling a revolution. We're offering pragmatic tools for a real problem—keeping humans and AI aligned through lightweight, maintainable specs. If that's theater, it's the kind that actually improves the show.