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

  1. Requirements: The agent works with the developer to define clear, structured requirements using the EARS (Easy Approach to Requirements Syntax) standard
  2. Design: The agent generates a design document that outlines the technical architecture, decisions, and rationale
  3. 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:

  1. Agent Notifications: Leveraging the spec process to quickly implement a native notification system, even in an unfamiliar codebase
  2. Remote MCP Support: Conducting a design review with the agent to ensure the implementation aligned with the MCP 2.0 specification
  3. 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.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

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.