Ci sono due possibili consumatori di numeri di versione. I tuoi processi interni e le persone che utilizzano il tuo servizio.
Con i processi interni, i numeri di versione ti aiutano a identificare quando qualcosa è stato corretto e cosa è cambiato da loro. Dicendo "abbiamo risolto questo nella versione 1.2.3" sai dove è stato fatto e se ora stai riscontrando lo stesso bug, hai una regressione. Essendo in grado di identificare quando è stato corretto o implementato (con un numero di versione) ora puoi restringere ciò che devi fare per risolverlo.
I consumatori del servizio possono anche utilizzare i numeri di versione. Non tutti i consumatori devono conoscere i numeri di versione, ma è qualcosa che li può aiutare. Dicendo "questi bug sono stati corretti nella versione 1.2.3 che è stata distribuita in una data" tu, come il consumatore, sai che i bug che potresti aver segnalato sono corretti. Inoltre, quando segnali bug, hai l'opportunità di dire "questo è stato risolto in 1.2.3 ma ora in 1.2.5 è stato interrotto di nuovo". Questa è probabilmente una informazione preziosa per segnalare bug.
Molte volte, anche il software as a service ha un'API per l'interfacciamento. Questa API dovrebbe anche essere versionata. Puoi visualizzarlo con l'API Stack Exchange e API dei dati di Google . Un'API è molto simile a una libreria che è ospitata su un altro server. Proprio come le librerie sono versionate, così come le API.
Lo scopo di un numero di versione in questi casi è quello di consentire una comunicazione più efficiente delle informazioni su quale software è stato segnalato, inserito e attualmente in esecuzione. Che ci sia solo una istanza di "attualmente in esecuzione" non diminuisce l'utilità dei primi due punti. È utile sia per interni che per esterni.
Considera inoltre che, a meno che tu non stia offrendo un'API, versioning semantico non è necessariamente utile. Ho lavorato in situazioni in cui il numero di build del server di integrazione continua era sufficientemente utile per un numero di versione: "la produzione sta eseguendo la build 123, l'abbiamo risolta nella build 145 che è attualmente in fase di test nell'ambiente QA. 155 ".