# 30: Eventually Lightning Strikes

- Show: [Embedded.fm](https://hardwarepodcasts.com/podcast/embedded-fm)
- Published: 2013-12-11
- Length: 56m
- Page: https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes
- Listen: https://makingembeddedsystems.libsyn.com/mes-ep30-mp3

## Summary

James Grenning, author of 'Test Driven Development for Embedded C' and founder of Renaissance Software, explains how TDD reduces bugs and improves design in embedded systems. He argues that manual testing is unsustainable because the cost of retesting grows exponentially, leading to hidden defects that cause late-stage failures. Grenning advocates for getting code off the target hardware to run on PCs using mocks and fakes, which forces modularity and allows engineers to build confidence before hardware is available. He emphasizes that TDD is not just about testing but about driving SOLID design principles, such as single responsibility, by making complex code difficult to test.

## Chapters

- [0:06](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=6) Introduction: James Grenning and Renaissance Software
- [2:56](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=176) TDD, Agile, and Extreme Programming History
- [6:33](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=393) The Cost of Retesting and Manual Testing Risks
- [14:23](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=863) Design for Testability vs. Test Driven Development
- [22:42](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=1362) Getting Code Off Target Hardware and Using Mocks
- [36:54](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=2214) SOLID Design Principles and Legacy Code Challenges
- [43:12](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes#t=2592) Convincing Teams and Managers to Adopt TDD

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Starting a product company](https://hardwarepodcasts.com/topic/starting-a-company)
- [Leadership, teams & culture](https://hardwarepodcasts.com/topic/leadership-and-culture)

## Most relevant to

early-stage companies

## Mentioned

- Renaissance Software (company)
- Test Driven Development for Embedded C (product)
- GitHub (other)
- SOLID (other)

## Related episodes from other shows

- [Development is Better when it's Test-Driven](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-02-16-development-is-better-when-its-test-driven) (The Pragmatic Embedded Podcast)
- [James Grenning on TDD](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2022-08-24-james-grenning-on-tdd) (The Pragmatic Embedded Podcast)
- [Writing Firmware without Hardware (featuring Matt Chernosky)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky) (The Pragmatic Embedded Podcast)
- [TDD for UI](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui) (The Pragmatic Embedded Podcast)
- [BDD with Steve Branam](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam) (The Pragmatic Embedded Podcast)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Embedded.fm.
