Simon Martinelli - Lessons from Spec-driven Development - AI Native DevCon June 2026
Summary
The talk introduces the AI Unified Process, a spec-driven approach designed to combat code and specification drift in large, long-lived enterprise applications. Instead of treating code as the source of truth, this method uses system use cases (specifically SysML use cases) and domain/entity models as stable contracts. AI is leveraged not for full regeneration, but for generating and updating code and tests incrementally from these specifications, enabling modernization efforts that are more robust than simple 'lift and shift' migrations.
Key takeaways
-
Spec-Driven Development (SDD) as the Source of Truth
21:33
System use cases act as a stable contract for application behavior. Code is derived from these specs, ensuring that changes are managed through formal requirements updates rather than relying solely on code maintenance.
-
Modernization via Specification Extraction
23:50
For modernization projects (e.g., ERP systems), the process involves reverse-engineering use cases and entity models from existing documentation, code, and tests. This allows for feature integration without being limited to a simple technology migration.
-
Architectural Shift: Self-Contained Systems
27:20
To effectively use AI in large systems, the architecture should move away from overly distributed microservices (which create context management issues) toward 'Self-contained systems'—vertical splits that keep UI, business logic, and database within a single project or application.
Technical details
-
AI Unified Process Workflow
1230s
The process starts with defining the vision, gathering requirements (using Product Requirements Documents/Requirements Catalog), generating an Entity Model (domain model), and creating SysML use cases. Code generation is then driven directly from these specs, skipping intermediate 'plan' or 'task' phases common in tool-centric approaches.
-
Specification Artifacts
1293s
The core artifacts include SysML use cases (which define behavior with pre/post conditions and scenarios), the Entity Model (domain model derived from database structure), and UI specifications (e.g., Figma designs). The post-conditions of a use case serve as verifiable acceptance criteria for testing.
-
Development Flow & CI/CD
1340s
The recommended development flow is to start with tests (Test-Driven Development) and use those tests to drive code generation. The process emphasizes continuous flow over fixed sprints, utilizing use cases in a Kanban manner.
-
AI Implementation Best Practices
1730s
When using AI agents for development, it is crucial to define clear 'skills' and guardrails. The speaker advises against letting AI create an entire project (due to token waste) and recommends using dedicated CLI tools (like Spring Initializr) for initial setup.
Mentioned resources
- AI Native Dev.io
- SysML use cases
Channel & topics
Watch on YouTube · Back to latest
This independent, AI-assisted summary is provided for commentary and informational purposes. It may contain errors or omit important context. Please watch the original video for the creator's complete presentation. Video, thumbnail, and related copyrights belong to their respective owners.