Agile practices such as CI, CD and movements like DevOps are now more than ever relevant in the software industry. The software market, the business needs and the end users require always faster and faster releases and are not willing anymore to wait months or years for new features. The cited practices are meant to help organization in succeeding in the long term at satisfying the users requirements, claiming benefits in many aspects of the delivery process. Unfortunately, many companies while adopting more agile practices encounter challenges that may be difficult to overcome, sometimes requiring additional effort and organization restructuring. This thesis is inserted in a DevOps adoption context of a system integrator company, that tries to improve its delivery process making it smoother and introducing automation practices. The study was conducted as an ethnography, with the researcher joining the company for a period of six months working side-by-side with the people involved in the process. The company process was studied and analysed, finding the problems that slowed down the delivery process and planning subsequent practical improvements. During the implementations and the introduction of the new automation tools, the emerged challenges were recorded and studied and compared with the literature available. Moreover, metrics like lead time, build execution time and deploy frequency were measured before and after the changes. Finally, the gathered data was analysed and conclusion on the introduced benefits were drawn.

Al giorno d'oggi, pratiche agili come CI, CD e movimenti come DevOps, stanno diventanto sempre più rilevanti nel mondo del software. Il mercato del software e i suoi utilizzatori finali richiedono nuove versioni dei software sempre più velocemente, e non sono più disposti ad aspettare mesi o anni come invece avveniva in passato. Le pratiche agile sopra citate aiutano le aziende a soddisfare questi requisiti degli utenti finali, sostenendo benefici in molti aspetti del processo di rilascio del software. Purtroppo, molte aziende incontrano difficoltà non semplici da risolvere quando provano ad attuare queste pratiche, spesso richiedendo ristrutturazioni delle organizzazioni e tanto lavoro addizionale. Questa tesi è stata inserita in un contesto di adozione di pratiche DevOps, in una azienda systems integrator, che sta provando ad alleggerire il suo processo di rilascio e ad aggiungere pratiche di automazione. Lo studio è stato condotto come un etnografia, con lo studente che ha lavorato direttamente nell'azienda per un periodo di sei mesi. Il processo di rilascio è stato studiato e analizzato, con l'obiettivo di trovare i problemi che possono ostruire il processo di rilascio. Partendo da questi problemi, un piano di miglioramento è stato disegnato e implementato. Durante il lavoro pratico sono state analizzate e studiate le difficoltà incontrate e sono state confrontate con la letteratura disponibile. Inoltre, delle metriche come "lead time", tempo di esecuzione del processo di rilascio e frequenza dei rilasci sono state misurate sia prima sia dopo l'introduzione dei cambiamenti in ottica DevOps. I dati raccolti sono successivamente stati analizzati e delle conclusioni sui possibili benefici acclamati da DevOps sono state formulate.

Introducing DevOps automation tools in a systems integrator organization : a case study

CAPRARELLI, ALESSANDRO
2018/2019

Abstract

Agile practices such as CI, CD and movements like DevOps are now more than ever relevant in the software industry. The software market, the business needs and the end users require always faster and faster releases and are not willing anymore to wait months or years for new features. The cited practices are meant to help organization in succeeding in the long term at satisfying the users requirements, claiming benefits in many aspects of the delivery process. Unfortunately, many companies while adopting more agile practices encounter challenges that may be difficult to overcome, sometimes requiring additional effort and organization restructuring. This thesis is inserted in a DevOps adoption context of a system integrator company, that tries to improve its delivery process making it smoother and introducing automation practices. The study was conducted as an ethnography, with the researcher joining the company for a period of six months working side-by-side with the people involved in the process. The company process was studied and analysed, finding the problems that slowed down the delivery process and planning subsequent practical improvements. During the implementations and the introduction of the new automation tools, the emerged challenges were recorded and studied and compared with the literature available. Moreover, metrics like lead time, build execution time and deploy frequency were measured before and after the changes. Finally, the gathered data was analysed and conclusion on the introduced benefits were drawn.
TAMBURRI, DAMIAN ANDREW
ING - Scuola di Ingegneria Industriale e dell'Informazione
16-apr-2019
2018/2019
Al giorno d'oggi, pratiche agili come CI, CD e movimenti come DevOps, stanno diventanto sempre più rilevanti nel mondo del software. Il mercato del software e i suoi utilizzatori finali richiedono nuove versioni dei software sempre più velocemente, e non sono più disposti ad aspettare mesi o anni come invece avveniva in passato. Le pratiche agile sopra citate aiutano le aziende a soddisfare questi requisiti degli utenti finali, sostenendo benefici in molti aspetti del processo di rilascio del software. Purtroppo, molte aziende incontrano difficoltà non semplici da risolvere quando provano ad attuare queste pratiche, spesso richiedendo ristrutturazioni delle organizzazioni e tanto lavoro addizionale. Questa tesi è stata inserita in un contesto di adozione di pratiche DevOps, in una azienda systems integrator, che sta provando ad alleggerire il suo processo di rilascio e ad aggiungere pratiche di automazione. Lo studio è stato condotto come un etnografia, con lo studente che ha lavorato direttamente nell'azienda per un periodo di sei mesi. Il processo di rilascio è stato studiato e analizzato, con l'obiettivo di trovare i problemi che possono ostruire il processo di rilascio. Partendo da questi problemi, un piano di miglioramento è stato disegnato e implementato. Durante il lavoro pratico sono state analizzate e studiate le difficoltà incontrate e sono state confrontate con la letteratura disponibile. Inoltre, delle metriche come "lead time", tempo di esecuzione del processo di rilascio e frequenza dei rilasci sono state misurate sia prima sia dopo l'introduzione dei cambiamenti in ottica DevOps. I dati raccolti sono successivamente stati analizzati e delle conclusioni sui possibili benefici acclamati da DevOps sono state formulate.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Tesi_Alessandro-Caprarelli.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 1.12 MB
Formato Adobe PDF
1.12 MB Adobe PDF   Visualizza/Apri
AlessandroCaprarelli_04-04-2019.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 1.12 MB
Formato Adobe PDF
1.12 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/147918