Ci sono già delle ottime risposte. Qui ci sono un paio di altre osservazioni basate sul fatto di aver fatto del mio meglio uno sviluppo in outsourcing come questo per la maggior parte degli ultimi vent'anni.
Senza una specifica adeguata, scritta e concordata, fare contratti a prezzo fisso è un modo veloce per perdere tonnellate di denaro.
Mia moglie e io avevamo una ditta di sviluppo software personalizzata. Intorno al 1998, ci siamo avvicinati per fare un porto. "Non abbiamo una specifica o addirittura una lista di funzionalità, abbiamo solo bisogno di un programma Mac con le stesse funzionalità della nostra versione di Windows." Così abbiamo esaminato la versione di Windows, proposto un prezzo, un po 'dickered e concordato un prezzo. E poi si è scoperto che non solo i bugiardi avevano una lista di caratteristiche, ma c'erano un sacco di funzionalità nascoste che non avevamo notato durante la nostra revisione che erano molto difficili e lunghe da implementare. Gli stipendi dei nostri dipendenti da soli per completare il progetto ci sono costati tre volte le entrate per questo.
La mia esperienza è stata che le persone che non forniscono una specifica e non sono disposti a pagarle per scriverne una, sono dilettanti o cercano di ottenere qualcosa per niente, ed entrambi i tipi di client sono un grosso problema.
Non scrivere una specifica e darla gratuitamente al cliente.
È molto allettante farlo in modo da poter ottenere un accordo dal cliente e proteggersi - ma lo facevo e ho deciso che era un errore. Una volta l'ho fatto, ho incluso le informazioni nelle specifiche su cui avevo particolare esperienza. Il potenziale cliente passò a un team di sviluppo più economico; le informazioni nelle specifiche hanno colmato le lacune mancanti nelle loro conoscenze - e il lavoro sostanziale che avevo messo nelle specifiche era in bagno.
Ora considero le specifiche e i documenti di progettazione non solo per i prodotti di lavoro, ma anche per quelli altamente specializzati per i quali addebito una tariffa oraria molto più elevata di quella per la programmazione semplice. In questo modo, se il cliente vuole metterli in vendita per le scimmie con codice a basso costo su eLance, non ci sono problemi.
In realtà, negli ultimi otto anni, ho risolto il problema in modo molto semplice: non faccio più progetti a prezzo fisso e ho una tariffa oraria non andrò al di sotto .. Da quando faccio quel cambio, sono molto più felice, fai più soldi, e i clienti skeevy vanno da qualche altra parte.