Skip to content

Spec-Driven Development and the AI Unified Process — with Simon Martinelli

April 15, 2026 · 1 h 11 min

Show notes

Simon Martinelli is a Java Champion, Vaadin Champion, and Oracle ACE Pro with over three decades of experience building enterprise software. In this episode, he introduces the AI Unified Process (AIUP) — a methodology he created that combines the rigor of the Rational Unified Process with modern AI-assisted development, and makes a compelling case for why specifications, not code, should be the source of truth. We explore the difference between system use cases and user stories, and why use cases — with their actors, preconditions, main flows, alternative flows, and business rules — give AI agents far better structure to generate working code. Simon walks through the four phases of AIUP: Inception, Elaboration, Construction, and Transition, showing how specs, code, and tests evolve together iteratively while staying in sync. On the architecture side, Simon advocates for Self-Contained Systems over microservices — vertical slices that include UI, backend, and database together, reducing cognitive load for both developers and AI agents. His tech stack of choice is Vaadin for full-stack Java UI, jOOQ for type-safe explicit SQL, and Spring Boot as the application framework — a combination he argues is uniquely well-suited for AI-driven development because it keeps everything in one language with no hidden behavior. We also dig into testing strategies with Karibu Testing for browserless Vaadin tests and Playwright for end-to-end coverage, how teams of two working on bounded contexts with trunk-based development are shipping faster than ever, and why the era of AI is bringing back the Renaissance developer — the generalist who understands the full stack from business requirements to production deployment.

With Simon Martinelli, Java Champion, Vaadin Champion, Oracle ACE Pro — Software Architect & Trainer

  • All episodes of The AWS Developers Podcast

    Settings

    Display

    Language

    Decides which stations you see first on the home page.

    History

    Recently played stations and episodes and your latest searches are only stored in this browser.

    Notifications

    A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

    Account

    Save favorites – in the app and on the website.

    Keyboard shortcuts

    /
    Open search
    Space
    Play or pause
    ← →
    In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
    ↑ ↓
    In a row: target within the tile
    Home / End
    In a row: first or last tile
    Esc
    Close window or menu
    ?
    This overview
    Now playing

    Go to station page

    Play next

      Add episodes with “Play next” – they play after the current episode.