Technical Debt in Embedded Systems Development

The Pragmatic Embedded Podcast · 8 Jun 2021 · 33m

What this episode covers

Jeff Gable and Luca engineer discuss technical debt in embedded systems, defining it as trading present velocity for future maintainability. They identify specific forms of debt, including poor hardware abstraction, untracked hardware revisions, and the lack of automated testing. The hosts argue that while prototyping may justify debt, safety-critical products require rigorous refactoring and visible tracking of these issues to avoid slowing down development teams.

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 05m

    53: Being a Grownup Engineer (Repeat)

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and 'The Embedded Systems Dictionary', argues that embedded software development has failed to adopt true engineering discipline, relying on 'heroics' rather than process. He cites the Toyota unintended acceleration case, where Michael Barr identified 11,000 global variables, as evidence of the catastrophic costs of poor software practices. Ganssle advocates for rigorous requirements gathering, static analysis tools like LDRA and Spark, and metrics-driven benchmarking to reduce debugging time and improve code quality. He contrasts this disciplined approach with the 'hacker' and 'maker' cultures, emphasizing that safety-critical systems require proven processes rather than ad-hoc coding.

  • Embedded.fm · 1h 23m

    440: Condemned to Being Perfect

    Elecia White and Chris White host a crossover episode with Jeff Gable and Luca Ingianni of the Agile Embedded podcast to debate the application of Agile principles to embedded systems. The group discusses redefining Agile as 'risk management through feedback loops' rather than rigid Scrum, and explores the challenges of scaling these practices in large enterprises versus small teams. They also tackle specific technical debates, including the role of unit testing, the definition of Minimum Viable Products (MVPs) for hardware, and the necessity of documentation in regulated industries like medical devices.

  • Embedded.fm · 53m

    16: Democracy Is the Worst Form of Government

    Curtis Cole, a veteran embedded systems engineer and former VP of Engineering at Leapfrog, argues that Agile methodologies like Scrum and Test-Driven Development (TDD) are effective for embedded software when adapted to hardware constraints. He explains how user stories, sprints, and story points allow teams to manage unknown requirements and deliver incremental, usable prototypes without compromising the final product's stability. Cole emphasizes that Agile is merely a process tool; success depends on hiring skilled engineers who prioritize quality, testing, and modular design over mere speed.

  • Embedded.fm · 1h 06m

    191: What, Yogurt!?!

    Hosts Elecia White and Christopher White answer listener emails, covering topics from I2C pitfalls and RTOS choices to advice for students and engineers dealing with legacy code. They discuss the 'March Micro Madness' dev kit tournament, automation in embedded testing, and the challenges of refactoring a 60,000-line monolithic codebase. The episode also includes career advice for undergraduates and a discussion on short stories.

  • Embedded.fm · 1h 31m

    245: Tell Me How People Hurt You

    Stephen Craig and Parker Dillmann of Macrofab join Alicia and Christopher White to discuss the friction between hardware and software engineers. They debate the definition of embedded systems, the merits of PIC vs. ARM microcontrollers, and the critical importance of reading schematics and using standardized footprints to avoid costly design errors.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Pragmatic Embedded Podcast. The episode itself belongs to its publisher.