My notes from the DevOps Handbook

by Gene Kim, Jez Humble, Patrick Debois, John Willis

Adopt trunk based development

Our countermeasure to large batch sizes is to use continuous integration and trunk based development practices - check in code into trunk at least once per day. This frequency reduces our batch size performed by the team in a single day. The more frequently we check in into trunk, the closer we are to the theoretical single piece flow. Thus we can detect merge problems as they are small and easily fix them.

At the end of each development interval we have integrated, tested, working and shippable code, demonstrated in a production like environment, created from trunk using a one click process and validates with automated tests.

In six weeks that followed, the developers stopped doing any feature work to focus instead on writing automated tests, including unit tests, regression tests and getting the deployment pipeline running.

Trunk based development is likely to be the most controversial practice. Many engineers will not believe that it is possible.