Continuous Integration: automatizza i processi e riduci i bug

Intervista a Michele Orselli

«One of the interesting things about Continuous Integration is how often people are surprised by the impact that it has!»

Migliorare la qualità del software e ridurre gli errori: è possibile, da dove si comincia?

L’abbiamo chiesto in un’intervista a Michele Orselli: ecco cosa ci ha risposto! 🙂

Avanscoperta: Michele Orselli, Software Engineer e CTO di Ideato: quali sono state le tappe più importanti nel tuo percorso professionale?

Michele Orselli: Durante l’università ho cominciato a sviluppare applicazioni web lavorando ai primi progetti come freelance.
Nel 2008 sono entrato nell’allora appena fondata Ideato – mentre concludevo la laurea specialistica – dove mi sono avvicinato alle metodologie agili, all’eXtreme Programming.
Dal 2013 ricopro il ruolo di CTO, occupandomi delle scelte tecnologiche e della gestione del team di sviluppo.

Avanscoperta: Rapidità e qualità: paradosso o realtà nello sviluppo software di oggi?

Michele Orselli: Nel nostro settore, molto attivo e competitivo, il time to market gioca un ruolo fondamentale.
“Ieri” è la data di consegna che i clienti hanno sempre in mente.

La cosa preoccupante è che spesso si sacrifica la qualità pensando di guadagnare in velocità di sviluppo, quando invece accade l’esatto opposto: feature incomplete, bug, tempi di sviluppo dilatati per interventi semplici sono i sintomi tipici di questa situazione.

Avanscoperta: Quali vantaggi hai osservato dall’introduzione della Continuous Integration nei progetti sui quali hai lavorato o sui quali stai lavorando?

Michele Orselli: Due fondamentali, secondo me: una maggior visibilità sullo stato di un progetto e una riduzione generale dei rischi collegati allo sviluppo ed al deploy del software.
La CI “forza” ad automatizzare i processi, diminuendo le possibilità di errore e riducendo i bug.

I server di CI, testando ogni commit, eliminano la famigerata frase “sulla mia macchina funzionava” che usiamo come salvagente quando qualcosa va storto.

Avanscoperta: Quali sono le principali difficoltà durante una transizione?

Michele Orselli: Probabilmente concretizzare i vari concetti come: testing, automazione, migrazione dei dati in un “walking skeleton” sul quale poi andare a lavorare in maniera incrementale.
In questo senso un aiuto da chi ha già dimestichezza con queste tematiche può essere molto utile.

Avanscoperta: Cosa c’è di veramente diverso nella Continuous Integration?

Michele Orselli: Le pratiche dietro alla CI consentono di affrontare lo sviluppo software in maniera organizzata.
Come professionisti al giorno d’oggi non è pensabile portare avanti un progetto senza l’utilizzo di queste pratiche.

Avanscoperta: A settembre terrai a Bologna il tuo workshop Pratiche di Continuous Integration: cosa ci si deve aspettare da 8 di formazione sul tema e come risponderesti alla domanda “Cosa mi porto a casa?”.

Michele Orselli: Due cose.
La prima: costruiremo il processo a partire da zero, assestandoci su problemi reali. Quanto realizzato in aula, non sarà molto diverso da quanto ci servirà per la nostra produzione.
La seconda: avremo una visione d’insieme degli strumenti da mettere in campo ma anche degli ostacoli che potremmo incontrare lungo il percorso.

Avanscoperta: Letture consigliate sul tema Continuous Integration?

Michele Orselli: Continuous Integration: Improving Software Quality and Reducing Risk è la bibbia della Continuous Integration.
Nonostante il testo non sia recente rimane il punto di riferimento sull’argomento, anche se alcuni concetti sono stati superati.

Avanscoperta: Grazie Michele, ci vediamo a Bologna! 😉

La lista completa dei nostri corsi: Avanscoperta Workshops.