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

Lessons from Spec-Driven Development

Lessons from Spec-Driven Development

In many projects, specifications and code drift apart over time. Requirements change, documentation becomes outdated, and developers rely mainly on the code. This increases risk and makes changes harder, especially in long-living business applications.
This talk presents the AI Unified Process, a spec-driven approach where system use cases are the central artifact. A system use case describes observable system behavior and acts as a stable contract for the application. Code is derived from these use cases instead of treating the code itself as the source of truth.
AI is used as a supporting tool to generate and update code and tests from system use cases in small, controlled steps. The focus is not on full regeneration, but on keeping existing code and specifications aligned over time.
Using concrete examples, the talk shows how backend logic, database access, and UI behavior can evolve together. It also explains when code is generated, when it is updated, and how version control and reviews help keep changes small and understandable.
The session shares concrete workflows and lessons learned from three customer projects, including limitations and trade-offs of using AI in this way.

Avatar for Simon Martinelli

Simon Martinelli PRO

June 01, 2026

More Decks by Simon Martinelli

Other Decks in Programming

Transcript

  1. About Me • 30 years in Software Engineering • 25

    years with Java • Independent Consultant since 2009 • Teaching at two Universities • Co-lead Berne, JUG Switzerland
  2. AI Native Development • Spec-Driven 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 enhancing developer throughput
  3. SDD in Practice • Process-centric • AI Unified Process AIUP

    https://unifiedprocess.ai • Tool-centric • Amazon Kiro https://kiro.dev • GitHub Spec Kit https://github.com/github/spec-kit • Bmad Method https://github.com/bmad-code-org • ...
  4. How Are Use Cases and User Stories Releted? • They

    describe the same business intent • User stories are good for planning • Use cases are better for execution
  5. Impact on Architecture • Modular architecture reduces the context size

    • Self-contained Systems • Single ecosystem simplifies guardrails • Full-stack frameworks
  6. Impact on Teams • Smaller team size • 12 developers

    per self-contained system • No more sprints • Continous flow • From Scrum to Kanban • Progress tracking on use cases
  7. Set the Guardrails • Don’t use AI to scaffold the

    application • Guidelines define rules • Standards, architecture, testing • Skills capture repeatable tasks • Implementation, testing, refactoring, reviews • MCP connects tools and context • Documentation, code examples, quality checks • Human review stays essential
  8. Conclusion • Specs help to • Reduce non-determinism • Make

    development sustainable • It accelerates development, but you must: • Review, understand, and test the output • Know your architecture and domain
  9. Thank you! • Web martinelli.ch • EMail [email protected] • Bluesky

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