Trunk based development

  • all developers work on a single branch (e.g. 'main').

Why

  • Speed and Efficiency

  • Greater Code Stability

  • Enhanced Team Collaboration

  • Improved Continuous Integration and Delivery (CI/CD) Practices

  • Reduced Technical Debt

  • Reduces the risk of introducing bugs

  • Makes it easy to fix and deploy code quickly

  • Allows asynchronous code reviews

  • Allows comprehensive automated testing

Disadvantages

  • Increases the risk of bug creation since regression testing doesn't happen on every merge

  • Requires developers to wait for changes to go through test processes and automated builds before merging

  • Requires more manual effort to maintain the core trunk

Barriers

  • culture

  • The need for Code Review.

  • A cultural assumption that you only commit (to master/trunk) when work is complete.

  • A lack of confidence in automated tests.

  • https://trunkbaseddevelopment.com/

  • https://medium.com/@mattia.battiston/why-i-love-trunk-based-development-641fcf0b94a0

  • https://trishagee.com/2023/05/29/why-i-prefer-trunk-based-development/

  • https://www.davefarley.net/?p=269

  • https://www.ben-morris.com/why-trunk-based-development-isnt-for-everybody/

Last updated