
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 – Introduction</li>
<li>00:02:41 – How did you get involved in open source?</li>
<li>00:07:23 – How would you describe spec-driven development?</li>
<li>00:10:49 – Balancing the desire to start coding with defining the project</li>
<li>00:13:06 – What does this documentation look like?</li>
<li>00:18:27 – Declarative vs imperative programming</li>
<li>00:24:13 – Infrastructure as part of the design</li>
<li>00:27:03 – Getting started with a small project</li>
<li>00:29:05 – Committing the spec files along with the code</li>
<li>00:31:08 – What is steering?</li>
<li>00:34:17 – How to get better at distilling specifications?</li>
<li>00:38:59 – What are anti-patterns in spec-driven development?</li>
<li>00:41:08 – Should you avoid third-party libraries?</li>
<li>00:43:16 – Real Python Resource Spotlight </li>
<li>00:44:39 – Getting started with Kiro</li>
<li>00:51:00 – Neuro-symbolic AI</li>
<li>00:55:41 – What are you excited about in the world of Python?</li>
<li>00:58:36 – What do you want to learn next?</li>
<li>01:00:18 – How can people follow your work online?</li>
<li>01:00:57 – 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’s Blog - Marc’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&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’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 & Making Predictions With Python AI</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>