• Trunk-based development

  • Feb 19 2025
  • Length: 51 mins
  • Podcast

Trunk-based development

  • Summary

  • In this episode, Jeff and Luca discuss trunk-based development, a software development practice where developers merge their work into the main branch (trunk) frequently - at least daily. They explain how this approach differs from traditional branching models like GitFlow, and address common objections and concerns. The hosts emphasize that while trunk-based development may seem risky, it actually reduces risk by exposing integration problems early and forcing teams to implement good engineering practices like automated testing and feature flags.

    The discussion highlights how trunk-based development acts as a "forcing function" that encourages better development practices, smaller changes, and more frequent collaboration between team members. They explain that while this approach originated in web development, it's equally applicable to embedded systems. The hosts cite research from the book "Accelerate" showing that trunk-based development is a predictor of high-performing software teams.

    The episode concludes by emphasizing that most objections to trunk-based development actually point to underlying process issues that need to be addressed, and that the benefits of early integration and feedback outweigh the perceived downsides.

    Timestamps:
    00:00:00 - Introduction and topic overview
    00:03:00 - Basic version control concepts and branching
    00:08:00 - Definition and principles of trunk-based development
    00:13:00 - Feature flags explanation and implementation
    00:20:00 - Common objections to trunk-based development
    00:27:00 - Application to embedded systems
    00:34:00 - Benefits of trunk-based development
    00:40:00 - Impact on team dynamics and collaboration
    00:47:00 - Research backing and evidence from "Accelerate"

    Shownotes / Links:
    MinimumCD: https://minimumcd.org/
    Accelerate: https://www.goodreads.com/book/show/35747076-accelerate
    The nvie branching model: https://nvie.com/posts/a-successful-git-branching-model/

    You can find Jeff at https://jeffgable.com.
    You can find Luca at https://luca.engineer.

    Want to join the agile Embedded Slack? Click here

    Show more Show less
adbl_web_global_use_to_activate_webcro768_stickypopup

What listeners say about Trunk-based development

Average customer ratings

Reviews - Please select the tabs below to change the source of reviews.