Preventivo sviluppo software: le 5 voci a cui stare attento prima di firmare
Aggiornato il

Un preventivo per lo sviluppo software si legge in un modo solo: cercando quello che non c'è scritto. Lo diciamo da chi i preventivi li prepara. Due offerte per lo stesso progetto possono differire del trecento per cento, e quasi mai perché uno dei due fornitori sta rubando: perché stanno quotando due cose diverse, e tu lo scopri dopo la firma. Ecco le cinque voci che decidono se il progetto finisce nel budget o in tribunale.
Perché due preventivi per lo stesso software differiscono del 300%
Perché «lo stesso software» non esiste finché non è scritto nero su bianco cosa fa. Il primo fornitore ha incluso l'integrazione col gestionale, il secondo l'ha messa «da valutare». Il primo consegna con i test, il secondo consegna quando compila. Il primo ha capito il problema e ha proposto una soluzione più semplice, il secondo ha copiato la tua richiesta e ci ha messo un prezzo. Uno include sei mesi di garanzia, l'altro fattura il primo bug.
Da qui una regola che vale quasi sempre: il preventivo più basso è raramente quello che costa meno. È quello che ha lasciato fuori più cose, e ognuna di quelle cose tornerà come extra, ritardo o compromesso. Non significa scegliere il più caro — significa confrontare i preventivi solo dopo averli portati sullo stesso perimetro, con le cinque voci che seguono compilate per ciascuno.
Per gli ordini di grandezza del mercato italiano abbiamo scritto una guida su quanto costa sviluppare un'app. Ma il punto di questo articolo è un altro: qualunque sia il prezzo, ciò che determina il costo finale sono cinque voci, e quasi sempre stanno nelle righe piccole o non stanno da nessuna parte.
Voce 1: il perimetro — cosa è incluso e cosa no
La sezione più importante di un preventivo è quella intitolata «fuori perimetro» o «esclusioni». Se non c'è, il perimetro lo deciderà il fornitore a progetto avviato, e lo deciderà a suo favore. Le funzioni vanno elencate come azioni, non come titoli: «gestione ordini» non significa niente; «inserimento ordine, modifica fino alla conferma, stampa, invio al cliente via email, stato visibile in lista» significa qualcosa.
Chiedi anche: quanti ruoli utente sono previsti e con quali permessi; quanti ambienti (test e produzione); se i dati dal sistema vecchio vengono migrati e chi li pulisce prima. Ogni risposta mancante è un costo che apparirà dopo.
Un esempio vero, con i nomi cambiati. Un'azienda chiede «un portale per i clienti» e riceve due preventivi: uno a un terzo dell'altro. Il primo prevede che il cliente veda i suoi ordini. Il secondo prevede che li veda, li scarichi, ne crei di nuovi, riceva notifiche e che tutto sia sincronizzato col gestionale in tempo reale. Sono due prodotti diversi con lo stesso nome, e il cliente lo scopre alla prima riunione dopo la firma — quando chiede perché non può creare un ordine e si sente rispondere «non era nel perimetro».
Voce 2: di chi è il codice
Alla fine del progetto, il codice sorgente è tuo? Ti viene consegnato? Sta in un repository intestato a te? Ci sono componenti di terzi con licenze che dovrai pagare per sempre? Cosa succede se tra due anni vuoi cambiare fornitore: puoi portare il software a qualcun altro, o è di fatto legato a chi l'ha scritto?
Sono domande scomode da fare all'inizio e devastanti da scoprire alla fine. Un fornitore serio le mette per iscritto senza che tu lo chieda; se le evita, la risposta è già chiara.
Voce 3: le integrazioni con i sistemi che hai già
Il software nuovo non vivrà da solo: dovrà parlare con il gestionale, con la fatturazione, con l'e-commerce, con i pagamenti. Ognuna di queste integrazioni va nominata nel preventivo, una per una, con la risposta a tre domande: il sistema esterno ha le interfacce necessarie? chi paga se quel sistema cambia le sue interfacce tra un anno? ci sono costi di licenza o di API di terze parti che il preventivo non include?
L'integrazione «inclusa» in una riga è la voce che più spesso raddoppia il costo finale, perché nasconde un'analisi che nessuno ha fatto.
Voce 4: cosa succede dopo il go-live
Tre cose diverse si confondono in una parola sola, «assistenza». La garanzia: per quanto tempo i bug vengono corretti senza costi. La manutenzione: chi tiene il software aggiornato e funzionante nel tempo, a che canone, con quali tempi di risposta. L'evoluzione: come si prezzano le funzioni nuove che chiederai. Poi l'hosting e i costi ricorrenti, e la domanda che nessuno fa: chi tiene le chiavi — domini, server, credenziali — e come ti vengono consegnate.
Sulla manutenzione, chiedi i tempi di risposta scritti: se il software si ferma alle 17:45 di un venerdì di fine mese, entro quanto risponde qualcuno e entro quanto risolve? Un canone senza tempi di risposta è un abbonamento a una speranza. E chiedi cosa succede se il fornitore chiude o cambia mestiere: il codice consegnato (voce 2) è la tua assicurazione, ma serve anche la documentazione per chi lo prenderà in mano.
Voce 5: le modifiche in corsa d'opera
Succederanno. Non c'è progetto software in cui, vedendo la prima versione, il cliente non capisca qualcosa che prima non poteva sapere. La domanda non è se, ma come si gestiscono: con richieste di modifica quotate una per una, oppure con un prezzo a corpo che include un margine dichiarato. Entrambi i modelli funzionano; quello che non funziona è non averne scelto uno.
Il modo per ridurle è la fase di analisi prima del preventivo definitivo: mezza giornata con chi userà il software vale più di dieci revisioni dopo. Chi propone un prezzo chiuso senza aver visto i tuoi processi sta indovinando — e farà pagare a te il costo dell'indovinello.
La checklist da portare al prossimo incontro
- Cosa è esplicitamente escluso da questo preventivo?
- Il codice sorgente è mio, consegnato, in un repository a mio nome?
- Quali integrazioni sono incluse, con quali sistemi, e chi paga se cambiano?
- Garanzia, manutenzione, evoluzione: tre righe separate con tre prezzi?
- Come si gestiscono le modifiche in corsa, e a che tariffa?
- Cosa devo fornire io (dati, accessi, persone) e cosa succede se ritardo?
- Come vengono fatti i test prima della consegna?
- Chi tiene le chiavi di tutto, e come me le consegnate?
Queste otto domande separano un fornitore da un venditore in dieci minuti. Se le risposte arrivano pronte e per iscritto, hai davanti qualcuno che fa sviluppo software su misura da abbastanza tempo da conoscere i propri errori. Se arrivano vaghe, il preventivo più basso è quasi sempre quello che costerà di più.
Le domande più comuni
Perché i preventivi software sono così diversi tra loro?
Perché quotano perimetri diversi: integrazioni incluse o escluse, test, garanzia, manutenzione. A parità di funzioni, la differenza sta quasi sempre in ciò che non è scritto.
Il codice sorgente di un software su misura è mio?
Dovrebbe esserlo, ma solo se il contratto lo dice: proprietà del codice, consegna del sorgente e repository a tuo nome vanno scritti prima della firma.
La manutenzione è inclusa nel preventivo?
Raramente. Garanzia sui bug, manutenzione a canone ed evoluzione a richiesta sono tre voci diverse: chiedi che siano separate e prezzate ciascuna.
