Il Rilascio nel software

Il Rilascio nel software. Che cos’è una release software?
Una release software è un insieme di modifiche che aggiorna o aggiunge nuove funzionalità a un prodotto o servizio software. Esistono diversi tipi di release, che possiamo delineare in base allo scopo, alla portata e all’impatto sugli utenti. È probabile che un team esegua una combinazione di questi rilasci nel corso dell’anno, a seconda di come vengono strutturati il ciclo di vita dello sviluppo e il ciclo di vita del rilascio del software. Esploriamoli insieme.

Tre tipi principali di rilascio del software:

1.Rilasci principali (Major Release)
Scopo
Le major release introducono tipicamente un nuovo software o una versione aggiornata del software con nuove caratteristiche e funzionalità e sono spesso accompagnate da un’azione di marketing per far conoscere agli utenti la nuova release. A volte una major release si concentra sull’esperienza utente del software, modificando il flusso o il modo in cui l’utente interagisce con il prodotto senza necessariamente aggiungere nuove funzionalità. Una major release può anche essere una revisione del design visivo del prodotto.

Impatto
Una release di successo avrà di solito un impatto notevole sugli utenti finali, nel bene e nel male! Il rilascio potrebbe apportare funzionalità richieste da tempo o costringerli a imparare un nuovo modo di interagire con il prodotto. Un cambiamento sostanziale come il passaggio di Instagram dal feed cronologico a quello dettato da un algoritmo è stato un rilascio importante e illustra come un rilascio importante possa essere divisivo anche per gli utenti. A volte una major release può anche avere effetti inaspettati, come il degrado delle prestazioni o i tempi di inattività, che possono essere notati dagli utenti.

Chi è responsabile?
Le major release richiedono una sostanziale collaborazione interfunzionale, coinvolgendo gli stakeholder di tutta l’organizzazione, dai dirigenti al product management, all’ingegneria, al marketing, alle vendite e all’assistenza clienti.

2.Rilasci minori
Scopo
I rilasci minori introducono di solito correzioni di bug o miglioramenti delle prestazioni e sono talvolta definiti rilasci di patch (come la rimozione di una falla). Le release minori spesso risolvono problemi di usabilità o altri problemi segnalati dagli utenti a seguito di modifiche introdotte in una release maggiore.

Impatto
Una minor release può non essere percepita dagli utenti a meno che non abbiano riscontrato un bug o un problema di prestazioni. Come nel caso delle major release, tuttavia, le conseguenze indesiderate di una modifica possono essere notate dagli utenti se un servizio diventa lento o non funziona.


Chi è responsabile?
I problemi che richiedono il rilascio di una patch vengono spesso segnalati attraverso l’assistenza clienti, quando gli utenti segnalano bug o altri problemi derivanti da una release. A seconda della struttura dell’organizzazione, i tecnici dell’assistenza possono creare da soli la correzione e sottoporla al team di sviluppo competente per la revisione. In altre organizzazioni, l’assistenza può inviare una segnalazione di bug al reparto di ingegneria, che provvederà a smistarla e a risolverla.

3.Rilasci di emergenza
Scopo
I rilasci di emergenza sono aggiornamenti software urgenti e non pianificati che risolvono un problema critico. Una vulnerabilità di sicurezza come Log4Shell o un problema di prestazioni importante possono richiedere una correzione di emergenza che deve essere applicata al di fuori del ciclo di rilascio regolare di un prodotto. Potreste aver sentito parlare di questi aggiornamenti come “hotfix”.

Impatto
L’impatto sugli utenti (se c’è) è di solito percepito sotto forma di tempi di inattività se non si è in grado di applicare la correzione senza interrompere il servizio.

Chi è responsabile?
Quando si verificano vulnerabilità critiche o problemi di prestazioni, i primi membri del team a rispondere sono solitamente i tecnici di turno. Potrebbe trattarsi di tecnici dell’affidabilità del sito o di tecnici dell’assistenza. A seconda della natura dell’emergenza, il team di sviluppo o di operazioni IT responsabile di quell’area del prodotto o della vostra infrastruttura potrebbe essere chiamato a risolvere il problema. In alcuni casi, la gravità del problema potrebbe richiedere il coinvolgimento dei team di sviluppo e di comunicazione per comunicare il problema, l’impatto e i piani di rimedio alla base di utenti.

Le fasi del ciclo di rilascio di un software
Pre-alfa: Questa fase comprende tutte le attività che portano a un rilascio importante, tra cui la raccolta dei requisiti, la decisione sul prezzo delle nuove funzionalità, la progettazione e lo sviluppo.
Alpha: È la fase in cui iniziano i test e la convalida del comportamento del nuovo codice. Le versioni Alpha sono in genere testate all’interno dell’azienda.
Beta: Una volta che il software ha superato la fase alfa, entra nella fase beta. Alcune aziende condividono la versione beta con potenziali clienti e clienti come demo, oppure la rendono disponibile per il beta testing da parte di un gruppo di utenti che vi aderiscono. Questo può essere un buon modo per coinvolgere i power user o le persone interessate all’accesso anticipato a nuove funzionalità.
Candidati al rilascio: Una volta risolti gli eventuali bug emersi durante il beta testing, una release candidate è pronta per essere sottoposta alla valutazione della stabilità e dell’idoneità come versione finale del software da rilasciare.
Rilascio finale: Se durante il test della release candidate non emergono bug significativi, siete pronti a rilasciare la versione finale. Il momento e le modalità di rilascio dipendono dalla vostra metodologia e dalle vostre strategie di distribuzione e rilascio (esempio metodo Agile o DevOps/DevSecOps).

(fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura dello sviluppo software. L’offerta formativa è prevalentemente rivolta alle aziende. Trovate l’elenco corsi sul nostro sito QUI.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)