Quando si parla di release management bisogna innanzitutto prendere in considerazione un aspetto: per quanto concerne applicazioni e software, specialmente di quelli utilizzati in ambito aziendale, gli utenti sono diventati sempre più esigenti. Bug, tempi di inattività e problematiche di varia natura oggi sono molto meno tollerati che nel passato e possono condurre con grande rapidità a una drastica caduta della credibilità aziendale.

Spesso e volentieri si pensa che il rilascio di aggiornamenti possa essere la soluzione salvifica per ripristinare il corretto funzionamento di determinati software, ma in realtà non esiste nessun automatismo di questo genere. Anzi, come ci ricorda l’esperienza da comuni utenti, talvolta sono proprio i cambiamenti nell’ambiente applicativo a creare i malfunzionamenti e disservizi, peggiorando l’usabilità necessaria allo svolgimento delle nostre task. Dietro queste problematiche, molto probabilmente, c’è un processo di aggiornamento che non ha funzionato per il verso giusto e che, anziché migliorare le performance e la user experience, le ha peggiorate.

Ecco perché, in un mondo aziendale che è sempre più software based, attuare una politica di release managament è sempre più fondamentale, considerato che i sistemi software, nonché le risorse e i relativi processi di sviluppo stanno diventando sempre più complessi. Una necessità che non coinvolge soltanto le software house, ma anche tutte le aziende – di qualsiasi settore e dimensione – che mettono il proprio nome e cappello su applicazioni e servizi di varia natura. 

Release Management, che cos’è 

Ma che cos’è esattamente il release management? Il riferimento è a tutte quelle pratiche e attività che permettono di controllare e presidiare tutte le fasi di lavorazione del codice, che a loro volta conducano al rilascio finale di una data versione del software.
L’obiettivo finale è naturalmente quello di garantire che rilasci e modifiche causando il minor numero possibile di interruzioni e problematiche, portando alla nascita di un processo di gestione delle modifiche più proattivo e prevedibile.

Nonostante si tratti di un aspetto relativamente recente all’interno della più ampia branca dell’ingegneria del software, è allo stesso tempo di una modalità sempre più utilizzata dalle imprese che hanno a che fare con lo  sviluppo di software e applicazioni.  Il tradizionale approccio, che prevede la sola fase del testing solo al termine del processo di sviluppo, risulta infatti troppo lento e inadatto a garantire la necessaria qualità del software nell’attuale fase storica. Non a caso, un corretto processo di release management si compone di cinque diverse fasi, che sono gestite e coordinate dal release manager e dal suo team. 

Le fasi della gestione dei rilasci 

  • Fase 1: La prima fase è quella della richiesta di introduzione di nuove funzionalità o modifiche a quelle esistenti. Ovviamente, attuare una corretta politica di release management non significa per forza adottare tutte le modifiche richieste da clienti e utenti, quando piuttosto valutarne la fattibilità e logica, individuando nel caso il modo più semplice e ideale per la sua applicazione.  
  • Fase 2: La seconda fase, considerata in genere la più importante dagli esperti, è quella della programmazione, nella quale viene definita la struttura della nuova release, individuandone i corretti requisiti tecnici, la pianificazione delle attività da eseguire, nonché le responsabilità delle diverse fasi. 
  • Fase 3: La terza fase, definita di design e Build, è sostanzialmente quella della programmazione vera e propria. In cui i requisiti tecnici individuati a monte vengono trasformati in appositi codici, che permettono quindi di dare vita a una nuova release software eseguibile.
  • Fase 4: Si tratta della fase di test, anch’essa molto importante dal punto di vista di vista della qualità del risultato finale. Tutte le nuove versioni applicative devono essere sottoposte a un collaudo, fondamentale per individuare possibili bug o difetti nell’usabilità del software. Nel caso questi difetti vengano riscontrati, la release viene rimandata ai programmatori per la necessaria ottimizzazione. Il processo continua sino al momento in cui la versione è ritenuta idonea per essere rilasciata al cliente o al mercato. 
  • Fase 5: Installazione

Infine il processo di release management si conclude con la quinta e ultima fase, che prevede naturalmente l’installazione presso gli utenti finali. Oltre alla cura degli aspetti tecnici, questa fase deve contemplare anche l’opportuna comunicazione e formazione delle nuove funzionalità, istruendo per quando possibile gli end user sulle modifiche e le nuove procedure da seguire. 

Software e strumenti per ottimizzare la gestione dei rilasci 

Data l’importanza crescente assunta dal processo di release management, sono nati sul mercato diversi strumenti di gestione. Ovviamente, è difficile individuare a priori quale sia lo strumento più adatto per ogni specifica necessità, dal momento che la scelta dipende da tutta una serie di fattori, tra cui le dimensioni dell’azienda, la quantità di progetti (ovvero se si dispone di un gran numero di progetti simultanei) e la facilità d’uso.

In ogni caso è importante che lo strumento individuato consenta di creare flussi di lavoro coerenti e promuova un ambiente di collaborazione, in maniera tale da individuare tempestivamente e in maniera efficiente possibili malfunzionamenti e le relative ottimizzazioni. A titolo di esempio, è possibile citare strumenti come Ansibile, Jenkins, Plutora, Chef, Clarive e Spinnaker, ma anche multinazionali come IBM e Microsoft propongono servizi di release management integrati e disponibili nei rispettivi pacchetti cloud.

A prescindere dalle specifiche caratteristiche, tutti questi strumenti hanno in comune, molto spesso, la capacità di consentire lo sfruttamento dell’attuale contesto tecnologico IT di riferimento, sempre più cloud e multicloud anche per quanto concerne lo sviluppo applicativo. Inoltre sempre maggiore attenzione è attribuita alla possibilità di sfruttare i benefici e i punti di forza dei modelli agile e Open source e Devops, con la giusta attenzione alla sicurezza.

C’è poi il tema dell’automazione, che è strettamente correlato alla natura stessa dell’intero processo di release management che, come, abbiamo scritto all’inizio, presuppone che le modifiche al software funzionino senza intoppi e che i risultati finali siano completati nei tempi corretti. È chiaro che seguire questo processo manualmente può essere estremamente dispendioso dal punto di vista delle risorse, dunque la giusta dose di automazione può garantire un migliore lavoro per il release manager e il suo team. Altro punto cardine è, infine, la tracciabilità: in qualsiasi momento, chiunque apporti modifiche in una qualsiasi parte della pipeline di consegna, potrà essere tracciato, fornendo quindi una chiara visibilità che risulta poi indispensabile per la corretta riuscita dell’intero percorso di release management. 

Release management: cos’è la gestione dei rilasci e come ottimizzarla ultima modifica: 2022-09-06T10:27:18+02:00 da Sara Comi

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui