Cercherò di aiutarti a risolvere il tuo problema più che a rispondere alla tua domanda.
Ci sono molti sistemi per stimare i costi del software in anticipo. Perché non c'è solo uno? Perché non ce n'è uno che funzioni davvero. Un commento ha menzionato COCOMO-II, che ritengo sia accurato entro un fattore di 7 volte in entrambi i casi! (è dalla memoria, non riesco a trovare un riferimento, quindi prendilo con un pizzico di sale).
Non sarai in grado di dare a un cliente una stima con un fattore moltiplicare / dividere di 7.
Quindi, cosa fanno veramente le persone?
- Fai offerte in modo conservativo e di solito perdi il contratto.
- Fai offerte aggressive e perdi denaro il più delle volte.
- Chiama il cliente a non fare offerte a prezzo fisso.
- Fai offerte aggressive e poi guadagna i soldi più tardi.
L'articolo 4 riporta la spiegazione. Le tattiche più comuni sono:
- Non fare nulla nei requisiti. Ad esempio, la qualità del codice è raramente un requisito. La formazione spesso non è un requisito. Per essere completamente completo, una specifica sarebbe un programma funzionante, quindi è possibile trovare quasi sempre le cose vitali non nelle specifiche.
- Se ti viene chiesto di fare qualcosa che non sia nei requisiti, allora viene fatturata ogni ora, solitamente a un tasso elevato.
- Di solito i bug devono essere corretti. Quindi ogni bug viene classificato come "design".
Questo è il motivo per cui molti progetti a prezzo fisso sono una battaglia senza fine tra le parti. Quanto male tende a essere basato su quanti soldi l'appaltatore sta perdendo, quanto è avido l'appaltatore, quanto è avido il cliente, e quanto dietro è stato stimato il progetto.
Se il processo va bene (il che può accadere, anche se non lo faccio sembrare in questo modo), gli elementi nelle specifiche che sono difficili da implementare possono essere scambiati con oggetti che sono stati dimenticati, il prezzo massimo (iniziale riparata le specifiche di prezzo più tutte le cose a cui nessuno pensava) è giusto, e tutti sono felici.
Se il processo va male, ciò che viene effettivamente implementato si basa su ciò che è nelle specifiche originali più il risultato di battaglie politiche sul denaro, e qualcuno perde denaro (probabilmente tutti).
Nella gestione di un progetto, se non ti pieghi sul prezzo, sul tempo o sulle funzionalità, ma non puoi controllare la qualità, indovina cosa soffre di solito? Il processo di offerta a prezzo fisso elimina all'inizio la possibilità di piegare il prezzo o le caratteristiche ed è generalmente strongmente contro la flessione in tempo. Sembra che ti piacerebbe essere giusto e fare un buon lavoro, ma capisci che è un modello difficile su cui lavorare.