<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=43543&amp;fmt=gif">

6 step per implementare la metodologia DevOps in azienda

18/12/17 14.46 Posted by Giulio Covassi - No Comments

6 STEP PER IMPLEMENTARE LA METODOLOGIA DEVOPS IN AZIENDA1 (1).png

L’implementazione delle pratiche DevOps può accelerare in modo significativo le software release e allo stesso tempo garantire la creazione di applicazioni dagli elevati standard qualitativi. La metodologia DevOps non può però essere acquistata, incorporata o semplicemente dichiarata come “modello di riferimento”. Se la tua azienda sta quindi considerando di implementare tale metodo, di seguito abbiamo individuato sei step che ti permetteranno di compiere quest’importante transizione con successo.

La comprensione del modo ottimale per lavorare in modo Agile ed offrire rapidamente servizi ai clienti senza compromettere la qualità, continua ad essere una delle maggiori sfide del nostro settore, ma grazie alla nostra pluriennale esperienza nella Consulenza DevOps con clienti appartenenti a svariati settori, ci sentiamo di potervi dare dei consigli che riteniamo fondamentali per abbracciare il “cambiamento” verso il DevOps in modo efficace.

1. Abbraccia la mentalità DevOps

L’implementazione della metodologia DevOps non inizia semplicemente affermando "Facciamo DevOps" ed iniziando ad utilizzarne i relativi strumenti. Tutta la tua organizzazione dovrà avere una chiara comprensione di cosa sia il DevOps, di quali bisogni di business tale metodo soddisfi, e soprattutto, tutti devono essere disposti a cambiare il modo in cui le cose sono sempre state fatte.

Come iniziare quindi, nella pratica? Un primo approccio che consigliamo consiste nell’identificazione dei flussi di valore delle applicazioni correnti, ovvero le attività che conducono i prodotti dalla fase di sviluppo a quella di produzione. È importante comprendere se all’interno di questo processo ci sono vincoli, colli di bottiglia o blocchi per potersi concentrare sul relativo miglioramento.

L’identificazione di eventuali aree di inefficienza del processo di delivery dev’essere colta come l’opportunità per attuare il cambiamento. Per fare ciò, l’azienda e il team di riferimento dev’essere però disposto a sperimentare: il fallimento a breve termine è infatti da considerare, a patto che sia fonte di insegnamento e miglioramento.

Un ottimo punto di partenza per arrivare a ciò potrà poi essere incoraggiare l’organizzazione a porsi domande come: "Perché facciamo questo [processo]? Qual è il suo valore commerciale? Come possiamo renderlo più efficiente? "

Le organizzazioni spesso identificano inoltre il DevOps con l'automazione. Mentre l'automazione può aiutare ad accelerare i processi manuali, la metodologia DevOps è fondamentalmente basata sulla collaborazione e sulla comunicazione. Se non si adottano solide pratiche di comunicazione e collaborazione tra gli attori che collaborano allo sviluppo software (in particolare nelle fasi di testing, delivery e nelle operations) l'automazione dei processi non produrrà i vantaggi aziendali desiderati.

2. Ottieni il massimo dalle metriche

metriche-sviluppo-software-devops.png

Una delle iniziative più trascurate nell'adozione di DevOps è la selezione delle metriche giuste per registrare e monitorare i progressi. È infatti fondamentale nella fase iniziale stabilire delle metriche DevOps legate agli obiettivi di business che definiscano la linea da seguire e non aver paura di misurare dei dati che inizialmente potrebbero non sembrare positivi. Secondo la nostra esperienza, queste sono alcune tra le più utili metriche DevOps:

  • Tasso di fallimento della produzione: la frequenza con cui il software non riesce ad andare in produzione durante un determinato periodo di tempo
  • Tempo medio di recupero: quanto tempo impiega un'applicazione in produzione per il ripristino di un errore
  • Tempo medio di realizzazione: quanto tempo occorre per la creazione, la verifica, la consegna e l'implementazione di un nuovo requisito in produzione
  • Velocità di sviluppo: la velocità con cui è possibile sviluppare una nuova versione di un'applicazione in un particolare ambiente (ambienti di integrazione, test, di gestione temporanea, pre-produzione o produzione)
  • Frequenza di sviluppo: la frequenza con cui si sviluppano nuove release che vengono selezionate per gli ambienti di test, di staging, di pre-produzione e di produzione
  • Tempo medio di produzione: quanto tempo occorre affinchè un nuovo codice, una volta committato all’interno di un repository, venga distribuito in produzione.

Dopo aver determinato le metriche da misurare e aver identificato lo stato attuale in cui si trova la tua azienda, consigliamo di fissare degli obiettivi per ogni metrica in modo che il team sappia cosa cercare. È importantissimo condividere costantemente obiettivi, metriche e progressi fatti con tutte le persone coinvolte. Raggiungere alti livelli di trasparenza è spesso difficile, ma è fondamentale per garantire una comunicazione e una collaborazione più efficaci, abbattendo le barriere tra i team Dev e Ops coinvolti nel processo.

 3. Cerca la soluzione alle tue esigenze specifiche

Ogni organizzazione percorre un DevOps journey unico, legato al proprio business e alla propria cultura specifici, e quel viaggio sarà incentrato sul cambiamento delle abitudini e dei modelli di comunicazione delle persone e sugli strumenti con cui implementare le diverse pratiche.
L’utilizzo dell’metodologia DevOps accelera la creazione e l'erogazione di software di qualità, ma ha successo solo se focalizzata sui reali bisogni della singola organizzazione. Ad esempio, se per i tuoi clienti non ha senso installare da dieci a venti aggiornamenti del tuo prodotto ogni giorno, non fare di questo il tuo obiettivo! Concentrati piuttosto sul miglioramento dell'usabilità, della sicurezza o di qualche altro attributo chiave del tuo applicativo al quale il tuo cliente si preoccupa di più.

Le soluzioni che consentono di implementare le pratiche DevOps sono tantissime, ed è importante focalizzarsi sulle specifiche necessità aziendali e sulle caratteristiche dei singoli software. Per agevolare la ricerca, di seguito vogliamo citarvi le principali pratiche e le soluzioni che noi consigliamo per adottarle al meglio:

4. Adotta il DevOps in modo iterativo

Nella fase iniziale, consigliamo di non implementare subito un'iniziativa DevOps completa a livello aziendale. È preferibile piuttosto identificare un progetto pilota, formare un team DevOps interfunzionale che includa dev, test e operation, esaminare il flusso di valore per determinare inefficienze e creare una pipeline di distribuzione iniziale che risolva alcuni dei vincoli di processo. Misura il progresso e il successo, risolvi gli errori, ricomincia e ripeti il tutto.

sviluppo-software-iterativo.jpg

È consigliabile prima di tutto affrontare le maggiori inefficienze del flusso di valore, in quanto ciò avrà il maggiore impatto sul business. Alcune di queste saranno facili da risolvere, mentre per altre ci vorrà più tempo, soprattutto se prevedono cambiamenti di processo da implementare nei team.

Assicuratevi che le persone coinvolte siano influencer che possano riportare i principi appresi ai rispettivi team; mantenere tutta la tua esperienza racchiusa nel tuo progetto pilota non ti aiuterà a diffondere efficacemente la metodologia in azienda.

5. Dai valore fin dall’inizio al controllo qualità

Spesso le aziende che vogliono implementare la metodologia DevOps concentrano i loro sforzi sull'automazione dello sviluppo, trascurando le necessità del controllo qualità.
Sebbene implementando il DevOps sia impossibile automatizzare tutti i test, è fondamentale automatizzare quelli eseguiti come parte del processo di continuous integration, nonché tutti i test eseguiti nel processo di delivery. Spesso è possibile automatizzare almeno alcuni test funzionali e non funzionali associati a sicurezza, prestazioni e altre caratteristiche di qualità per accelerare queste attività.

6. Adotta un approccio Smart all’automazione 

L'automazione è la chiave di volta per accelerare i processi di delivery, e tutto quello che essa coinvolge (infrastruttura, ambiente, configurazione, piattaforma, build, test, processo, ecc…) dev’essere definito sotto forma di codice. Se qualche processo richiede molto tempo o è soggetto a errori o interruzioni, sottoponi prima questo all'automazione: ciò ridurrà i tempi di consegna, aumenterà la ripetibilità ed eliminerà ritardi di configurazione.

Standardizza il tuo approccio all'automazione per garantire a developers, operation e QA, una cornice comune di riferimento ed un linguaggio comune. La qualità dell’automazione è fondamentale per garantire la qualità della tua applicazione. 

Possiamo a questo punto affermare che l’implementazione della Metodologia DevOps e delle sue pratiche richiede molto impegno, tempo e disciplina. In base alla nostra esperienza però, le aziende che seguiranno i punti sopra citati, avranno la giusta base per affrontare il DevOps journey con successo. L’aiuto di un Partner DevOps esperto può inoltre aiutare, guidare ed abilitare la trasformazione, rendendola più rapida e diretta agli obiettivi aziendali e di business attraverso la scelta delle migliori tecnologie e l’implementazione delle stesse.

Cerchi una panoramica dei migliori Tool per migliorare il tuo sviluppo applicativo? Scopri la nostra Guida Gratuita su “I migliori Tool DevOps per la Digital Transformation”:

Guida-Migliori-Tool-DevOps-per-la-Digital-Transformation

Fonte: 6 Steps to a Successful DevOps Adoption by Alan Crouch https://www.agileconnection.com/article/6-steps-successful-devops-adoption 

Agile, Devops