Introduzione

Il mondo e il mercato sono sempre più veloci, i concorrenti lavorano meglio e più rapidamente e i clienti sono più esigenti. Questi cambiamenti influenzano soprattutto le aziende che sviluppano software, per le quali non è semplice restare al passo con tutte le modifiche richieste a livello giornaliero. Per questo, in questi anni è diventato sempre più importante riuscire a velocizzare i rilasci delle applicazioni e, dal 2009 ad oggi, DevOps è sempre più conosciuto e importante sia in Italia che all’estero.

Cosa significa DevOps?

Il termine “DevOps” deriva dalla fusione di Developer e Operation, ed è una metodologia che sostiene il rapporto di collaborazione che deve esistere tra il team di sviluppo e di IT operations.

Lo scopo è realizzare un unico flusso di lavoro, che deve essere sia pianificato inizialmente, che rapido in ogni momento successivo. Il problema che riesce a risolvere DevOps è avvicinare il più possibile gli sviluppatori e i sistemisti. Questi due team, infatti, hanno punti di vista completamente differenti sui medesimi problemi che si trovano a risolvere, perché mentre gli sviluppatori hanno l’obiettivo di creare nuovi prodotti, i sistemisti sono rivolti verso quality assurance, testing e configurazione.

Questo significa che molte volte non è semplice fare in modo che i due team collaborino bene insieme, e che riescano ad aiutarsi a vicenda per un unico obiettivo comune. Il valore aggiunto che la metodologia DevOps vuole dare alle aziende è proprio quella di una maggior collaborazione, che porta a migliorare le intere performance e garantire una maggior soddisfazione dei clienti.

Come funziona?

DevOps è prima di tutto un modo di pensare ed agire, che si ripercuote in tutti i processi interni aziendali. Una bella definizione che riesce a cogliere questo concetto è: “DevOps è una Community di practiche multidisciplinare dedita all’apprendimento e alla realizzazione, evoluzione e esercizio di sistemi resilienti in rapido cambiamento”.

Definire il funzionamento di DevOps in poche parole è molto difficile, per questo è utile spiegarlo con i tre principi che stanno alla base della collaborazione del team di Operation e Development durante tutto il processo che porta la progettazione del software fino al suo sviluppo e al supporto in produzione:

  • System Thinking, secondo il quale è più importante la performance dell’intero sistema piuttosto che le singole performance dei dipartimenti;
  • Amplify Feedback Loops, che sottolinea l’importanza del feedback continuo dagli Operation verso i Developers;
  • Culture of Continual Experimentation and Learning, per cui sperimentare continuamente è uno dei fondamenti del successo.