16: Democracy Is the Worst Form of Government

Embedded.fm · 28 Aug 2013 · 53m

What this episode covers

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.

Mentioned

Companies
Leapfrog
Products
iPhone, iPad
Also
James Grenning, Steve Jobs

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 50m

    Agile at Growing Hardware Startups with Matt Cole

    Matt Cole, Director of Embedded Systems at Rise Robotics and formerly of Super Pedestrian, explains how he applied agile principles to embedded software development at a growing hardware startup. He details the challenges of integrating firmware updates for e-scooters, managing parallel hardware and software teams, and navigating supply chain crises that forced reactive engineering. Cole emphasizes the importance of treating the engineering team as a customer to improve tooling and process efficiency while maintaining safety and quality.

  • The Pragmatic Embedded Podcast · 36m

    Development is Better when it's Test-Driven

    Jeff Gable, an embedded software consultant, explains his practice of Test-Driven Development (TDD) to host Luca Ingianni, arguing that writing failing unit tests before application code forces good architecture and high coverage. Gable details how this discipline decouples embedded application logic from hardware-specific drivers, allowing tests to run on the host machine for rapid feedback rather than slow target flashing. He addresses the common industry resistance to TDD in embedded systems, citing the initial learning curve and the need for coaching, while recommending resources like the 'Throw the Switch' video courses and tools such as Unity, CMock, and Ceedling. The conversation concludes by framing TDD as an artistic craft of storytelling through code, emphasizing that the practice builds confidence and prevents regressions in production-quality software.

  • The Pragmatic Embedded Podcast · 36m

    How to Get Started

    Jeff Gable and Luca Ingianni discuss how engineering teams can transition from traditional methods to agile development in embedded systems. They outline a three-layered approach starting with tactical technical practices like version control and continuous integration to establish reliable feedback loops. The conversation emphasizes using these quick wins to build trust and demonstrate value before expanding into project management practices like sprints and user stories, ultimately aiming to improve team culture and product quality.

  • The Pragmatic Embedded Podcast · 27m

    Agile is Old-Fashioned Engineering

    Jeff Gable and Luca argue that Agile is not a new software fad but rather 'old-fashioned engineering' principles like rapid prototyping and feedback loops that have always existed in fields like aeronautics. They cite Lockheed Skunk Works and the Apollo program as historical examples of iterative development, contrasting them with the 'waterfall' illusion often forced onto embedded systems. The hosts discuss how embedded teams can apply these principles by decoupling software and hardware iteration cycles through hardware abstraction layers and simulators to reduce friction.

  • The Pragmatic Embedded Podcast · 39m

    Christmas Special

    Hosts Jeff Gable and Luca share war stories from their careers in embedded systems, highlighting the pain of manual testing in helicopter avionics, the chaos of managing requirements with Word and Excel in Dropbox for medical devices, and the technical debt of massive #ifdef blocks in legacy machine tool software. They discuss the industry's slow adoption of modern software practices like version control and CI/CD, contrasting embedded development with web development standards. The episode concludes with book recommendations including 'The Phoenix Project' and 'Team Topologies', and reflections on the future of IoT security and agile adoption in hardware.

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