Come altri hanno già detto, è almeno in parte una congettura, anche se le tue ipotesi dovrebbero basarsi su (sperabilmente estese) esperienze precedenti. Se rimani totalmente all'oscuro, ma comunque interessato, offri di fare il lavoro a ore piuttosto che come un contratto a prezzo fisso. Ma se fai le cose per bene, il prezzo fisso può finire molto più redditizio (mi piacerebbe avere un punteggio di tre volte in media) rispetto a ogni ora. Inoltre, anche se finiscono per pagare di più, i clienti spesso finiscono per essere più felici - hanno avuto un costo up-front noto.
Ma una cosa in più che posso dirti per certo - non è richiesta alcuna congettura. Su qualsiasi progetto non banale, gli utenti / clienti / etc stanno per cambiare idea, avere nuove idee, ecc. Ecc. Prima di passare alla produzione.
Alcuni sviluppatori si arrabbiano molto per questo sviluppo assolutamente inevitabile. Ma è davvero una buona cosa. Solo un cliente che è un idiota completo non avrà idee nuove / modificate / ecc. Mentre legge le specifiche funzionali, gioca con i prototipi, parla agli utenti, si siede e pensa, ecc. Ecc. Tutto ciò aiuta solo a fornire un sistema migliore . Lo sviluppo è, per sua natura, un obiettivo in movimento. Non essere arrabbiato, sii preparato.
Ma i clienti devono essere preparati per il ritardo e il costo aggiuntivi delle loro idee nuove / modificate. Verifica che lo siano già, oppure spiega i fatti della vita il più delicatamente possibile. Ho un gentile detto di introdurre tali conversazioni, che condividerò con voi qui (ma non dirlo a nessun altro): è " TTT " che significa T h < strong> T ake T ime. Abbastanza carino quindi non è intimidatorio (dillo con un sorriso), ma aiuta a ottenere il punto generale all'inizio di una discussione.
E durante lo sviluppo, quando vengono richieste le inevitabili modifiche, la discussione più sensibile sta negoziando le modifiche del contratto corrispondenti (ovvero più denaro). I clienti inizieranno inevitabilmente a spiegarti come ciò che stanno chiedendo è in realtà già nel contratto originale. Circa il 20% delle volte avranno un punto discutibile. Assicurati di riconoscere quelle occasioni occasionali e di essere più che imminente quando si verificano. Ma circa l'80% delle volte soffia il fumo (sai dove :), e devi essere solido ma amichevole - le buone relazioni con i clienti sono tutto. Qualunque cosa. Qualunque cosa. Ecco perché ho iniziato questo paragrafo enfatizzando "la discussione più sensazionale". Devi essere pagato, ma non puoi rendere i clienti arrabbiati per questo.
A volte il tempo richiesto non è preventivato, o porta a scadenza, ecc. In questi casi, e in tutti i casi, le specifiche funzionali dovrebbero avere una sezione più o meno intitolata "Revisioni pianificate per la versione 2.0" . Infatti, a volte le cose che avevi programmato per la versione 1.0 finiscono in quella sezione.