To achieve continuous integration, we must fail fast faster… in fact,
let’s make that fail fast and fix faster. Here is what I mean by that…
Fail fast – deploy automated test tools and unit testing methodologies to get feedback on code progress.
Fix faster – at every step of the process, fix issues and fail forward. At the same time, re-inject code back to unit stage for clean automation regression. This creates spin loops and the organization determines how many spin loops are in play at any one time concurrently, based on tracking, monitoring and server load/optimization.
Once unit passes, code is automatically promoted to the integration build for integration test.
In parallel with this, code reviews are processing code for feature fit and readability for gold revision.
Once a revision set is triggered, the gold revision is to a continuous integration server for new acceptance, functional
and regression tests.
Upon passing, code is automatically deployed for beta testing, or parked for full feature suite.
Upon failing, code is triaged and combed for defect and artifact investigation and fix.
The Spin Loop and the Clean Build Cycle
The team decides the amount of spin desired for current theatre. All points in the process can produce spin to create revision for fail-fix or pass-promote. The system operates on at least 2 full spins that result in a clean, repeatable, zero touch revision launch candidate. The revision launch candidate can be cataloged and stored for purposes of product launch or update. The luanch decision is the policy of the delivery team, and varies based on product set and customer attention requirements.