Accelerate the Book

The Pragmatic Embedded Podcast · 18 Sept 2024 · 45m

What this episode covers

Hosts Jeff Gable and Luca Ingianni discuss applying principles from the book 'Accelerate' by Nicole Forsgren, Jez Humble, and Gene Kim to embedded systems development. They analyze DORA metrics (delivery lead time, deployment frequency, time to restore service, change fail rate) and 24 organizational capabilities, noting how they translate to hardware-constrained environments. The conversation covers the challenges of applying continuous delivery to non-networked devices, the importance of version controlling toolchains, and the need for loosely coupled architectures and empowered cross-functional teams in embedded engineering.

Mentioned

Companies
Memfault
Tools
Jenkins, Docker
Also
Accelerate, Nicole Forsgren, Jez Humble, Gene Kim, DORA, Phoenix Project

Other shows on the same ground, closest first.

  • 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 03m

    53: Being a Grownup Engineer

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and long-time embedded industry expert, argues that firmware engineers must adopt disciplined engineering practices rather than relying on 'heroic' hacking. He discusses the necessity of requirements gathering, design reviews, code inspections, and rigorous testing to ensure safety and reliability, citing the Toyota unintended acceleration case as a failure of process. Ganssle advocates for measuring metrics like bug rates and lines of code to benchmark performance, and critiques the misuse of Linux in deeply embedded systems and the confusion between the maker movement and professional engineering.

  • 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 · 57m

    109: Resurrection of Extreme Programming (Repeat)

    James Grenning, founder of Wingman Software and author of 'TDD for Embedded C', discusses the resurgence of Extreme Programming and Test-Driven Development (TDD) for embedded engineers. He explains how TDD prevents bugs and improves code quality, contrasting it with the micromanagement often associated with modern Scrum. Grenning also details his methods for teaching TDD, including the use of CyberDojo for remote training and 'Training from the Back of the Room' techniques to engage students.

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.