Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spec-driven Development: How AI Changed Everyth...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Spec-driven Development: How AI Changed Everything (And Nothing)

AI makes coding faster, but we're still stuck with the same old problem: code becomes the source of truth. What if we flipped this around?

This talk shows a new way to build software: the AI Unified Process https://aiup.dev. Write your requirements once. Let AI generate everything else - diagrams, models, code, and tests. When requirements change, everything updates automatically. No more outdated docs.
You'll see how to write requirements that AI understands and keep everything connected from business needs to working code. Based on a real-world project, we will see how this works in practice.

This isn't about replacing developers. It's about letting AI handle the boring stuff so we can focus on what matters - understanding what the business needs.

Avatar for Simon Martinelli

Simon Martinelli PRO

September 28, 2025
Tweet

More Decks by Simon Martinelli

Other Decks in Programming

Transcript

  1. About Me • 30 years in software engineering • 25

    years with Java • Self-employed since 2009 • Teaching at two Universities • Co-lead Berne, JUG Switzerland
  2. What is Vibe Coding? I just see things, say things,

    run things, and copy-paste things, and it mostly works. - Andrej Karpathy, OpenAI Co-founder, former Tesla AI lead, February 2025 • A programming approach where you • Use natural language to describe what you want • Let AI LLMs write all the code • Accept code without full understanding • Focus on the goal, not the code itself
  3. Is Vibe Coding Any Good? Ok-ish • Prototypes • Quick

    experiments • Hobby projects • Non-programmers building apps Risky • Business applications • Complex systems • Security-critical apps • Non-programmers building apps
  4. Caution: AI Is Not a Compiler • AI code generation

    isn't a compiler - it's an assistant! • Many developers expect AI to work like a compiler • Precise input → perfect output • But that's not how it works • It’s not comparable to Model-Driven Development • AI is non-deterministic and makes mistakes • You are responsible for the output!
  5. AI Native Development • Spec-Centric Development • Clear intent/specs guide

    AI to generate meaningful code • Context-Aware Development • AI agents understand full codebase context • Agent Experience AX • Autonomous AI tasks (bug fixes, PRs, tests) enhancing developer throughput https://ainativedev.io/
  6. Spec-driven Development (SDD) • Start with the spec, not code

    • Spec is the contract and source of truth for tools and AI • Leads to less guesswork, fewer surprises, better code
  7. What Are Executable Specs? • An executable spec describes observable

    system behavior, not implementation details • It acts as a stable contract between business intent and technical implementation • It can be systematically turned into code and tests, with minimal interpretation • It helps prevent drift between requirements, code, and tests over time
  8. SDD in Pratice • Process • AI Unified Process https://aiup.dev

    • Tools • AIUP Claude Code Plugin https://aiup.dev/tools.html • Amazon Kiro https://kiro.dev • GitHub Spec Kit https://github.com/github/spec-kit • ... and many more
  9. How Do the Approaches Differ? • AIUP is primarily a

    process and methodology with tooling support, emphasising requirements and spec quality across the entire lifecycle • Amazon Kiro is a spec-centric AI IDE with strong integrated automation where AI drives from spec to code within one environment • GitHub Spec Kit is an open-source workflow toolkit that formalizes phases and integrates with different AI coding tools rather than providing its own agentic environment
  10. Impact on the Architecture • Independent modules reduce the context

    size • Self-contained Systems • Microservices • Single ecosystem simplify guardrails • Full-stack frameworks
  11. Guardrails • Consistency across sessions • AI has no memory,

    so guardrails ensure the same behavior in every conversation • Encoding project knowledge • Capture coding standards, architecture decisions, and conventions • Prevent AI drift • Without rules, AI might suggest patterns or libraries that don't match your project • Reducing Repetition • Define your preferences once instead of explaining them in every prompt • Team Alignment • All developers get similar, project-appropriate suggestions from the AI • Quality Control • Enforce standards like testing requirements, documentation rules, and code style
  12. Recommendations • Scaffold the application yourself • Set guardrails •

    Constantly review everything that is generated • Create test case examples • Use/create skills • Use MCP Servers but take care of the context size
  13. Conclusion • Specs help to reduce non- determinism • AI

    feels like a teammate but it’s just a tool • It can accelerate development, but you must: • Review, understand, and test the output • Know your architecture and domain
  14. Thank you! • Web martinelli.ch • EMail [email protected] • Bluesky

    @martinelli.ch • X/Twitter @simas_ch • LinkedIn https://linkedin.com/in/ simonmartinelli