Costi di manutenzione del software: quanto mettere a budget dopo il lancio

Il costo di manutenzione del software è la spesa corrente per mantenere un sistema in produzione sicuro, stabile e utile. Per la maggior parte dei software aziendali, metti in conto un importo annuo pari a una quota significativa del costo di sviluppo iniziale e trattalo come una voce di budget permanente fin dal primo giorno. Sull'intera vita di un sistema, la manutenzione costa di solito più dello sviluppo stesso. Qui sotto trovi che cosa comprende il costo, come si calcola, quali fattori lo spostano e un metodo semplice per metterlo a budget.
In breve
- La manutenzione non è una fattura una tantum. È il costo continuo per correggere bug, applicare patch di sicurezza, aggiornare le dipendenze, tenere in vita le integrazioni e fare piccoli miglioramenti.
- Ricerche ormai datate collocano la manutenzione ben oltre la metà del costo di un sistema lungo tutto il suo ciclo di vita. Lo sviluppo è la parte più piccola di quello che spenderai.
- Un metodo pratico di pianificazione: prendi una percentuale annua del costo di sviluppo, poi correggila in base a complessità, integrazioni, esigenze di disponibilità e qualità del codice.
- Dividi il budget tra "tenere accese le luci" e "miglioramento continuo", e dopo dodici mesi confronta la spesa effettiva con quanto previsto.
- Rinunciare alla manutenzione non fa risparmiare. Sposta solo il costo più avanti, di solito sotto forma di intervento d'emergenza o riscrittura.
Che cosa comprende davvero il costo di manutenzione
Il costo di manutenzione è tutto quello che spendi su un sistema dopo la messa in produzione, a parte lo sviluppo di prodotti davvero nuovi. Un negozio online, uno strumento interno o un portale clienti hanno bisogno dello stesso tipo di attenzione, perché il mondo attorno a loro continua a cambiare: i browser si aggiornano, i fornitori di pagamento modificano le loro interfacce, le librerie arrivano a fine vita e gli aggressori cercano le vulnerabilità note.
In pratica il lavoro si divide in pochi ambiti:
- Correzione di bug. Difetti che emergono nell'uso reale, spesso solo con dati veri o traffico vero.
- Aggiornamenti di sicurezza. Patch per il framework, il server e ogni pacchetto di terze parti da cui dipendi.
- Aggiornamenti di compatibilità. Mantenere il prodotto funzionante mentre cambiano sistemi operativi, browser, database e piattaforme di hosting.
- Infrastruttura. Hosting, backup, certificati, domini e le persone che li sorvegliano.
- Monitoraggio e gestione degli incidenti. Accorgersi che qualcosa si è rotto prima che te lo dicano i clienti, e avere qualcuno che interviene.
- Piccoli miglioramenti. Modifiche minori che mantengono il software utile mentre la tua attività evolve.
Per i sistemi critici aggiungi l'aggiornamento della documentazione, i test di ripristino dei backup e le modifiche legate alla conformità. In Svizzera questo significa spesso gli obblighi di protezione dei dati previsti dalla Legge federale sulla protezione dei dati riveduta, più quanto richiede in aggiunta il tuo settore.
I quattro tipi di manutenzione e dove finiscono i soldi
L'ingegneria del software distingue da tempo quattro tipi di manutenzione: correttiva (correggere difetti), adattiva (adeguarsi a un ambiente che cambia), perfettiva (migliorare o estendere funzionalità) e preventiva (mettere ordine per evitare problemi futuri).
Come si ripartiscono i soldi tra questi tipi sorprende spesso. Il National Institute of Standards and Technology statunitense ha pubblicato una executive guide to software maintenance che colloca la manutenzione tra il 60% e il 70% del costo totale del software. Secondo quel documento, il lavoro perfettivo rappresenta circa il 60% della spesa di manutenzione, mentre quello adattivo e quello correttivo pesano all'incirca il 20% ciascuno.
Quella guida risale al 1985, quindi considera le proporzioni esatte come un riferimento storico, non come una previsione per il tuo prodotto. La lezione però resta valida: la maggior parte del denaro speso in manutenzione non va alle riparazioni d'emergenza. Va a far sì che il software stia al passo con quello che serve all'azienda. Se le tue fatture mostrano soprattutto interventi d'urgenza, qualcosa a monte non funziona.
Quanta parte del costo di vita di un sistema è manutenzione?
Sul lungo periodo la risposta è: la maggior parte. Un seminario dell'Università di Zurigo sulla stima dei costi del software cites Boehm’s data relativi a 487 installazioni di elaborazione dati aziendali, da cui risulta una ripartizione media tra sviluppo e manutenzione di 47 a 53. Riporta inoltre che, su dieci anni di vita, grandi organizzazioni come General Telephone and Electronics e General Motors hanno destinato alla manutenzione rispettivamente il 60% e il 75% del costo del ciclo di vita.
Si tratta di installazioni grandi e datate, non di una moderna applicazione web di una startup. Ma la direzione coincide con quello che ti dirà qualsiasi team che gestisce software da anni: la prima fattura è l'inizio del costo, non la fine.
Per la tua pianificazione questo significa due cose. Primo: quando confronti le offerte di sviluppo, chiedi quanto costerà far funzionare il sistema dal secondo al quinto anno, non solo quanto costa consegnarlo. Secondo: le decisioni prese durante lo sviluppo, come la pulizia del codice, la qualità dei test e il numero di servizi esterni su cui ci si appoggia, determinano per anni l'entità della fattura di manutenzione.
Come viene calcolato il prezzo della manutenzione nella pratica
Non esiste un prezzo di mercato unico, perché la manutenzione viene tariffata in modi diversi. Capire quale modello hai davanti conta più della cifra in evidenza.
Percentuale sul costo della licenza o dello sviluppo
I fornitori di software standard calcolano di solito la manutenzione come quota di quanto hai pagato. Un esempio svizzero è Vertec: nel suo Swiss price overview indica una tassa di manutenzione annua pari al 17% del prezzo d'acquisto della licenza per gli aggiornamenti software. La manutenzione con hotline costa tra il 22% e il 35% all'anno, a seconda del numero di utenti: 35% da uno a cinque utenti e 22% oltre i 100.
Lo schema è utile anche al di là di quel fornitore: una base utenti più piccola paga una percentuale più alta e aggiungere assistenza diretta alza la tariffa in modo sensibile.
Per il software su misura, la stessa logica ti offre un metodo di pianificazione. Molti team partono da una percentuale annua ipotizzata sul costo di sviluppo iniziale e poi la correggono. Considera la percentuale come un'ipotesi di partenza, non come un'offerta. Un prodotto regolamentato con esigenze elevate di disponibilità si collocherà più in alto di un semplice sito vetrina.
Forfait mensile
Per siti e applicazioni su misura, il forfait mensile è la struttura più diffusa perché ti dà un costo prevedibile e un team definito che conosce il tuo sistema. In Ampersand i nostri piani pubblicati funzionano così. Il piano Run & monitor costa CHF 750 al mese. Se vuoi anche una consulenza tecnica senior, il piano Guidance costa CHF 799 al mese. Per ambiti più ampi, come il piano Run & improve e le opzioni Embedded, Full embed e Intensive, il perimetro dipende dal prodotto e per questo non hanno un prezzo pubblicato.
A consuntivo o a forfait per intervento
Pagare a ore o a ticket va bene per sistemi molto stabili e raramente toccati. Diventa costoso e imprevedibile quando qualcosa si rompe, perché il lavoro urgente finisce a chi è disponibile in quel momento. Se scegli questo modello, concorda in anticipo tempi di risposta e tariffe.
Cosa fa salire o scendere il costo di manutenzione
Due sistemi con lo stesso costo di sviluppo possono differire enormemente in quanto costa tenerli in vita. Questi sono i fattori che pesano di più.
- Qualità del codice e copertura dei test. Un codice pulito, modulare e ben testato è più economico da modificare in sicurezza. Un codice mal strutturato rende ogni piccola correzione rischiosa e lenta.
- Età della tecnologia. Framework e linguaggi arrivano a fine supporto. Più vecchio è lo stack, più tempo se ne va in soluzioni di ripiego, e più si restringe la cerchia di chi può darti una mano.
- Integrazioni. Ogni collegamento a un fornitore di pagamento, a un ERP, a un CRM, a un sistema di shop o a un'API esterna è una dipendenza che può cambiare senza chiederti il permesso. Più collegamenti significano più lavoro di mantenimento.
- Disponibilità e copertura dell'assistenza. Un sistema che deve essere raggiungibile 24 ore su 24, con un tempo di risposta garantito, costa più di uno che può aspettare lunedì mattina.
- Requisiti di sicurezza e conformità. Finanza, sanità e qualsiasi prodotto che tratta dati personali richiedono patch, registrazione dei log e verifiche più frequenti.
- Numero di utenti e volume di dati. Più utenti significano più carico, più domande di assistenza e più casi limite.
- Documentazione. Se il sistema è documentato, un nuovo sviluppatore diventa produttivo in pochi giorni. Se non lo è, paghi l'archeologia ogni volta che cambia qualcuno.
- Chi fa il lavoro. Gli sviluppatori senior costano di più all'ora, ma fanno diagnosi più rapide e risolvono le cause, non i sintomi. Una tariffa bassa su una diagnosi lenta e ripetuta non è economica.
- Dipendenza da chi ha costruito il sistema. Se solo un'agenzia capisce il codice, paghi quello che chiede. La qualità del passaggio di consegne incide direttamente sulla tua futura posizione negoziale.
Un esempio concreto
I numeri qui sotto illustrano il metodo, non sono un'offerta né un parametro di riferimento.
Immagina un portale clienti su misura sviluppato per CHF 120'000, collegato a un CRM e a un fornitore di pagamento, usato da qualche migliaio di clienti.
- Ipotesi di pianificazione. Supponiamo di prevedere dal 15% al 25% del costo di sviluppo all'anno. Risultano da CHF 18'000 a CHF 30'000 all'anno, cioè da CHF 1'500 a CHF 2'500 al mese.
- Fascia bassa. Il codice è ben testato, lo stack è aggiornato e c'è una sola integrazione.
- Fascia alta. Il portale tratta dati sensibili, servono tempi di risposta rapidi e due integrazioni cambieranno probabilmente.
- Aggiungi una riserva. Tieni un ulteriore 10% o 15% per gli imprevisti e aspettati che i prezzi di terzi, come hosting e licenze, salgano un po' ogni anno.
Ora suddividi la cifra. Mettiamo che due terzi vadano a "tenere accese le luci": hosting, patch, monitoraggio e interventi urgenti. Il terzo restante va al miglioramento continuo: piccole modifiche che rendono il portale più utile. Quando fai il bilancio dopo un anno, vedi se la ripartizione corrisponde alla realtà.
Come costruire un budget di manutenzione
Un budget funziona quando è preciso su ciò che copre e onesto su ciò che non copre. Segui questa sequenza.
- Elenca ciò che gestisci. Ogni applicazione, integrazione, dominio, account di hosting, licenza e automazione, con un responsabile per ciascuna voce.
- Classifica tutto per criticità. Che cosa succede al fatturato o alle operazioni se resta fermo un'ora, un giorno, una settimana?
- Prevedi due voci di budget. Una per tenere tutto in funzione (hosting, patch di sicurezza, correzioni non rinviabili), una per i miglioramenti. Mescolarle nasconde quanto costa davvero il software e fa sembrare indolori i tagli, finché qualcosa non si rompe.
- Scegli una percentuale di partenza. Usa la tua ipotesi di pianificazione sul costo di sviluppo, poi correggila in base ai fattori visti sopra.
- Aggiungi una riserva. Prevedi un margine per gli imprevisti e per gli aumenti di prezzo dei servizi da cui dipendi.
- Metti per iscritto i tempi di risposta. Che cosa conta come urgente, con quale rapidità qualcuno deve reagire e che cosa è compreso nel canone mensile.
- Fai il punto dopo dodici mesi. Confronta la spesa effettiva con il budget, voce per voce. Se la maggior parte del denaro è finita in interventi d'emergenza e quasi niente in miglioramenti, il software si sta degradando anche se il totale sembra a posto. Cambia la struttura, non solo l'importo.
La sicurezza è la parte che non puoi rimandare
Di tutto il lavoro di manutenzione, le patch di sicurezza hanno il costo del ritardo più evidente. Le vulnerabilità note di framework e pacchetti vengono pubblicate apertamente e le scansioni automatiche individuano in fretta i sistemi non aggiornati. Gli aggiornamenti regolari sono il minimo. Oltre a questo, è utile sapere che cosa espongono su internet i tuoi sistemi accessibili dall'esterno. L'External attack surface monitoring guarda i tuoi sistemi dall'esterno, come farebbe un aggressore, e segnala server dimenticati, servizi aperti e componenti obsoleti. Inseriscilo nella voce monitoraggio del tuo budget se il tuo prodotto tratta dati dei clienti.
Se il tuo sistema tratta dati personali, chiedi al responsabile della protezione dei dati o al tuo consulente legale quali obblighi valgono per il tuo settore prima di fissare il budget per la sicurezza.
Come ridurre i costi di manutenzione senza aumentare il rischio
La manutenzione più economica è quella pianificata. Queste misure abbassano la fattura nel tempo senza tagliare gli angoli.
- Investi nello sviluppo. Architettura pulita, test automatici e documentazione scritta rendono più economica ogni modifica successiva. È la leva più grande e si aziona prima del lancio.
- Tieni aggiornate le dipendenze. Aggiornamenti piccoli e frequenti sono facili. Un salto di cinque anni attraverso più versioni maggiori è un progetto a sé.
- Limita le integrazioni a quelle che si guadagnano il posto. Ogni collegamento è una futura voce di manutenzione. Preferisci interfacce stabili e ben supportate.
- Automatizza le parti ripetitive. Rilasci, backup, test e avvisi di monitoraggio non devono dipendere dalla memoria di qualcuno.
- Scegli il modello di fatturazione adatto al sistema. Un forfait per un prodotto vivo, la fatturazione a intervento per uno stabile.
- Evita il lock-in. Pretendi l'accesso al tuo codice, agli account di hosting e alla documentazione. Un fornitore che ti rende indipendente non ha bisogno di intrappolarti.
- Non lasciar correre. La manutenzione rinviata non sparisce. Di solito torna come interruzione del servizio, incidente di sicurezza o ricostruzione, e tutte e tre costano più della cura costante che hai saltato.
Come gestiamo la manutenzione in Ampersand
Siamo un piccolo studio di Zurigo e gli sviluppatori senior restano coinvolti dalla prima conversazione fino al passaggio di consegne. È questa continuità che ci permette di evitare i soliti problemi delle agenzie, come requisiti riscritti o cambi di personale a metà progetto. Impostiamo il nostro lavoro per lasciarti indipendente, non vincolato a noi.
Per la cura continuativa, il piano Run & monitor copre il monitoraggio a CHF 750 al mese, mentre il piano Guidance aggiunge la consulenza tecnica senior a CHF 799 al mese. Se il tuo sistema è diventato disordinato, facciamo anche audit, migrazioni e cambi di piattaforma. Guarda l'elenco completo dei servizi e dei piani per trovare quello adatto al tuo prodotto, oppure raccontaci che cosa gestisci e ti proporremo una soluzione realistica.
Domande frequenti
Qual è un costo mensile tipico per la manutenzione software?
Dipende da dimensioni, complessità e copertura dell'assistenza, quindi una cifra unica ti porterebbe fuori strada. Un metodo migliore è prendere una percentuale annua del costo di sviluppo e dividerla per dodici, come nell'esempio qui sopra. In Svizzera, il nostro piano Run & monitor apre il discorso a CHF 750 al mese per il monitoraggio.
Qual è la differenza tra manutenzione e assistenza?
La manutenzione mantiene il software in salute: patch, aggiornamenti, monitoraggio e correzioni. L'assistenza è il lato umano: rispondere alle domande e gestire gli incidenti entro tempi di risposta concordati. Molti contratti comprendono entrambe, e i prezzi di Vertec mostrano quanto l'aggiunta di una hotline faccia salire la tariffa annua.
Il costo di manutenzione è compreso nel prezzo di sviluppo?
Di solito no. Un'offerta di sviluppo copre la consegna del sistema, spesso con un breve periodo di garanzia sui difetti. La manutenzione continuativa è un accordo a parte, quindi chiedi che venga quotata insieme allo sviluppo.
Posso rinunciare alla manutenzione se il software funziona bene?
Un software che oggi funziona può smettere di farlo quando cambia un browser, una libreria o un'integrazione, e i componenti senza patch sono un rischio per la sicurezza. Un piano leggero con monitoraggio e aggiornamenti di sicurezza è il minimo per qualsiasi cosa su cui contano clienti o collaboratori.
Fonti
Parliamone
Hai un progetto che tocca questo tema?
Una chiamata gratuita di 10 minuti è il modo più rapido per capire se siamo lo studio giusto.
Prenota una chiamata gratuita di 10 minContinua a leggere
Altri articoli.
Formazione AI per team: come organizzarne una che lasci il segno
Come organizzare una formazione AI per il tuo team: cosa trattare, come individuare le lacune, quale formato scegliere e come misurare i risultati.
Leggi l'articoloAgile o Waterfall: come scegliere per il tuo progetto software
Agile e Waterfall a confronto: differenze, quando usare l'uno o l'altro, come funzionano gli ibridi in Svizzera e come scegliere per il tuo progetto.
Leggi l'articoloIntegrazione API: la guida pratica alle buone pratiche
Buone pratiche di integrazione API per le aziende svizzere: pattern, sicurezza, idempotenza, monitoraggio e trappole ERP, con una checklist da usare prima di costruire.
Leggi l'articolo