The Matthew Test with Matthew Eshleman - Part 2

The Pragmatic Embedded Podcast · 9 Aug 2022 · 32m

What this episode covers

Matthew Eshleman, founder of Cove Mountain Software, joins Jeff Gable and Luca Engineer to discuss Part 2 of his 'Matthew Test,' a framework for better embedded software. They cover the balance between upfront design and agile development, the importance of Test-Driven Development (TDD) in C/C++, and the value of investing in high-quality engineering tools. The conversation also addresses hiring practices, realistic scheduling under business constraints, peer code reviews, and the role of dedicated QA teams in preventing bugs.

Most relevant to

established companies

Topics

Mentioned

Companies
Cove Mountain Software, Throw the Switch, Toshiba, Best Buy
Products
Unity
Also
Joel Spolski, James Grenning, Test Driven Development for Embedded C, Jack Anzell

Other shows on the same ground, closest first.

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

    30: Eventually Lightning Strikes (Repeat)

    James Grenning, author of 'Test-Driven Development for Embedded C' and founder of Renaissance Software, explains how Test-Driven Development (TDD) improves embedded software engineering by enabling developers to write portable, modular code before hardware is available. He argues that TDD forces early design decisions, such as modularity and interface segregation, which reduces integration bugs and allows engineers to test logic on a PC rather than waiting for target hardware. Grenning also discusses his teaching methodology, emphasizing that engineers should experience TDD themselves to understand its value in reducing late-stage debugging and managing legacy code.

  • 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.

  • Embedded.fm · 57m

    109: Resurrection of Extreme Programming

    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 predictability, contrasting it with 'debug later' practices, and details his use of CyberDojo and WebEx to deliver remote training. Grenning also critiques modern Scrum for focusing on management cycles while neglecting technical excellence, advocating for the original engineering-focused practices of Extreme Programming.

  • Embedded.fm · 1h 10m

    270: Broccoli Is Good Too

    James Grenning, author of 'Test Driven Development for Embedded C' and founder of Wingman Software, discusses the philosophy and practice of Test Driven Development (TDD) for embedded systems. He explains how TDD reduces debugging time by enforcing small, verifiable steps and using techniques like 'ZOMBIES' to defer complex decisions. Grenning also shares insights from a recent side project involving a Synapse Wireless mesh network for industrial water pressure monitoring, illustrating how to handle hardware uncertainty through experimentation and loose coupling.

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.