Removing Integration Delays with Collocated Whole Teams and Multi-stage CI
As individuals we work in transient isolation to reduce the impact of work in progress on each other. Organizations isolate WIP by using only official versions of 3pty sources and by producing official releases for customers.
Multi-stage continuous integration (MSCI) scales CI to large distributed environments by isolating work in progress at the team level. Changes move from individual to team to mainline as fast as CI allows, but stop on failure.
MSCI is particularly important in a distributed environment where fixes to problems exposed by CI can be delayed by a full day.
- The link between distributed development, collocated whole teams, and CI
- How and why continuous integration breaks down exponentially with the number of engineers
- How to avoid the bottleneck of a one-CI-at-a-time environment, especially in a distributed environment
- How and why continuous integration can move the problem of having one large inventory to having many smaller inventories
- How to apply the isolation principal at the team level without creating inventory
- How to prepare for and implement MSCI in a distributed environment
- How MSCI has been applied in large Agile shops, including a 40 scrum team shop running 50+ concurrent CIs across 4 stages