Continuous Integration / Continuous Deployment (CICD) has become in vogue and that’s a good thing. However, many companies are in a challenging position to implement CICD right away. The first thing to realize is that “integration errors” are not errors in integration, but rather errors in communication between the people building the parts being integrated. That is, during integration they discover that the way they had anticipated putting their code together doesn’t work. It’s not that the code was integrated incorrectly.
Avoiding “integration errors” and the thrashing involved in it can be facilitated by:
Be able to have efficient releases
When we release should be a business decision. Releasing is often constrained, however, by the cost of adequate testing or the lack of proper environments. The inability to release quickly is a symptom of other issues that need to be dealt with. These agreements must be simple, clear and provide guidance. We have discovered that six are sufficient. We call these “guardrails” because as long as people are following them they can do what they want within their guidance.”