Le tre fasi di sviluppo, controllo e produzione non si estinguono in un unico processo, ma sono costantemente interconnesse tra loro: il prodotto quindi attraversa continuamente queste singole fasi e viene sempre migliorato. Con un gran numero di clienti non si può più fare a meno dell’automatizzazione: ed è qui che si inserisce la Continuous Delivery, che automatizza l’intero processo.
Grazie alla Continuous Delivery è possibile testare in tempo reale ogni elaborazione ed estensione del software (praticamente ogni modifica apportata al codice sorgente), raccogliendo così feedback costanti, utili a individuare i problemi e risolverli già nelle prime fasi di sviluppo. Un sistema molto pratico per stabilire in modo tempestivo quale parte del codice ha causato un bug: senza la Continuous Delivery la ricerca del problema potrebbe diventare davvero dispendiosa.
Prima del rilascio al cliente, il software attraversa nel suo stadio intermedio la pipeline diContinuous Delivery: in questa fase vengono effettuati test sia automatici che manuali. Ogni fase di test prevede una nuova versione del software (per lo più definita come “versione beta”, a volte anche come “nightly build”, cioè una versione generata durante la nottata) che passa attraverso la pipeline. Solo quando tutti i test sono stati superati con un feedback positivo viene creata una versione “stabile” (“stable”) e il prodotto viene ufficialmente pubblicato (questo processo come anche la stessa applicazione rilasciata viene chiamato “release”). La probabilità che il cliente riceva un prodotto senza errori è molto alta.