This page is part of my personal knowledge database, that helps me to store and navigate my learnings.
Read on here for details

Continuous Integration Practices

Processes that run often will have a tendency to take on efficient shapes. Let them! If they don’t: look for the systemic problems counteracting / preventing it. Good Continuous Integration Practices are:

  1. Integrate at high frequency
    • Rarely used processes are even rarer efficient or safe; more often they are manual, associated with fear and poorly understood
    • High frequency integration - as a necessary precondition for High Frequency Deployment - enforces quality of all related Automation Pipelines (testing, build, then deploy, …)
  2. Avoid code conflicts, a form of Technical Debt
    • Having per-developer / per-task branches does not work in highly collaborative environments; code conflicts arise as a function of: <concurrent branches> * <branch lifetime>
    • Using Trunk Based Workflow minimizes code conflicts; there are no branches, there is little to no merge effort
  3. Give fast feedback
    • Fast Feedback Loops performance - that is time to feedback, e.g. time from commit, to build, to test - is a significant factor on developer performance