TalksAWS re:Invent 2025 - Spec-driven development: Shaping the next generation of AI software (DVT212)
AWS re:Invent 2025 - Spec-driven development: Shaping the next generation of AI software (DVT212)
Spec-Driven Development: Shaping the Next Generation of AI Software
Introduction to Spec-Driven Development
Spec-driven development is a structured approach to building AI-powered software
It consists of three main artifacts: requirements, design, and tasks
This approach aims to bring more structure and predictability to the AI coding process
Addressing the Limitations of Prompt-Based Coding
Prompt-based coding can lead to issues like unclear assumptions, incomplete requirements, and lack of documentation
Spec-driven development addresses these challenges by providing a framework for defining requirements, design, and implementation tasks upfront
The Spec-Driven Development Workflow
Requirements: The agent works with the developer to define clear, structured requirements using the EARS (Easy Approach to Requirements Syntax) standard
Design: The agent generates a design document that outlines the technical architecture, decisions, and rationale
Tasks: The agent creates a set of discrete implementation tasks that are tied back to the requirements and design
Achieving Reproducible Results
Spec-driven development focuses on correctness and reproducibility of the final software output
By investing more time upfront in defining requirements and design, the approach aims to reduce ambiguity and ensure the agent generates the intended functionality
Property-Based Testing (PBT)
PBT is a key feature of spec-driven development, allowing the agent to automatically generate comprehensive test cases based on the defined requirements
PBT helps catch edge cases and ensures the implementation adheres to the specified properties and invariants
Traceability and Collaboration
Specs are stored as Markdown files in the codebase, providing traceability and enabling collaboration between the developer and the agent
Developers can easily review, update, and refine the specs at any stage of the development process
Real-World Application of Spec-Driven Development
Kira Team's Experiences
The Kira team has successfully used spec-driven development to implement several features, including:
Agent Notifications: Leveraging the spec process to quickly implement a native notification system, even in an unfamiliar codebase
Remote MCP Support: Conducting a design review with the agent to ensure the implementation aligned with the MCP 2.0 specification
Dev Server Support: Defining the requirements and design upfront to deliver a seamless long-running dev server experience
Benefits Observed
Faster development cycles by reducing the need for iterations and rework
Improved code quality and correctness through the use of PBT
Enhanced collaboration and traceability by storing specs in the codebase
Getting Started with Spec-Driven Development
Kira is the primary tool for leveraging spec-driven development, available across various platforms (Mac, Linux, Windows)
The Kira community on Discord (discord.gg/ko.dev) provides opportunities for learning, collaboration, and direct engagement with the Kira team
The "House of Kira" at AWS re:Invent 2025 is recommended as a hands-on introduction to the tool and its capabilities
Conclusion
Spec-driven development represents a significant advancement in the way AI-powered software is built, offering a structured approach that prioritizes correctness, reproducibility, and collaboration between developers and AI agents. By investing upfront in defining requirements, design, and implementation tasks, teams can deliver higher-quality software faster and with greater confidence.
These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.
If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.