Thales banner

Nozioni di base sul versioning del software

Per i fornitori di software, le modifiche che non cambiano il prodotto ma aumentano le funzionalità e risolvono i problemi vengono chiamate nuove versioni software. Gli aggiornamenti fanno parte del ciclo di vita di qualunque software. Nel tempo vengono rilasciate nuove funzionalità, gli sviluppatori risolvono i bug e la durata del software si evolve con la creazione di entusiasmanti aggiornamenti e nuove versioni. Il versioning del software è dunque una parte fondamentale della produzione. 

versioning software e versioning semanticoIl versioning del software è importante perché aiuta sia gli utenti che i produttori a monitorare le diverse versioni rilasciate dall’azienda. Gli utenti si aspettano che gli sviluppatori di software li tengano aggiornati e che comunichino in maniera metodica quando e quali aggiornamenti vengono rilasciati. Per i vendor di software, il versioning è ancora più importante. Consente loro di tracciare le versioni del software e utilizzare le informazioni raccolte per guidare i loro piani di segmentazione e monetizzazione. Separando gli aggiornamenti essenziali e secondari, i vendor possono evidenziare, segmentare e addebitare alcune funzionalità. I vendor di software inoltre traggono vantaggio dall'identificazione dei clienti usando le ultime versioni del software e isolando quelle che ancora devono aggiornare. Il monitoraggio dell’utilizzo della versione da parte dei clienti riduce il rischio che essi usino software obsoleti con esperienze utente scadenti. 

Cos’è il versioning del software?

Il versioning del software si riferisce alle diverse versioni rilasciate dalla società di software. Ogni versione di un software che viene rilasciato riceve un numero identificativo. Comprendere i rilasci di versioni e cambiamenti è fondamentale per i dirigenti con una visione globale della roadmap aziendale, e i project manager che devono garantire che i progetti procedano secondo i piani. Gli utenti singoli guardano anche le versioni del software sui loro computer o smartphone per verificare di star utilizzando i sistemi più recenti.

Ogni versione del software ha un nome. Questi nomi sono solitamente assegnati numericamente ed esistono diversi sistemi standard per la progressione delle versioni del software. 

Come denominare le versioni del software? 

Come accennato, diverse aziende utilizzano metodi diversi per nominare il proprio software. Anche se il versioning semantico è il sistema di denominazione più comune, esistono altri metodi degni di nota.

Qualsiasi sia il metodo scelto, è fondamentale attenersi a un unico sistema di numerazione. Ciò permette alla tua azienda di essere organizzata e aiuta gli utenti a monitorare aggiornamenti e rilasci di un software specifico.

Alcuni dei metodi più comuni di numerazione delle versioni software sono:

  • Numerazione semantica: tecnica di numerazione a tre cifre basata su una sequenza Major.Minor.Patch
  • Data di rilascio: il numero della versione del software è la data del rilascio. Ad esempio, 20.06 o 06.20 per giugno 2020.
  • Sistema di numerazione unario
  • Codici alfanumerici
  • Numerazione sequenziale

Cos’è il versioning semantico?

versioning semantico

Il versioning semantico è uno dei metodi più comuni di numerazione delle versioni del software. Questo metodo utilizza tre numeri per ogni versione del software in una sequenza Major.Minor.Patch. Quando viene effettuato un aggiornamento maggiore, minore o patch, aumenta il numero corrispondente.

  • Le modifiche alla versione Major si riferiscono alle modifiche delle API incompatibili.
  • Le modifiche alla versione Minor si riferiscono all'aggiunta di nuove funzionalità in modo retrocompatibile.
  • Le modifiche alla versione Patch si riferiscono alla correzione di bug in modo anch’esso retrocompatibile.

Il numero aumenta di una cifra a seconda del tipo di modifiche apportate nella nuova versione.

Ad esempio, una versione del software 1.3.1 indica che il software si trova nella sua prima versione major, con tre funzionalità nuove e una patch implementata. Quando uno sviluppatore corregge un bug in quella versione, il prossimo rilascio si chiama versione 1.3.2.

Cos’è il versioning semantico nello sviluppo del software?

Il versioning semantico viene ampiamente utilizzato nello sviluppo del software per numerare le versioni in maniera appropriata e facilitare l’utilizzo dei clienti.

Alcuni prodotti non hanno bisogno della rappresentazione dettagliata della numerazione Major.Minor.Patch e utilizzano un sistema Major.Minor più semplice. Al contrario, alcune aziende che hanno rilasci frequenti vanno anche oltre nel loro sistema di numerazione. Aggiungono un qualificatore alla fine dello scenario semantico tipico. Dunque, al posto di una stringa da tre numeri, gli aggiornamenti ne hanno quattro.

Il versioning semantico offre flessibilità all’interno di una struttura rigida. Ogni organizzazione dovrebbe identificare il livello adatto di dettaglio da pubblicizzare nei propri aggiornamenti, pur mantenendo l'aspetto informativo e di utilità per gli utenti finali.

Best practice del versioning del software

Quando decidi quali strumenti di versioning del software utilizzare nella tua azienda, ricorda di tenere a mente i tuoi utenti. Dopo tutto, i numeri di versioning sono lì per aiutarli.

cos’è il versioning del software

Quali sono le best practice in materia di versioning del software?

1.    Rimani trasparente e coerente

Gli utenti vogliono sapere cosa aspettarsi quando ci sono aggiornamenti e rilasci del loro software. Ad esempio, tutti sanno che Apple rilascia un importante aggiornamento iOS una volta l’anno, e gli utenti lo attendono con impazienza. Se Apple iniziasse a rilasciare aggiornamenti importanti in maniera sporadica, gli utenti sarebbero confusi e delusi. Si insinuerebbe una mancanza di fiducia tra l’azienda e l’utente, peggiorando la soddisfazione del cliente.

2.    Pubblica un programma di rilasci

Nessuno vuole cambiamenti a sorpresa, dunque pubblicare un programma di rilascio consente agli utenti di vedere cosa sta per accadere, migliorando la comunicazione e la fiducia tra la tua azienda e i clienti. Un programma di rilascio aiuta anche quando i tuoi clienti comunicano che il tuo prodotto ha bisogno di aggiornamenti o cambiamenti. Puoi annunciare il programma di rilascio e rassicurarli che stai già lavorando per risolvere i loro problemi.  

3.    Spiega il tuo sistema di versioning 

Spiega ai tuoi utenti in cosa consiste il versioning semantico e insegna loro a leggere e capire i numeri di versione. Spiegare il sistema è particolarmente importante quando vendi B2C, perché puoi supporre che la tua clientela non capisca il versioning semantico, ma è applicabile anche nel B2B.  

Diverse aziende lo fanno in modi diversi. Ad esempio, puoi includere queste comunicazioni nella documentazione, nella mailing list o persino sui tuoi canali di social media. 

4.    Fai sapere agli utenti cosa c’è di nuovo nella tua nuova versione

Sia che tu stia rilasciando l’aggiornamento software più incredibile di sempre o solo una piccola patch, fallo sapere agli utenti. Stai lavorando sodo per mantenere i tuoi utenti soddisfatti, condividi questa informazione. I tuoi risultati sono un modo estremamente efficace per mostrare ai tuoi clienti quanto ti importa del loro successo. Queste informazioni dovrebbero essere chiare agli utenti, sia che si tratti di professionisti IT che di persone senza conoscenze tecniche.

5.    Chiedi ai tuoi utenti la loro opinione

Alle persone piace sentirsi apprezzate e non c’è modo migliore per farle sentire importanti che chiedere la loro opinione. Inoltre è probabile che chiedendo il feedback degli utenti otterrai informazioni importanti da una prospettiva completamente nuova.

I tuoi utenti possono identificare facilmente le nuove versioni del software? Riescono a tenere il passo con i nuovi aggiornamenti? Sanno cosa vale la pena scaricare e installare per il loro caso d’uso specifico?

Tenere aperte le linee di comunicazione tra gli utenti del software e le aziende può migliorare significativamente il processo di versioning del software e garantire che i tuoi clienti rimangano felici e soddisfatti del servizio.

Thales: la tua soluzione per il versioning del software

Grazie alle soluzioni per la monetizzazione del software di Thales, monitorare il versioning del tuo software non è mai stato così facile.

Le nostre numerose soluzioni ti aiutano a mantenere organizzati e sistematici i tuoi aggiornamenti software così da permetterti di realizzare i tuoi obiettivi aziendali, massimizzare il fatturato e aumentare la soddisfazione dei clienti.

Fai subito la scelta giusta per il software licensing - White Paper

Fai subito la scelta giusta per il software licensing - White Paper

Se ti senti come un criceto che fa girare la sua ruota, sappi che in molti si sentono come te. Il software licensing è ormai imprescindibile per quasi tutte le aziende. Fare la scelta giusta fin da subito ti permetterà di crescere, acquisire nuovi clienti e aumentare la tua...

Casio Creates New Ways to License and Monetize its Software using Thales Sentinel - Case Study

Con Thales Sentinel, Casio crea nuovi modi di concedere in licenza e monetizzare il suo software - Case Study

Casio è un produttore a livello mondiale di elettronica di consumo e soluzioni industriali. Ha deciso di introdurre il digitale nella sua attività, a partire dal modello di software licensing per le sue famose calcolatrici scientifiche. Così come la tecnologia ha fatto passi...