Yury Pukhov, YuSMP Group
Yury Pukhov CEO & Software Engineering Lead, YuSMP Group · Software personalizzato per clienti negli USA e in UE dal 2015

TL;DR — la mentalità della stima a intervalli

La stima del software non è una previsione. È un esercizio strutturato per quantificare l'incertezza. I team che gestiscono bene i progetti trattano ogni stima come un intervallo con un livello di confidenza associato, non come una data di consegna fissa scolpita nella pietra. Le tre cose più utili da sapere prima di continuare a leggere:

  • Le stime puntuali sono finzione. Un singolo numero ("ci vorranno 14 settimane") è una cifra commerciale o un impegno forzato. Le stime reali sono intervalli: "8–14 settimane al 70% di confidenza, 14–20 settimane al 90% di confidenza."
  • La leva più efficace è la chiarezza dell'ambito. Investire 4–6 settimane in una fase di discovery a pagamento prima di scrivere una riga di codice in produzione riduce il costo totale del progetto in modo più affidabile di qualsiasi altra azione. Consulta il nostro servizio di sviluppo MVP per un esempio di come strutturiamo questa fase.
  • Le stime tardive sono meno costose da correggere di quelle precoci. Non impegnarti su un budget nella fase di idea. Impegnati su un intervallo. Poi restringilo dopo la discovery.

Perché le stime software falliscono

I progetti software sono notoriamente difficili da stimare con precisione, e le ragioni vanno più in profondità del semplice "gli ingegneri sono ottimisti." Comprendere le cause strutturali è il primo passo per correggerle.

Il cono di incertezza

Descritto originariamente nella ricerca di Barry Boehm sull'economia del software, il cono di incertezza formalizza una scomoda verità: all'inizio di un progetto, quando gli stakeholder desiderano più di tutto un numero preciso, la stima può deviare di un fattore 4x in entrambe le direzioni. Quell'intervallo si restringe man mano che l'ambito viene definito, l'architettura viene scelta e i punti di integrazione vengono mappati. Alla fine di una solida fase di discovery, il cono si restringe tipicamente a ±25%. Al termine del primo sprint, si restringe a ±10%.

L'implicazione è diretta: pretendere un prezzo fisso nella fase di idea significa chiedere un numero strutturalmente inaffidabile. La risposta appropriata è un intervallo con un livello di confidenza esplicito.

Incognite sconosciute

Le incognite note — "non siamo sicuri di come l'ERP legacy esporti i dati" — possono essere stimate con un buffer di rischio. Le incognite sconosciute non possono, per definizione, essere pianificate. Emergono a metà sviluppo: il comportamento dei webhook del provider di pagamenti differisce dalla documentazione; il provider di identità richiede un attributo SAML personalizzato che richiede due settimane per essere implementato; il regolatore aggiunge un nuovo requisito di audit log sei settimane prima del go-live. Queste sorprese non sono incompetenza degli ingegneri; sono intrinseche alla costruzione di software su sistemi di terze parti e scenari di conformità in evoluzione.

Scope creep e aggiunte degli stakeholder

Il più comune killer del budget non è una stima mancata — è un'aggiunta all'ambito che aggira il processo di controllo delle modifiche. Uno stakeholder vede la build beta e richiede "solo un altro" widget della dashboard, tipo di notifica o integrazione. Ogni aggiunta, individualmente ragionevole, si somma alle altre. Gli studi del Project Management Institute mostrano costantemente che lo scope creep contribuisce a oltre il 50% degli sforamenti di progetto. Una stima ben strutturata include una clausola di controllo delle modifiche che valuta qualsiasi aggiunta all'ambito rispetto alla baseline originale.

Sorprese da integrazioni e conformità

Integrarsi con un'API di terze parti è raramente semplice come suggerisce la documentazione. Limiti di velocità, casi limite di autenticazione, inconsistenze nel formato dei dati e deprecazioni di versione aggiungono tempo di ingegneria che si moltiplica su più integrazioni. Analogamente, i requisiti di conformità — residenza dei dati GDPR, gestione dei PHI HIPAA, audit trail SOC 2 — influenzano l'architettura del sistema, non solo la documentazione. Se la stima non include una voce dedicata per ogni integrazione e ogni requisito di conformità, la stima mancherà il bersaglio.

engineering team at a whiteboard breaking down user stories for project estimation
Scomporre le user story in attività concrete prima di stimare è l'azione singola che più affidabilmente restringe il cono di incertezza. Un workshop di stima di mezza giornata prima del piano dello sprint è meno costoso di un mese di rielaborazione.

Confronto tra gli approcci di stima

Non esiste un unico metodo di stima corretto. L'approccio giusto dipende da quanto è noto, dalla dimensione del team e dal modello contrattuale. Ecco i quattro approcci più comunemente utilizzati e quando ricorrere a ciascuno.

Stima esperta / per analogia

Un ingegnere o PM esperto produce una stima basata su progetti precedenti di ambito e complessità simili. Veloce (ore, non giorni) e utile nella fase di idea per approssimare una categoria di budget. L'accuratezza dipende interamente dalla qualità dell'analogo — se il nuovo progetto assomiglia da vicino a progetti passati, la stima esperta è affidabile entro ±30–40%. Si rivela inadeguata quando il nuovo progetto ha tecnologie innovative, requisiti di conformità insoliti o una composizione del team diversa da quella del progetto di riferimento.

Quando usarla: Conversazioni iniziali sul budget, verifiche di fattibilità, discussioni con investitori in fase iniziale. Non per la contrattazione.

Stima a tre punti (PERT)

Il Program Evaluation and Review Technique (PERT) migliora la stima esperta richiedendo tre valori per ogni elemento di lavoro: ottimistico (O), più probabile (M) e pessimistico (P). Il valore atteso ponderato E e la sua deviazione standard SD sono:

E = (O + 4M + P) / 6
SD = (P − O) / 6

La formula attribuisce alla stima più probabile un peso quattro volte superiore agli estremi, producendo un unico valore atteso e una deviazione standard utilizzabile per costruire intervalli di confidenza. La somma dei valori SD su attività indipendenti (usando la radice della somma dei quadrati per attività indipendenti: √(SD¹² + SD²² + …)) fornisce una banda di incertezza a livello di progetto.

Quando usarla: Qualsiasi stima che si intende quotare a un cliente o utilizzare in un contratto. Particolarmente utile quando le integrazioni o la conformità introducono scenari pessimistici elevati.

Stima a story point / per velocità

Utilizzata all'interno di team agile che hanno stabilito una velocità storica (story point completati per sprint). Ogni user story viene dimensionata rispetto a storie di riferimento note utilizzando una scala simile a Fibonacci (1, 2, 3, 5, 8, 13, 21). Il totale degli story point diviso per la velocità del team fornisce il numero di sprint e quindi il tempo di calendario. Molto accurata per team con 3–6 sprint di storico di velocità su lavori simili. Non affidabile per nuovi team, nuovi stack tecnologici o ambiti che includono ricerca o esplorazione significative.

Quando usarla: Consegna continuativa con un team consolidato. Pianificazione degli sprint e grooming del backlog. Non appropriata per le proposte iniziali a prezzo fisso a un cliente che non ha mai lavorato con il team.

Stima bottom-up (WBS)

La stima con Work Breakdown Structure (WBS) scompone l'intero progetto in attività atomiche — schermate individuali, endpoint API, connettori di integrazione, suite di test, pipeline di deployment — e stima ciascuna individualmente. Le stime si sommano ai totali di fase e poi al totale del progetto. La più laboriosa (può richiedere 2–5 giorni per un progetto di medie dimensioni) ma produce la stima più accurata prima dell'inizio dello sviluppo. Fa emergere naturalmente le lacune nella definizione dell'ambito: se non si riesce a scomporre un elemento di lavoro in attività concrete, l'ambito non è ancora definito.

Quando usarla: Qualsiasi progetto in cui si stia valutando un contratto a prezzo fisso. Post-discovery, quando l'ambito è ben compreso. Utile anche come verifica di sanità rispetto alle stime esperte o PERT.

Un flusso di lavoro pratico passo dopo passo

Questo è il processo in sei fasi che utilizziamo in YuSMP Group per produrre stime per clienti negli USA e in UE. Funziona per progetti da MVP da $50k a build enterprise da $500k+.

  1. Definire le user story indispensabili. Non la lista dei desideri — il 20% delle funzionalità che porta l'80% del valore. Scrivi le user story nel formato "Come [ruolo], voglio [azione] in modo che [risultato]." Ogni storia deve avere criteri di accettazione chiari prima dell'inizio della stima. Le storie senza criteri di accettazione non possono essere stimate in modo affidabile.
  2. Scomporre ogni storia in attività. Suddividere ogni user story in attività di ingegneria concrete: componente UI, endpoint API, modifica del modello dati, caso di test, chiamata di integrazione. Puntare ad attività di 0,5–2 giorni ciascuna. Le attività più lunghe di 2 giorni nascondono l'incertezza; quelle più brevi di 0,5 giorni comportano troppo overhead per essere monitorate in modo significativo.
  3. Stimare ogni attività con PERT. Per ogni attività, raccogliere tre stime (ottimistica, più probabile, pessimistica) dall'ingegnere che svolgerà il lavoro. Calcolare E e SD per attività. Registrare tutti e tre i valori — la colonna pessimistica è dove vivranno le sorprese da integrazione e i requisiti di conformità.
  4. Aggiungere moltiplicatori per integrazione, conformità, QA e PM. Lavoro di integrazione: aggiungere una voce separata per ogni API di terze parti, dimensionata indipendentemente. Conformità: se GDPR, HIPAA o SOC 2 rientrano nell'ambito, aggiungere il 15–35% ai sottosistemi interessati. QA: budget del 15–25% del tempo di sviluppo per test automatici e test di accettazione manuale. Overhead PM/comunicazione: 10–15% del tempo totale di ingegneria per un progetto ben gestito; fino al 20% per progetti con molti stakeholder o livelli di approvazione.
  5. Applicare un intervallo e un buffer di confidenza. Non consegnare un singolo numero. Produrre tre output: una stima P50 (E sommato su tutte le attività, senza buffer), una stima P70 (E + 0,5×SD totale) e una stima P90 (E + 1,28×SD totale). Presentare il P70 come numero "atteso" e il P90 come tetto di budget. Se il cliente desidera un contratto a prezzo fisso, il prezzo dovrebbe essere basato sul P90, non sul P50.
  6. Validare rispetto a progetti passati analoghi. Prima di consegnare la stima, confrontare il totale con il progetto completato più simile. Se la nuova stima supera del 20% o si discosta del 20% dal progetto analogo su base per-story-point o per settimana-ingegnere, indagare la discrepanza prima di presentarla. O la scomposizione ha mancato qualcosa, o l'analogia non è così vicina come sembrava.
product manager reviewing a software estimation spreadsheet with PERT values and confidence ranges
Un foglio di calcolo di stima basato su PERT impone tre numeri per attività, non uno. La colonna pessimistica è dove vivono i rischi reali — se gli ingegneri la compilano onestamente, rivela il vero profilo di rischio del progetto prima che venga scritta una singola riga di codice.

Esempio pratico con tabella PERT

Scenario: una startup sanitaria statunitense ha bisogno di un portale di accoglienza pazienti — una web app con ruoli per il medico e il paziente, prenotazione degli appuntamenti, un generatore di moduli di consenso PDF, un visualizzatore di risultati di laboratorio (integrazione API HL7 FHIR) e archiviazione dati conforme HIPAA. Nessuna app mobile nell'ambito per la fase uno.

Di seguito è riportata una stima PERT semplificata per le funzionalità principali. Tutti i valori sono in giorni di ingegneria per un team composto da un senior e un mid-level.

Funzionalità / elemento di lavoro Ottimistico (O) Più probabile (M) Pessimistico (P) PERT E
Autenticazione & gestione ruoli (medico / paziente)3585.2
Profilo paziente & modulo di accoglienza3575.0
Prenotazione appuntamenti & calendario58148.5
Generatore di moduli di consenso PDF2474.2
Integrazione risultati di laboratorio HL7 FHIR6102010.7
Archiviazione conforme HIPAA & audit log47127.3
QA, test automatici & UAT58138.3
Totale (giorni di ingegneria)28478149.2

Con un team di due ingegneri e una settimana lavorativa di 5 giorni, 49,2 giorni di ingegneria corrispondono a circa 5 settimane di calendario al 100% di allocazione. Aggiungendo PM e design (15%), il lavoro di discovery già completato (escluso qui) e un buffer di contingenza del 25% per un ambito a media confidenza, la finestra di consegna P70 è 7–8 settimane di calendario e il tetto P90 è 10–12 settimane.

A una tariffa blended nearshore senior di $65/ora (circa $520/giorno-ingegnere), il costo PERT E è $25.584. Con il team completo inclusi PM e design al 15%, il costo totale si attesta approssimativamente a $29.000–$38.000 solo per la fase di sviluppo — coerente con un MVP di fase uno ben definito. Per il contesto completo dei costi del progetto, consulta il nostro articolo sui costi di sviluppo software personalizzato nel 2026.

Buffer, contingenza e livelli di confidenza

Un buffer non è un gonfiamento. È una rappresentazione onesta dell'incertezza della stima. La percentuale di buffer corretta dipende da quanto è noto l'ambito al momento della stima.

  • Alta confidenza (post-discovery, WBS completa): buffer del 15–25% sul totale PERT E. Appropriato quando ogni integrazione è stata prototipata, i requisiti di conformità sono documentati e non rimangono grandi incognite tecniche.
  • Media confidenza (requisiti definiti, alcune integrazioni non testate): buffer del 30–40%. La situazione più comune per i progetti mid-market al momento della firma del contratto.
  • Bassa confidenza (fase di idea, tecnologia innovativa, molte incognite): 50% o più — oppure fornire la stima solo come intervallo, senza un numero fisso. Una conversazione sul budget in questa fase dovrebbe stabilire un tetto di spesa, non un impegno di consegna.

Per i progetti di grandi dimensioni, considera di distribuire la contingenza in fasi: rilascia il 50% del buffer nel piano al momento della firma del contratto, tieni il 50% in riserva per la fase post-beta quando tendono a emergere le vere sorprese da integrazione e conformità.

Un utile framework per le conversazioni con i clienti: invece di "il progetto costa $X," presenta tre scenari — "se tutto va come pianificato, $X; se incontriamo le sorprese attese, $Y; se ci troviamo nello scenario di integrazione peggiore, $Z." I clienti che comprendono l'intervallo prendono decisioni migliori sulla prioritizzazione dell'ambito e sui compromessi di tempistica rispetto ai clienti a cui è stato dato un singolo numero.

Prezzo fisso vs T&M: chi si assume il rischio di stima

Il modello contrattuale cambia fondamentalmente dove si posiziona il rischio di stima. Questa è una delle decisioni più significative in un acquisto software, eppure viene spesso presa senza comprendere il trasferimento di rischio che implica.

I contratti a prezzo fisso trasferiscono il rischio di tempi e costi al fornitore. Il fornitore assorbe qualsiasi errore di stima che rientra nell'ambito del contratto. Questo suona attraente per i clienti — ma i fornitori compensano prezzando rispetto allo scenario pessimistico (P90), non al valore atteso (P70), e difendendo rigidamente l'ambito. Se i requisiti evolvono durante lo sviluppo — come quasi sempre accade — ogni richiesta di modifica innesca una negoziazione di change order. Il prezzo fisso funziona meglio quando l'ambito è genuinamente stabile, completamente definito e improbabile che si evolva. Tale condizione è rara al di fuori di build di fase uno ben definiti, post-discovery.

Il tempo e materiali (T&M) trasferisce il rischio di stima di nuovo al cliente. Il fornitore fattura le ore effettivamente lavorate alle tariffe concordate. I clienti mantengono la piena flessibilità per cambiare le priorità, aggiungere ambito o fermarsi anticipatamente — ma si accollano il costo di eventuali aggiunte all'ambito e degli errori di stima. Il T&M funziona bene per prodotti in evoluzione, relazioni di sviluppo continuativo e fasi ad alta intensità di ricerca in cui l'output è conoscenza, non un deliverable fisso.

Il modello che vediamo funzionare meglio per i clienti mid-market negli USA e in UE: una fase di discovery a prezzo fisso (4–6 settimane, $15.000–$30.000) seguita da sprint basati su milestone in T&M con un tetto di budget mensile. Questo dà ai clienti la certezza dei costi che desiderano nella fase di pianificazione e la flessibilità di cui hanno bisogno durante lo sviluppo. Per un confronto completo dei modelli di ingaggio, consulta il nostro articolo su tempo e materiali vs prezzo fisso vs team dedicato.

Le implicazioni per la stima sono dirette: per una proposta a prezzo fisso, basa il prezzo sul P90 e includi un processo di controllo delle modifiche chiaramente definito. Per il T&M, quota il P50 come tasso di spesa mensile atteso e comunica il P90 come tetto rispetto al quale pianificare il budget.

Segnali d'allarme nei preventivi dei fornitori

Quando sei dalla parte del compratore e valuti le proposte dei fornitori, questi cinque schemi indicano una stima che non sopravviverà al contatto con la realtà.

Un prezzo fisso preciso senza fase di discovery

Se un fornitore quota un prezzo fisso preciso su un sistema complesso senza aver dedicato tempo a capire il tuo modello dati, le integrazioni e i requisiti di conformità, sta o indovinando o pianificando di tagliare l'ambito per rispettare il numero. Un partner di sviluppo software affidabile quota prima un prezzo fisso per una fase di discovery, poi fornisce un prezzo fisso per lo sviluppo dopo che quella fase ha prodotto un documento di ambito dettagliato.

Nessun intervallo nella proposta

Le stime reali hanno sempre un'incertezza. Una proposta che presenta una singola data di consegna e un singolo prezzo senza un livello di confidenza dichiarato è un documento commerciale, non una stima tecnica. Chiedi al fornitore di mostrarti i loro scenari ottimistico, più probabile e pessimistico. La loro disponibilità a farlo è un segnale di maturità tecnica.

Integrazioni elencate come unica voce

Ogni integrazione con un sistema di terze parti — processore di pagamenti, CRM, ERP, identity provider, data provider — merita la propria voce con il proprio intervallo di incertezza. Una proposta che elenca "3 integrazioni" come un'unica riga da $5.000 non è stata scomposta a livello di integrazione. L'esempio HL7 FHIR sopra illustra il perché: una singola integrazione può far slittare un progetto di due mesi.

Conformità trattata come documentazione aggiuntiva

La residenza dei dati GDPR, la gestione dei PHI HIPAA, l'audit logging SOC 2 e i requisiti PCI-DSS per i dati di carta cambiano l'architettura del sistema. Non sono esercizi documentali che si aggiungono alla fine. Se una proposta menziona il GDPR in un singolo punto elenco senza una voce di costo separata, il fornitore non ha effettivamente considerato cosa significa la conformità per il tuo modello dati, i requisiti di crittografia e il design del controllo degli accessi. Per un trattamento dettagliato di come la conformità influisce sui costi di sviluppo, consulta la nostra checklist per lo sviluppo software conforme HIPAA.

Nessuna voce di manutenzione o post-lancio

Ogni sistema in produzione necessita di manutenzione continuativa fin dal primo giorno: patch di sicurezza, aggiornamenti delle dipendenze, monitoraggio, risposta agli incidenti. Una proposta che termina al "lancio" e non include un modello di costo post-lancio presenta un quadro incompleto del costo totale di proprietà. I benchmark del settore collocano la manutenzione annuale al 15–20% del costo originale di sviluppo. Se quel numero non è nella proposta, chiedi dove è finito — e consideralo nella tua valutazione del costo totale. Per un modello di costo completo inclusa la manutenzione, consulta la nostra guida ai costi di sviluppo di web app personalizzate e il nostro articolo correlato sui costi MVP nel 2026.

FAQ

Perché le stime dei progetti software mancano così spesso il bersaglio?

Le stime software falliscono principalmente a causa del cono di incertezza: nelle prime fasi di un progetto, quando le stime vengono richieste, solo il 5–20% dell'ambito è effettivamente noto. Il fattore più pericoloso sono le incognite sconosciute — integrazioni che si rivelano non documentate, requisiti di conformità scoperti a metà sviluppo, API di terze parti che si comportano diversamente da quanto promesso dalla documentazione. Le stime si spostano anche quando l'ambito viene ampliato senza una corrispondente conversazione sul budget.

Qual è la formula di stima PERT?

Il PERT calcola un valore atteso ponderato come: E = (O + 4M + P) / 6, dove O è la stima ottimistica, M è la più probabile e P è la pessimistica. La formula attribuisce alla stima più probabile un peso quattro volte superiore agli estremi. Produce anche una deviazione standard di (P − O) / 6 che consente di costruire intervalli di confidenza al 70% e al 90% attorno al valore atteso.

Quale buffer di contingenza devo aggiungere a una stima software?

La dimensione del buffer dipende da quanto è noto. Dopo una fase di discovery a pagamento con una WBS completa, il 15–25% è appropriato. Per un ambito a media confidenza, il 30–40%. Per un'idea in fase iniziale con molte incognite, il 50% o più — oppure fornire come intervallo anziché come cifra puntuale. I buffer rappresentano un'incertezza onesta, non gonfiamento del fornitore.

Quando conviene usare il prezzo fisso rispetto al tempo e materiali?

Il prezzo fisso funziona quando l'ambito è completamente definito e stabile — tipicamente dopo una fase di discovery a pagamento. Trasferisce il rischio di costi e tempi al fornitore, che prezza rispetto allo scenario pessimistico. Il T&M è più adatto per ambiti in evoluzione, sviluppo continuativo o fasi ad alta intensità di ricerca. Il modello ibrido che funziona meglio per la maggior parte dei clienti mid-market: discovery a prezzo fisso, poi T&M basato su milestone per lo sviluppo.

Quali sono i segnali d'allarme in un preventivo software di un fornitore?

Cinque segnali d'allarme: (1) Un prezzo fisso preciso su un sistema complesso senza fase di discovery. (2) Nessun intervallo — un singolo numero senza banda di confidenza è una cifra di vendita, non una stima. (3) Integrazioni collassate in un'unica voce. (4) Conformità trattata come documentazione aggiuntiva piuttosto che come preoccupazione architetturale. (5) Nessuna voce di manutenzione post-lancio — ogni sistema in produzione necessita di manutenzione continuativa nel budget fin dal primo giorno.

Ultimo aggiornamento 11 giugno 2026. Gli intervalli di stima e i moltiplicatori riflettono l'esperienza di consegna di YuSMP Group su progetti per clienti negli USA e in UE dal 2015. Le stime dei singoli progetti variano; contattaci per una valutazione dell'ambito del tuo specifico progetto.