Scrum Master Toolbox Podcast: AI Assisted Coding
Episode Title: AI Assisted Coding: Augmented AI Development – Software Engineering First, AI Second With Dawid Dahl
Host: Vasco Duarte
Guest: Dawid Dahl, Software Engineer & Creator of AID (Augmented AI Development)
Date: November 26, 2025
Episode Overview
This episode dives deep into the emerging field of AI-assisted software development—specifically focusing on Augmented AI Development (AID), the disciplined approach created by guest Dawid Dahl. The conversation contrasts "vibe coding"—a hands-off approach to AI-generated code—with AID's philosophy: software engineering principles and human understanding must lead, with AI serving as a powerful assistant within deliberate workflows. Dawid shares insights from his journey, the foundation for AID, and perspectives on the future of AI's role in professional software engineering.
Key Discussion Points & Insights
1. Defining Augmented AI Development (AID) and Its Distinction from Vibe Coding
-
AID: A structured, software engineering–first approach to integrating AI in the development workflow; emphasizes architectural control and best practices.
-
Vibe Coding: The popular but risky practice of using AI tools to produce code with minimal human intervention or understanding—focused only on visible results, not code quality or maintainability.
-
Dawid’s “Test”: Dawid describes how he rigorously tested early AI tools like ChatGPT, using intentionally novel and odd tasks (outside the training set) to see whether they could collaborate and perform genuine reasoning—revealing the shift in AI’s potential for true code collaboration (06:45).
"It kind of hit me, like, boom. Now we have entered a new kind of era. This is going to be a new industrial revolution almost."
— Dawid, (04:19)
2. AID Framework: Core Principles
-
Core Principles:
- "Don't abandon your brain" – Developers must maintain deep understanding of what the AI produces (13:09).
- Incremental steps – Work should proceed in small, controlled increments, always keeping human oversight in the loop.
"You need to know your things to do this right. Two of the fundamental developer principles for AID: first is don't abandon your brain, and the second is incremental steps."
— Dawid, (13:09) -
Contrast with Vibe Coding: “Vibe coding” is on one edge of a spectrum—focused on output, not code structure or quality; AID is on the opposite, professional, highly engaged end.
3. Building on Software Engineering Wisdom, Not Just AI Trends
-
Software Engineering First: AID is deliberately built atop best practices—Test Driven Development (TDD), Behavior Driven Development (BDD), etc.—rather than bolting them onto AI-driven experimentation after the fact.
"You should start with software engineering wisdom and then only add AI where it's actually appropriate. I think this is super, super important and the entire foundation of this framework."
— Dawid, (15:17) -
Test-Driven AI Collaboration:
- Emphasis on writing tests (unit, acceptance/BDD) before implementation, even with AI in the loop.
- This is in contrast to frameworks like “Speckit” that focus on generating specs with AI but may downplay or omit automated testing, resulting in untested, unreliable software (18:38).
4. Comparison with Other Frameworks: Speckit and Taskmaster
-
Problems Identified:
- Over-engineered, process-centric, and often lacking grounding in actual software development realities.
- Rely on AI marking tasks as “done” without robust, automated definitions of done or testing infrastructure.
- Susceptible to missing steps and creating technical debt.
"In Spec Kit and other frameworks, there is no definition of done. The AI can just randomly decide that it's done... I want to stand on the shoulders of giants and work on top of what has already been done."
— Vasco & Dawid, (22:31, 19:29)
5. Product Discovery and Specification: The Prerequisite (Separation of Concerns)
-
AID Starts at Coding and Testing: Assumes that product discovery and specification have been completed before coding with AI begins (27:03).
-
Separate Framework for Discovery: Dawid is developing a separate “Dream Encoder” AI-powered framework for the discovery/specification phase.
"AID framework starts at the executable specification, code and test, and working software part, the later stage of that [product] journey."
— Dawid, (25:45)
6. Automation, Boring Stuff, and the Limits of AI
-
Automate Deterministic, Repetitive Tasks with Scripts:
- AI is not reliable on tasks requiring 100% consistency (the “boring” stuff).
- Use scripts for repetitive, deterministic tasks; use AI for ideation or structuring unstructured data (28:09).
-
AI’s Sweet Spot:
- Best leveraged for augmenting design, explaining ideas, and generating tests.
- Human oversight is vital for maintaining software quality and reliability.
"AI is really good at doing exactly the things that we think we were the ones doing it. And AI is really bad at doing the things that we think we would offload to AI."
— Vasco, (29:10)
7. TDD, ATDD/BDD: Why Both are Critical
-
TDD as a design and maintainability tool—ensures technical correctness and easy changeability.
-
Acceptance/BDD as a business functionality validator—confirms system is releasable and meets stakeholder needs.
-
Both are needed for robust, production-grade software—AID uses both as foundations.
"You need both of these practices to develop production-grade software because TDD makes the code good... Acceptance test to actually test that the software is... performing according to what the business or client wants."
— Dawid, (34:01)
8. Future Trends and Vision for AI-Augmented Software Engineering
-
Two Futures:
- Magic Agents (Vibe): Cloud-based agents autonomously coding for hours with little oversight—dangerous and high-risk, likely to introduce technical debt.
- Incremental Augmentation (AID Way): Developers guide and review small, manageable increments—AI gets better, but feedback remains rapid and under human control (38:26–40:16).
"I call it the prompt and pray approach. You tell it just do this for me and make no mistakes. And then it comes back after two hours and it's just chaos."
— Dawid, (39:56) -
Long-Term Vision:
- Workflow becomes “yes/no, refactor”—small confirmations, all code reviewable and incrementally built.
- Fast feedback, small batches—aligned with best practices (41:00).
- AI’s role is to augment, never supersede, the developer’s judgment.
Memorable Quotes & Notable Moments
-
On the industrial shift in AI coding:
"Now we have entered a new kind of era. This is going to be a new industrial revolution almost..."
— Dawid, (04:19) -
On professional responsibility:
"Don't abandon your brain. That's the opposite of Vibe coding, right?"
— Dawid, (13:09) -
On testing discipline:
"The big problem about task list–driven frameworks... is that the AI decides when it's done, but how is the AI taking that decision? It's totally ad hoc."
— Dawid, (22:17) -
On what teams should do before AI:
"The first thing I think developers should do is to learn the fundamentals. They should just skip AI altogether and learn about BDD and TDD."
— Dawid, (41:25)
Key Timestamps
- 01:25 – Introduction to Dawid Dahl and AID.
- 04:19 – The “aha!” moment: AI can follow business logic and collaborate.
- 13:09 – Principles of AID: “Don’t abandon your brain”; incremental steps.
- 15:17 – Building AID on software engineering wisdom, not just AI innovation.
- 18:38 – Critique of other frameworks (Speckit, Taskmaster); need for “definition of done.”
- 25:45 – Importance of prerequisite product discovery/specification.
- 27:03 – Dawid developing a separate AI-first framework for discovery (“Dream Encoder”).
- 29:10 – Where AI should be used: ideation, not boilerplate or mission-critical automation.
- 34:01 – Need for both TDD and ATDD/BDD: technical and functional correctness.
- 38:26–40:16 – Two visions for the future of AI-driven development; AID’s preferred path.
- 41:12 – Importance of small increments, fast feedback (DORA alignment).
- 41:25 – Resources for learning more about AID, TDD, and BDD.
Resources & Links Mentioned
- Dawid Dahl’s AID Framework: Article and repo ([see show notes in the podcast episode])
- Dave Farley: YouTube channel, online courses on TDD, acceptance tests, and software design
- Onboarding for AID: A “gentle” onboarding flow in the AID repo docs (game/level-based introduction)
- Recommended first steps: Learn BDD and TDD fundamentals before diving into AID or other AI frameworks
Where to Find Dawid Dahl
- [AID Repo on GitHub] (see show notes)
- [Dawid Dahl on LinkedIn] (see show notes)
- Open to conversations/collaboration about AI, software craftsmanship, and agile development
Conclusion
This episode offers a thoughtful, experience-driven perspective on how AI can successfully augment, not replace, disciplined software engineering. The AID approach insists on strong human oversight, test-driven workflows, and incremental, reviewable progress—standing in stark contrast to hands-off “vibe coding.” For professionals seeking to responsibly harness AI in their development practice, the conversation offers both philosophical guidance and practical steps.
