Real Python Podcast E277 Title Image

Episode 277: Moving Towards Spec-Driven Development

The Real Python Podcast

Dec 19, 2025 1h 1m intermediate ai editors tools

What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programming? This week on the show, Marc Brooker, VP and Distinguished Engineer at AWS, joins us to discuss specification-driven development and Kiro.

Marc describes the process of developing an application by writing specifications, which outline what a program should do and what needs it should meet. We dig into a bit of computer science history to explore the differences between declarative and imperative programming.

We also discuss Kiro, a new integrated development environment from Amazon, built around turning prompts into structured requirements. We examine the various types of documents used to specify tasks, requirements, design, and steering.

Topics:

  • 00:00:00 – Introduction
  • 00:02:41 – How did you get involved in open source?
  • 00:07:23 – How would you describe spec-driven development?
  • 00:10:49 – Balancing the desire to start coding with defining the project
  • 00:13:06 – What does this documentation look like?
  • 00:18:27 – Declarative vs imperative programming
  • 00:24:13 – Infrastructure as part of the design
  • 00:27:03 – Getting started with a small project
  • 00:29:05 – Committing the spec files along with the code
  • 00:31:08 – What is steering?
  • 00:34:17 – How to get better at distilling specifications?
  • 00:38:59 – What are anti-patterns in spec-driven development?
  • 00:41:08 – Should you avoid third-party libraries?
  • 00:43:16 – Real Python Resource Spotlight
  • 00:44:39 – Getting started with Kiro
  • 00:51:00 – Neuro-symbolic AI
  • 00:55:41 – What are you excited about in the world of Python?
  • 00:58:36 – What do you want to learn next?
  • 01:00:18 – How can people follow your work online?
  • 01:00:57 – Thanks and goodbye

Show Links: