release management per non addetti ai lavori

10

Upload: kalos-bonasia

Post on 05-Apr-2017

82 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: release management per non addetti ai lavori
Page 2: release management per non addetti ai lavori

integrazione continuasviluppo, test e rilascio per non addetti ai lavori

Page 3: release management per non addetti ai lavori

il problema: integration hell

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

Page 4: release management per non addetti ai lavori

il tunnel (senza uscita ?)

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”

Page 5: release management per non addetti ai lavori

"Il software funzionante accompagnato da una documentazione completa"

Insieme, questi principi creano una solida base per il processo di integrazione continua (Continuous integration) del software.

Due dei quattro principi chiave dello sviluppo agile del software sono

“Rispondere al cambiamento seguendo un piano"

È il momento di dire addio alle pianificazioni “waterfall” (a cascata) rappresentate con favolosi diagrammi di Gantt o enormi fogli di calcolo

Page 6: release management per non addetti ai lavori

uscire dal tunnel: integrazione continua

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.

il processo di rilascio deve essere affidabile e coerente e il successo dipende molto dalla squadra di persone che collaborano per la sopravvivenza del prodotto.

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.

Page 7: release management per non addetti ai lavori

come lavoriamo

Nella fase di pianificazione, tipicamenteun processo di rilascio è costituito da: 30 issue per sprint, 12 epic nel backlog e 10/12 major contributors per release.

Page 8: release management per non addetti ai lavori

mantenere la rotta (... come lavoriamo)

gli sprint durano in media 10 giorni e al termine circa il 73% delle issue (ticket) risulta completato

Page 9: release management per non addetti ai lavori

integrazione continua = “controllo continuo”

“Non inviare codice difettoso e non scaricarlo !”

integrazione continua significa anche necessariamente controllo continuo sul processo

se la una build privata non è funzionante, il codice difettoso non va assolutamente inviato al repository

uno degli scopi principali della CI è quellodi avere sempre disponibile un software funzionante e rilasciabile in produzione

Page 10: release management per non addetti ai lavori

pro e contro

la Continuous Integration è innanzitutto una pratica

e non il semplice utilizzo di strumenti

è quindi necessario accettare un’inevitabile curva di apprendimento

tanto più ripida quanto più le competenze del team sono lontane dai concetti appena illustrati.