PLAY PODCASTS
Moving Towards Spec-Driven Development
Episode 277

Moving Towards Spec-Driven Development

The Real Python Podcast · Real Python

December 19, 20251h 1m

Audio is streamed directly from the publisher (dts.podtrac.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

<p>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.</p> <p>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.</p> <p>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. </p> <div class="alert alert-primary" role="alert"> <p><strong>Real Python Resource Spotlight:</strong> <a href="https://realpython.com/learning-paths/coding-with-ai/">Python Coding With AI - Learning Path</a></p> <p>Explore tools and workflows for AI in Python: coding partners, prompt engineering, RAG, ChromaDB, FastAPI chatbots, and MCP integrations. Stay current and start today.</p> </div> <p>Topics:</p> <ul> <li>00:00:00 &ndash; Introduction</li> <li>00:02:41 &ndash; How did you get involved in open source?</li> <li>00:07:23 &ndash; How would you describe spec-driven development?</li> <li>00:10:49 &ndash; Balancing the desire to start coding with defining the project</li> <li>00:13:06 &ndash; What does this documentation look like?</li> <li>00:18:27 &ndash; Declarative vs imperative programming</li> <li>00:24:13 &ndash; Infrastructure as part of the design</li> <li>00:27:03 &ndash; Getting started with a small project</li> <li>00:29:05 &ndash; Committing the spec files along with the code</li> <li>00:31:08 &ndash; What is steering?</li> <li>00:34:17 &ndash; How to get better at distilling specifications?</li> <li>00:38:59 &ndash; What are anti-patterns in spec-driven development?</li> <li>00:41:08 &ndash; Should you avoid third-party libraries?</li> <li>00:43:16 &ndash; Real Python Resource Spotlight </li> <li>00:44:39 &ndash; Getting started with Kiro</li> <li>00:51:00 &ndash; Neuro-symbolic AI</li> <li>00:55:41 &ndash; What are you excited about in the world of Python?</li> <li>00:58:36 &ndash; What do you want to learn next?</li> <li>01:00:18 &ndash; How can people follow your work online?</li> <li>01:00:57 &ndash; Thanks and goodbye</li> </ul> <p>Show Links:</p> <ul> <li><a href="https://kiro.dev/blog/kiro-and-the-future-of-software-development/">Kiro and the future of AI spec-driven software development - Kiro</a></li> <li><a href="https://brooker.co.za/blog/">Marc Brooker&rsquo;s Blog - Marc&rsquo;s Blog</a></li> <li><a href="https://kiro.dev/">Kiro: The AI IDE for prototype to production</a></li> <li><a href="https://www.youtube.com/watch?v=OdD9eLiRRVo&amp;t=1s">Beyond Prompts: The Future of AI-Assisted Development | Marc Brooker - YouTube</a></li> <li><a href="https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html">Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl</a></li> <li><a href="https://en.wikipedia.org/wiki/Declarative_programming">Declarative programming - Wikipedia</a></li> <li><a href="https://cucumber.io/docs/bdd/">Behaviour-Driven Development - Cucumber</a></li> <li><a href="https://kiro.dev/docs/steering/">Steering - Docs - Kiro</a></li> <li><a href="https://kiro.dev/docs/specs/best-practices/">Best practices - Docs - Kiro</a></li> <li><a href="https://kiro.dev/cli/">CLI - Kiro</a></li> <li><a href="https://kiro.dev/blog/property-based-testing/">Does your code match your spec? - Kiro</a></li> <li><a href="https://www.fastcompany.com/91446331/amazon-byron-cook-ai-artificial-intelligence-automated-reasoning-neurosymbolic-hallucination-logic">Amazon takes on AI&rsquo;s biggest nightmare: Hallucinations - Fast Company</a></li> <li><a href="https://en.wikipedia.org/wiki/Neuro-symbolic_AI">Neuro-symbolic AI - Wikipedia</a></li> <li><a href="https://marmelab.com/blog/2025/11/12/spec-driven-development-waterfall-strikes-back.html">Spec-Driven Development: The Waterfall Strikes Back</a></li> <li><a href="https://en.wikipedia.org/wiki/G-code">G-code - Wikipedia</a></li> <li><a href="https://x.com/MarcJBrooker">Marc Brooker (@MarcJBrooker) / X</a></li> <li><a href="https://fediscience.org/@marcbrooker">Marc Brooker (@[email protected])</a></li> <li><a href="https://www.linkedin.com/in/marc-brooker-b431772b/">Marc Brooker - LinkedIn</a></li> </ul> <p>Level up your Python skills with our expert-led courses:</p> <ul> <li><a href="https://realpython.com/courses/getting-started-claude-code/">Getting Started With Claude Code</a></li> <li><a href="https://realpython.com/courses/first-steps-langchain/">First Steps With LangChain</a></li> <li><a href="https://realpython.com/courses/build-neural-network-python-ai/">Building a Neural Network &amp; Making Predictions With Python AI</a></li> </ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast &amp; join our community of Pythonistas</a></p>