The Agile Embedded Podcast cover image

The Agile Embedded Podcast

Latest episodes

undefined
Jun 25, 2025 • 46min

AI-augmented software development

Luca and Jeff dive into how AI tools can supercharge embedded development workflows. Luca shares his extensive hands-on experience, while Jeff brings a fresh perspective as someone just starting to incorporate these tools. They explore how AI can help with coding, testing, and debugging - while emphasizing that good software engineering judgment remains crucial. The conversation is particularly timely since AI tools are evolving rapidly, unlike their usually more "evergreen" podcast topics.A key insight they discuss is that while AI tools offer amazing productivity boosts (much like IDEs did), they're not replacing experienced developers anytime soon. However, they raise interesting questions about the future job market for junior developers. Their take? Modern developers should absolutely embrace AI tools, but use them thoughtfully - especially when learning.Key Timestamps and Topics:00:00:00 - Welcome and episode overview00:00:43 - Why this topic won't age well (but that's okay!)00:02:20 - Breaking down different AI coding tools00:08:00 - Deep dive into aider and workflow integration00:20:02 - Using AI for testing and test-driven development00:27:00 - AI-assisted architecture work and its limitations00:30:40 - How AI helps explore unfamiliar codebases00:33:30 - Debugging with AI - pros and cons00:38:50 - What this means for development jobs00:43:59 - Using AI to learn new frameworks/languages00:46:15 - Embedded Online Conference preview You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
Apr 24, 2025 • 16min

BONUS: Listener Question on Repository Organization

## Key Topics * [00:30] Introduction to the listener's question about repository granularity in embedded development* [01:15] The listener's approach: separate repositories for different work products in safety-critical industries* [03:20] Luca's initial reaction and concerns about over-complication* [05:45] Discussion of monorepo approaches and configuration management* [08:10] The concept of micro-repositories and parallels to microservices* [11:30] Using feature flags and CI pipelines instead of repository separation ## Notable Quotes > "You're splitting something which ought to be joined together into different repositories and hiding whatever is happening within the repositories from the different users, from the different developers." — Luca Ingianni > "The risk of course is that you will not spot divergence early enough because people just don't merge because it's a chore and because things might break, and of course that is the point - the earlier you notice that something breaks, the easier it will be to fix it." — Luca Ingianni > "I'm willing to guarantee that you're going to get the architecture wrong at least on the first try. You think you're being really smart and you cut it up into a bunch of microservices or micro-repositories, and you're just going to get the boundaries wrong." — Luca Ingianni > "I would opt for fewer repositories and rather do configuration management within the repositories as opposed to between repositories. Use feature flags, use tagging, use whatever you want to insulate changes that might be breaking from the rest of the code base." — Luca Ingianni ## Resources Mentioned * John Taylor's Embedded Project Cookbook - A resource mentioned by the listener that discusses sequential events in embedded projects* Trunk-Based Development - Development methodology discussed throughout the episode* Minimum CD Podcast - Previous podcast episode referenced by the listener   You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
Apr 23, 2025 • 47min

MinimumCD

The episode discusses the concept of Minimum Viable Continuous Delivery (Minimum CD), which represents a counter-movement to heavyweight frameworks like SAFe. The hosts explore how Minimum CD provides a set of essential practices for successfully building software-based products without unnecessary complexity. The approach focuses on core principles rather than rigid frameworks, making it particularly relevant for embedded systems development.The discussion covers the fundamental requirements for continuous delivery, including automated testing, pipeline-driven deployments, and trunk-based development. The hosts emphasize that while these practices may seem challenging for embedded systems, they become increasingly important as devices become more sophisticated and connected.A key theme throughout the episode is the importance of building trust in the development process through automation, consistent practices, and cultural commitment. The hosts stress that while some practices may seem difficult to implement in embedded systems, the more challenging they are, the more valuable they become when successfully implemented.Timestamps and Topics:00:00:00 - Introduction and overview of Minimum CD00:02:00 - Discussion of Minimum CD as counter-movement to complex frameworks00:03:45 - Continuous Integration fundamentals00:15:35 - Pipeline as the only way to deploy00:27:00 - Production-like test environments00:29:45 - Rollback capabilities for connected devices00:32:25 - Configuration deployment with artifacts00:34:50 - Trunk-based development principles00:39:30 - Automated testing requirements00:41:10 - Maintaining delivered work integrity00:45:55 - Wrap-up and closing thoughtsShownotes:Link to minimumcd.org: https://minimumcd.org/ Reference to Brian Finster as instigator of Minimum CD Reference to Raymond Chen's blog about Windows backward compatibility Reference to previous episode on trunk-based development Reference to interviews with Philip Johnston from Embedded Artistry Reference to interview with Francois from Mend Fault Link to Agile Embedded Slack group You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
15 snips
Apr 9, 2025 • 49min

Offensive Cybersecurity with Ryan Torvik

Ryan Torvik, Founder and CEO of Tulip Tree Technology, dives into the world of offensive cybersecurity and embedded system security. He shares his journey from defense contracting to vulnerability research, highlighting the emotional rollercoaster hackers face. Ryan emphasizes the necessity of integrating security from the start in firmware development. He discusses advanced techniques like Address Space Layout Randomization and the challenges small companies face without dedicated security staff. Plus, he offers resources for anyone looking to learn about cybersecurity and hacking.
undefined
Mar 26, 2025 • 56min

BDD with Steve Branam

Key Topics[02:30] Definition of BDD as an additional layer of discipline on top of TDD[03:15] Common pitfalls of TDD, including testing to implementation and brittle tests[08:30] The structure of BDD tests using Given-When-Then format[12:00] Applying BDD at different levels, from unit tests to system tests[15:45] Using test doubles and spies for hardware interactions in embedded systems[22:30] Testing state machines with BDD[27:00] Off-target testing and hardware abstraction layers[33:00] Why BDD isn't more widely used in embedded systems[36:30] Using code coverage as a signal rather than a goal metric[39:00] Overcoming the learning curve and maintaining discipline in BDDNotable Quotes"BDD is an additional layer of discipline on top of TDD. Dan North's goal was to get straight to the good stuff of TDD without getting into the pitfalls." — Steve"The key thing that BDD does by saying we're going to focus on behavior is you look at the API that you've written and you say, what can I do through the public API to affect this, to check the results and so forth?" — Steve"By having abstraction layers, you create your thin layer that's substitutable with either the real code on target, or with a test double off target." — Steve"Code coverage as a goal metric is not a good thing. Rather than using code coverage as just this almost dimensionless metric, use it as a signal to guide you." — Steve"By adhering very strictly to the simple rules of how to do BDD, by forcing yourself to the discipline of that strict adherence, it keeps you on track." — SteveResources MentionedJames Grenning's bookSteve's blog postEmbedded Online TalkIan Cooper's video You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
Mar 5, 2025 • 45min

John Taylor on the Embedded Systems Cookbook

John Taylor, an experienced embedded developer with over 30 years in microcontrollers and embedded Linux, discusses his new book, co-authored with Wayne Taylor. They explore practical techniques for embedded project development and emphasize the importance of blending waterfall structure with agile methodologies. Tailored for various roles, from junior developers to managers, the book encourages teams to adapt recipes for their unique challenges. John highlights the role of experience in engineering and the need for improved communication within teams.
undefined
Feb 19, 2025 • 51min

Trunk-based development

In this episode, Jeff and Luca discuss trunk-based development, a software development practice where developers merge their work into the main branch (trunk) frequently - at least daily. They explain how this approach differs from traditional branching models like GitFlow, and address common objections and concerns. The hosts emphasize that while trunk-based development may seem risky, it actually reduces risk by exposing integration problems early and forcing teams to implement good engineering practices like automated testing and feature flags.The discussion highlights how trunk-based development acts as a "forcing function" that encourages better development practices, smaller changes, and more frequent collaboration between team members. They explain that while this approach originated in web development, it's equally applicable to embedded systems. The hosts cite research from the book "Accelerate" showing that trunk-based development is a predictor of high-performing software teams.The episode concludes by emphasizing that most objections to trunk-based development actually point to underlying process issues that need to be addressed, and that the benefits of early integration and feedback outweigh the perceived downsides.Timestamps:00:00:00 - Introduction and topic overview00:03:00 - Basic version control concepts and branching00:08:00 - Definition and principles of trunk-based development00:13:00 - Feature flags explanation and implementation00:20:00 - Common objections to trunk-based development00:27:00 - Application to embedded systems00:34:00 - Benefits of trunk-based development00:40:00 - Impact on team dynamics and collaboration00:47:00 - Research backing and evidence from "Accelerate"Shownotes / Links:MinimumCD: https://minimumcd.org/Accelerate: https://www.goodreads.com/book/show/35747076-accelerateThe nvie branching model: https://nvie.com/posts/a-successful-git-branching-model/ You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
8 snips
Jan 15, 2025 • 44min

QP framework with Mitch English

Mitch English, Product Development Team Lead at Inertia, dives into the QP framework for embedded systems. He discusses his experience implementing QP in a medical device project, emphasizing its efficiency in managing complex state machines. The conversation covers event communication strategies, revealing how a shift to a publish-subscribe pattern could enhance flexibility. Mitch also highlights the importance of starting simple and gradually increasing complexity, and he underscores the QP framework's advantages over traditional solutions in real-time applications.
undefined
Dec 29, 2024 • 43min

2024 christmas special

https://youtu.be/Zwo1aTElfis You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click here 
undefined
Dec 11, 2024 • 43min

SAFe

Dive into the nuances of the Scaled Agile Framework, where experts unpack its role in large organizations transitioning to agile. Discover the complexities of managing dependencies and collaboration in industries like automotive. Learn how structuring product teams and utilizing release trains can drive success. Critics highlight the pitfalls of SAFe as a one-size-fits-all solution, advocating for customization instead. The conversation also touches on adaptable frameworks like Scrum and alternatives that prioritize value without rigid adherence.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app