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.
Links
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
Was this helpful?