Sviluppo del software: La metodologia DevOps

Sviluppo del software: La metodologia DevOps

DevOps, abbreviazione dei termini in inglese di “Development” e “Operations”, che indicano rispettivamente lo “sviluppo” e la “messa in produzione” di un prodotto software, è un approccio basato su principi “lean” e “agili”, grazie ai quali viene facilitata la comunicazione tra un’azienda e i dipartimenti da cui è composta, come sviluppo, produzione e controllo qualità. Il termine “lean”, tradotto in italiano con “snello”, si riferisce ad una filosofia che mira a minimizzare gli sprechi di risorse fino ad annullarli. L’obiettivo è quello di reagire in modo rapido ai cambiamenti del mercato e rispondere in maniera tempestiva alle esigenze degli utenti, analizzando in maniera continua i loro feedback.
Dei benefici che comporta DevOps non ne risentirà soltanto l’azienda, ma anche i clienti, fornitori e partner. Quindi non è solo una capacità IT, ma un vero e proprio processo di business.
Con la metodologia DevOps bisogna investire in tre aree principali:

  1. Rispondere velocemente alle esigenze dei clienti.
    Offrendo una migliore “customer experience”, differenziata e avvincente, costruisce la fedeltà del cliente e fa crescere la fetta di mercato posseduta dall’azienda. Per fare ciò, bisogna continuamente ottenere e rispondere ai feedback del cliente, attraverso un meccanismo che li acquisisca in maniera semplice e veloce, partendo dall’inizio del processo, passando per lo sviluppo e continuando dopo la messa in produzione.
  2. Aumentare la capacità per innovare.
    Le aziende moderne usano degli approcci “lean”, cioè snelli, che mirano a minimizzare gli sprechi di risorse, per migliorare la loro capacità di innovare. Il loro obiettivo è quello di eliminare lavoro inutile dal sistema ed evitare di eseguire una stessa operazione più volte. Ad esempio, una tecnica comune che sfrutta questo principio prende il nome di “A-B testing”, con la quale, in generale, un’azienda chiede ad un piccolo gruppo di utenti di testare diverse versioni di un software. La versione migliore sarà messa in produzione, le altre eliminate.
  3. Fare valutazioni in tempi più rapidi.
    Eseguire quest’attività necessita di sviluppare una cultura che coinvolga pratiche e processi automatici che consentano velocità, efficienza e affidabilità. DevOps, quando è adottato come una capacità di business, fornisce gli strumenti e la cultura richiesta per pianificare e prevedere qualsiasi tipo di scenario, aprendo la strada verso il successo. Il metodo con cui devono essere eseguite queste valutazioni varia a seconda dell’azienda e del progetto, ma l’obiettivo di DevOps è quello di ottenerle in maniera rapida, efficace ed efficiente.
Sviluppo del software - La metodologia DevOps
Sviluppo del software – La metodologia DevOps

Il movimento DevOps ha prodotto diversi principi che si sono sviluppati nel tempo e stanno ancora evolvendo. Di seguito ne descriviamo i principali:

1. Sviluppare e testare il software in un ambiente simile a quello di produzione.

L’obiettivo è quello di consentire ai team di sviluppo e controllo qualità di sviluppare e testare il software in un ambiente analogo a quello di produzione, in modo da valutare il comportamento dell’applicazione prima di effettuare il deploy, ovvero prima di installarla all’interno di un sistema informatico aziendale. Dal punto di vista dei team di Operativi, ciò ha un valore inestimabile, in quanto loro sapranno già come si comporta l’applicazione in produzione, e potranno supportarla nel migliore dei modi.

2. Deploy con processi ripetibili e affidabili.

Questo principio consente ai team di Sviluppo e Operativi di eseguire il processo di sviluppo del software in maniera iterativa lungo tutto il suo percorso fino alla messa in produzione. L’automazione è essenziale per creare processi che sono iterativi, frequenti, ripetibili e affidabili. Quindi l’azienda deve creare una “Delivery Pipeline”, la quale consente di eseguire test e deploy in modo continuo e automatico. Ciò consente inoltre ai team di testare il processo stesso, diminuendo in tal modo il rischio di fallimenti quando viene rilasciato il prodotto software.

3. Controllo della qualità.

Le aziende tipicamente dispongono di ottime applicazioni e sistemi che catturano informazioni in tempo reale, ma lo fanno in maniera discontinua. Questo principio serve a monitorare tutte le fasi di ogni processo tramite test automatizzati, monitorando le caratteristiche funzionali e non funzionali di un’applicazione. Un controllo frequente consente di risolvere i problemi che potrebbero verificarsi in produzione. Perciò, è opportuno che il formato con cui sono raccolti questi dati sia comprensibile ad ogni stakeholder, ovvero ad ogni attore coinvolto nel processo di business.

4. Catturare i feedback degli utenti in modo frequente.

Un obiettivo di DevOps è quello di consentire alle aziende di reagire e fare cambiamenti in modo rapido. Per fare ciò, bisogna ottenere i feedback in maniera rapida, creando un canale di comunicazione che consenta a tutti gli stakeholder di accedere e reagire tempestivamente sul feedback ricevuto. Ad esempio:

  • Il team di sviluppo aggiusta i suoi piani o le priorità sul progetto.
  • Il team operativo migliora l‘ambiente di produzione.
  • I dirigenti modificano le strategie di business e i piani di rilascio del software.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

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