Per favore, ruota il tuo smartphone.

RELEASE MANAGEMENT: COS’È LA GESTIONE DEI RILASCI E I BENEFICI CHE COMPORTA PER L’AZIENDA

release_eng2@4x

Il release management (in italiano gestione dei rilasci) è la pratica che coordina tutte lefasi dello sviluppo di un software, integrando tecniche Agile e DevOps. 

La trasformazione digitale ha cambiato nel profondo il modo di operare delle imprese sul mercato, al punto che oggi il software occupa un ruolo cruciale in qualunque attività di business. Adeguarsi ai cicli di produzione rapidi è una delle sfide più complesse per un’azienda, che deve far fronte alla pressione competitiva e differenziare i propri prodotti e servizi, migliorando di continuo la qualità, le funzionalità e l’esperienza utente delle applicazioni. Il release management viene in aiuto di queste necessità e semplifica buona parte degli aspetti operativi legati allo sviluppo con un unico processo ben documentato. Quest’ultimo approccio semplifica lo sviluppo prodotto e ad un incremento del livello di know-how della squadra, che potrà contare su basi di conoscenza solide per i progetti futuri.

All’interno di un’organizzazione IT, le pratiche di release management hanno l’obiettivo di controllare e presidiare tutti i processi di gestionepianificazioneecontrollo nell’ambito del ciclo di sviluppo software (SDLC – software development lifecycle). Questo include progettazione, pianificazione, fasi di sviluppo, testing e include la distribuzione delle versioni nei diversi ambienti in cui potrebbe essere avviato il software.  

Perché investire sulla gestione dei rilasci? 

Senza un’efficace gestione dei rilasci, le organizzazioni possono incorrere in sprechi di diversa natura: tra i principali le risorse sottoutilizzate e il dare erroneamente precedenza a funzionalità a basso impatto. 
L’allineamento della squadra, rispetto al quadro generale del progetto, dà all’impresa la possibilità di ottenere un importante vantaggio competitivo. 
 
I rilasci di una piccola azienda possono consistere in singole applicazioni e brevi flussi di valore. Tenere traccia dello stato del rilascio e di qualsiasi pianificazione risulta, quindi, abbastanza semplice. 
Con l’aumentare della complessità dell’azienda, le sue versioni crescono in modo commisurato in termini di numero, dimensioni e portata. Lavorare ad una nuova versione di un software di grandi dimensioni può avere più flussi di valore interdipendenti. La pianificazione deve essere coordinata tra dozzine di persone, risorse e ambienti di test senza influire su altre versioni simultanee. 

Che team sono coinvolti nella gestione dei rilasci?

 I principali team che cooperano tra loro nel processo di gestione dei rilasci sono: 

  • Team operativo: ne fanno parte tutte le figure che si occupano dell’organizzazione, pianificazione e supervisione del progetto. Release Manager e Project Manager fanno parte di questo gruppo. 
  • Team di progetto: è composto principalmente da sviluppatori back-end e front-end e da tutti i professionisti che partecipano in maniera pratica alla produzione dell’applicativo.  
  • Team DevOps: team interfunzionale che ha come obiettivo quello di rendere più veloci i cicli di sviluppo e rilascio in modo tale da aumentare affidabilità e sicurezza. 
  • Quality Assurance (QA): questo team rimuove eventuali bug e assicura di consegnare una soluzione in linea con le specifiche di progetto. 

I benefici a livello di velocità ed efficienza ottenuti consentono all’intera squadra di produrre applicativi di qualità con tempi di rilascio brevi e rendono l’azienda più sensibile e reattiva ai cambiamenti del mercato

Come si crea un sistema di gestione dei rilasci? 

Il flusso organizzativo del release management si divide in 4 fasi: 

  • pianificazione 
  • building e versionamento 
  • testing  
  • distribuzione.  

Spiegheremo, in breve, i dettagli di ogni passaggio:  

1. Pianificazione 
La prima fase potrebbe essere tra le più lunghe: è qui che l’intero progetto viene strutturato dall’inizio alla fine. Un piano di rilascio solido e ben scandito permette al team di garantire che gli standard e i requisiti siano adeguatamente soddisfatti.  
In questa fase, dovrebbe esserci una chiara comprensione di quali funzionalità e/o storie utente saranno incluse nel progetto e dovrebbe essere valutato anche il profilo di rischio del rilascio, dal rischio di conformità e sicurezza al rischio di down time.  
 
2. Building e versionamento 
Una volta conclusa la fase di pianificazione, si passa alla stesura del codice sorgente e alla costruzione di una prima build, ovvero una prima versione eseguibile del software. È quindi il momento di sottoporre la build a test di scenari reali. Questo potrebbe richiedere diverse iterazioni. Man mano che il team crea il prodotto, questo viene inviato a un ambiente di test. Ciò consente alla squadra di identificare eventuali bug o problemi che potrebbero sorgere in un ambiente reale. Quando vengono identificati i problemi, la build viene rimandata al gruppo di sviluppo.  All’interno del processo di gestione del rilascio, il lavoro può scorrere dalla fase due alla fase tre e viceversa fino all’approvazione del rilascio. 

3. Testing 
Il test di accettazione dell’utente, noto anche come UAT (dall’inglese User acceptance testing), è tra i più importanti e consiste nel dare agli utenti finali l’utilizzo del prodotto per raccogliere feedback. Il software viene spesso distribuito come prova beta gratuita o condiviso con un gruppo più ampio di dipendenti all’interno dell’azienda stessa. È un passaggio cruciale per la gestione delle versioni poiché permette di raccogliere una grande quantità di dati. Quando vengono identificati i bug, il gruppo di produzione torna al lavoro per risolvere i problemi e riprogettare la build per una maggiore integrità. La build deve superare la fase UAT per essere presa in considerazione per l’implementazione e il rilascio finali.  
Durante un’ultima revisione, la squadra di Quality Assurance condurrà i controlli finali per garantire che la build soddisfi gli standard minimi accettabili e i requisiti aziendali delineati nel piano di rilascio.  

4. Distribuzione 
In questa fase la build viene mandata in produzione. La fase di distribuzione include anche un’eventuale formazione sul prodotto per l’utente finale, difatti gli utenti dovrebbero essere informati delle modifiche con il rilascio e di come operare all’interno delle nuove funzionalità. Ciò è particolarmente importante per le versioni interne, in cui i dipendenti che utilizzano il software devono comprenderlo per svolgere il proprio lavoro in modo efficiente.  
È importante, inoltre, raccogliere dati per capire come migliorare la build nelle versioni future. “L’applicativo risponde alle esigenze aziendali identificate all’inizio?” “L’adozione da parte degli utenti soddisfa le aspettative?” 

Chi è il release manager? 

Il flusso del processo di gestione dei rilasci deve essere supervisionato da un manager che comprenda le esigenze aziendali e le loro priorità e in quali circostanze tali priorità possono cambiare. Il release manager dispone di un’ampia gamma di competenze generali: devono essere in grado di comprendere il processo di sviluppo del software, stabilire collegamenti con l’azienda, sintetizzare i dati ed essere esperti sia nei prodotti che nei progetti.  
Spesso i responsabili dei rilasci sono professionisti IT specializzati nel coordinamento delle attività di rilascio o proprietari di prodotti che hanno perfezionato le proprie conoscenze di sviluppo per essere in grado di gestire i rilasci.  
Collaborano con leader aziendali, proprietari di prodotti, team di progetto IT e personale operativo per garantire che ogni versione contenga le funzionalità corrette.  
Nel dettaglio, il lavoro del gestore di rilascio comprende in genere i seguenti compiti: 

  • Pianificazione, coordinamento e gestione dei rilasci 
  • Costruzione del calendario delle versioni 
  • Assistenza nella gestione del progetto e nelle interdipendenze  
  • Gestione dei rischi e risoluzione dei problemi  
  • Revisioni in tempo reale sull’intero ambiente di progetto 
  • Costruzione di report e aggiornamenti 

Automazione, devops e microservizi 

Adottare pratiche di gestione dei rilasci deduce un processo in continua evoluzione. Ogni versione del software è un’opportunità per perfezionare tutto, dal flusso di lavoro alla lista di controllo, mentre il gruppo scopre quale tabella di marcia funziona meglio per quale tipo di lancio. 
Un aspetto di importanza primaria che occorre considerare in questi casi è l’automatizzazione, sia sul fronte dello sviluppo, che sul versante del testing, con la quale è possibile ridurre i costi e consentire un’iterazione più rapida.  
 
Quando correttamente implementato in un’organizzazione, il modello DevOps permette di automatizzare le fasi di build, test e deployment del codice, riducendo tempi e costi di rilascio, e accelerando la velocità e frequenza di distribuzione delle nuove versioni. 
A causa della velocità con cui questi tipi di ambienti cambiano durante la costruzione e il test, è essenziale trovare il giusto equilibrio tra agilità, controllo e flessibilità.  

Approcci architetturali come quello basato su microservizi (di cui vi abbiamo parlato nel dettaglio in quest’altro articolo) portano diversi benefici all’interno del processo di release management: essendo più piccoli e costituiti da una frazione di codice, ogni singolo microservizio può essere sviluppato, aggiornato e rilasciato con maggior facilità e rapidità. 
Questo approccio funziona anche per applicazioni complesse, e possiamo ottimizzare la portabilità della software release in qualunque infrastruttura e ambiente operativo, sia esso il data center on-premise, il cloud privato o quello pubblico. 

Eight Twenty è il partner tecnologico certificato che rende il processo di trasformazione e innovazione delle aziende facile, sicuro e veloce con l’utilizzo di hardware e software proprietari combinati con la forza e la flessibilità del Business Process Management (BPM), del cloud e della tecnologia EDGE. 
Il contributo di Eight Twenty permette, grazie alla tecnologia, di stabilizzare e ottimizzare i processi, ottenendo così una serie di attività e automazioni per il miglioramento continuo. 
Eight Twenty offre soluzioni già collaudate, che vanno dai dipartimenti acquisti fino a quelli di fatturazione, oppure elabora insieme ai clienti e ai partner una soluzione su misura. 

Post Correlati

Lascia un commento