Che cos’è il DevOps?

È difficile dare una definizione esatta di cosa sia il DevOps, perché non esiste. DevOps è una filosofia che guida lo sviluppo del software, che dà la priorità alle persone rispetto ai processi e ai processi rispetto agli strumenti. DevOps crea una cultura di fiducia, collaborazione e miglioramento continuo.

Se ne parla tanto, è diventato un argomento cool… ma alla fin fine, che cos’è il DevOps? È l’aspetto culturale di questa pratica il concetto più importante, la filosofia del DevOps vede il processo di sviluppo in modo olistico, tenendo conto di tutte le persone coinvolte: sviluppatori, tester, addetti alle operazioni, sicurezza e ingegneri dell’infrastruttura.

DevOps non mette nessuno di questi gruppi al di sopra degli altri, né classifica l’importanza del loro lavoro. Un’azienda DevOps deve trattare l’intero team di ingegneri come fondamentale al fine di garantire la migliore esperienza possibile al proprio cliente.

DevOps come l’evoluzione dei processi Agile

Quando si adottano tecniche di sviluppo Agile non si è tenuti ad aderire ai requisiti originali o a seguire un flusso di lavoro di sviluppo lineare in cui ogni team trasmette il lavoro al successivo. Si è invece in grado di adattarsi alle esigenze in continua evoluzione dell’azienda o del mercato, e talvolta anche alla tecnologia e agli strumenti in evoluzione. Sebbene questa metodologia sia rivoluzionaria per lo sviluppo del software in molti modi, non è del tutto esente dal conflitto tra sviluppatori e specialisti delle operazioni. I silos sviluppati attorno a set di competenze tecniche e specialità ci sono ancora e gli sviluppatori devono ancora consegnare il codice alle persone operative per la distribuzione ed il supporto.

È attorno alle frustrazioni derivanti dal costante conflitto tra sviluppatori e addetti alle operazioni che il concetto di DevOps si è sviluppato; un’evoluzione di Agile che ha permesso alle aziende di tutto il mondo di produrre software migliore e più velocemente (e di solito più economico).

DevOps si concentra sulle persone.

Chiunque dica che DevOps è tutto incentrato sugli strumenti vuole venderti qualcosa. Sopra ogni altra cosa, DevOps è una filosofia che si concentra sugli ingegneri e su come possono lavorare meglio insieme per produrre un ottimo software. Potresti spendere milioni per ogni strumento DevOps del mondo e non essere minimamente vicino ai concetti DevOps di base.

Invece, è importante concentrarsi sul capitale umano dell’azienda, gli ingegneri, perché Ingegneri felici fanno un ottimo software.

Ma come si fa a rendere felici gli ingegneri?

Creando un ambiente di lavoro collaborativo in cui il rispetto reciproco, la conoscenza condivisa e il riconoscimento del duro lavoro possono prosperare. DevOps è un approccio culturale. Alla base di tutto vi è la cultura aziendale che ha una grandissima influenza sulla soddisfazione, sul lavoro, sulla produttività e sulla velocità dei team più di quanto probabilmente ci si rendi conto.

La cultura aziendale è meglio descritta come le aspettative, il comportamento e i valori non detti di un’organizzazione.

La cultura aziendale è qualcosa da progettare e raffinare, non qualcosa da lasciare al caso.

E sebbene la definizione effettiva vari da azienda a azienda e da persona a persona, DevOps è un approccio culturale all’ingegneria del software al suo interno.

Con DevOps, eviti la colpa, fai crescere la fiducia e ti concentri sul cliente, perché i team sono eterogenei e hanno una visione olistica di tutto il processo, dallo sviluppo al deploy, dal monitoraggio alla pianificazione, lavorando fianco a fianco con il fine comune di rilasciare una soluzione completa e non con l’obiettivo limitante di completare solo il proprio task assegnato.

Piccole modifiche incrementali non hanno prezzo in DevOps.

Il DevOps viene sempre presentato utilizzando il simbolo dell’infinito perché è proprio quest’aspetto che enfatizza l’importanza di apportare continue piccole modifiche ed incrementi al proprio processo, cercando una produzione snella, un feedback accelerato, un miglioramento continuo ed un time-to-market sempre più rapido.

Le trasformazioni DevOps: una metafora.

L’acqua è una buona metafora per le trasformazioni DevOps. L’acqua è uno degli elementi più potenti del mondo. A meno che non stiamo guardando acque tempestose, l’idea che ne abbiamo, è di un elemento relativamente innocuo ma allo stesso tempo molto potente che nel corso di milioni di anni, seppur lentamente, è in grado di tagliare la pietra e modificare paesaggi.

Apportare modifiche incrementali in un processo DevOps, che ristabilisce calma e appiana conflitti, deve essere proprio come l’acqua che scava la roccia, si trova un problema, lo si risolve tutti assieme con l’apporto degli sviluppatori e degli addetti alle operazioni e, solo dopo, si passa al prossimo.

Non si affronta tutto assieme e non si affronta tutto con la fretta di trovare una soluzione, a volte si capisce che alcuni cambiamenti non valgono l’energia o il capitale che possono costare.

In definitiva, DevOps non è un elenco di passaggi che puoi intraprendere, ma è piuttosto un approccio che dovrebbe guidare le decisioni che prendi durante lo sviluppo.

E tu come la pensi?
Pensavi fosse solo un insieme di tools di cui dotarti?

Vuoi saperne di più? CONTATTACI.

Per restare aggiornati sulle nostre iniziative iscriviti a Logbook, la newsletter di BlueIT


Ph: AltumCode on Unsplash

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *