di: Giorgio Mandolini 20 Gennaio 2012
La Continuous Ingetration, in breve CI, è una pratica di sviluppo software nella quale i membri di un team integrano il proprio lavoro frequentemente, almeno una volta al giorno, con lo scopo di individuare subito eventuali problemi ed avere un software rilasciabile in tempi brevi.
L'obiettivo principale della CI è quello di evitare il cosiddetto integration hell, ossia il caso limite in cui ciascun membro del team si trova ad integrare il proprio lavoro con quello altrui solamente a sviluppo completato.
Questo processo rischia di diventare, come suggerisce il nome, un inferno: i bug ed imprevisti sono per definizione non predicibili, non sappiamo a priori quanti ce ne sono, né possiamo sapere quanto tempo ci voglia a risolverli. Avete mai sentito dire qualcuno "prevedo 10 bug in questo progetto ?", ne dubito :-)
Come possiamo pretendere, allora, di stimare un tempo di integrazione a fine progetto, quando non abbiamo nemmeno una predizione a livello locale dei problemi emersi ? Siamo finiti nel tunnel: la scadenza è sempre più vicina, lo sviluppo è terminato e non abbiamo idea di quando il software sarà correttamente funzionante, anche se tecnicamente "è finito".
Lo stress nel team aumenta con l’avvicinarsi della deadline: si rimane in ufficio fino a tardi per fixare e debuggare, con il rischio che la stanchezza ed il malumore accumulati portino inevitabilmente all’introduzione di nuovi bug per risolvere quelli precedenti.
Tutto questo non ci piace, ma la CI ci viene in aiuto, cercando di prevenire il disastro più che risolverlo. Il concetto chiave è infatti quello di spostare il momento dell'integrazione: non più alla fine del processo di sviluppo, ma inserirlo all'interno di esso. Da quanto detto, il perché di "Continuous": rendere questo processo continuo permette di individuare subito gli errori, con il vantaggio che molto probabilmente saranno poco gravi. Effettuare piccoli cambiamenti di codice ed integrarli subito significa dover correggere al più bug recenti e non interi moduli software, con il risultato di avere in qualsiasi momento un software già integrato.
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |