Come stimare il costo con pochissime informazioni? [chiuso]

7

Ho un cliente che vuole un'applicazione web che gli consenta di fare quanto segue (come mi ha detto parola per parola):

  • Registrazione utente

  • Pagamenti ricorrenti per gli utenti

  • Prenotazione sala conferenze online

Dovrei dargli una stima dei costi molto veloce e non ho tempo per fare analisi approfondite sui requisiti! Come faresti a gestire questo tipo di situazione? Dovrei semplicemente dare una stima molto ampia e calcolare i requisiti esatti una volta che ha accettato il preventivo? A che punto di solito raccogli i requisiti, dopo o prima di ottenere un contratto?

    
posta Olivier Lalonde 27.11.2010 - 18:54
fonte

11 risposte

10

Ecco cosa faccio di solito per limitare i problemi:

Definisci tu stesso le informazioni , descrivendo ciò che intendi fare nei dettagli.

Bid on that, and only that.

Fai riferimento a quel documento nel tuo modulo d'ordine d'acquisto ufficiale chiederai al tuo cliente di firmare .

Come altenativo, ti suggerisco di vendere il tuo cliente con iterazioni invece di funzioni fisse, con la possibilità di interrompere o continuare lo sviluppo alla fine di ogni iterazione.

Se non sai come valutare il tuo documento, prova a fare una stima collettiva usando pianificazione del poker . È inoltre possibile suddividere ciascuna funzione in attività e stimare ciascuna. Somma e moltiplichi il risultato di due se sei abbastanza sicuro, o tre se non sei sicuro.

Se non ti senti a tuo agio con le tue stime, è una buona indicazione che non sei abbastanza esperto per accettare il lavoro in uno schema a prezzo fisso.

    
risposta data 27.11.2010 - 20:23
fonte
8

Offerta per fare l'analisi e la progettazione in 2 settimane a un prezzo fisso (con obblighi da parte loro di comunicare e revisionare in modo tempestivo); possono prendere l'output e farlo agli altri venditori, se lo desiderano, ma assegnare loro un numero basato su tre punti elenco sarà un enorme shock adesivo per loro, o un pagamento insufficiente per te.

    
risposta data 27.11.2010 - 19:33
fonte
6

Conta le singole pagine Web. Ad esempio, "registrazione utente" probabilmente significa che c'è una pagina "iscriviti" - c'è anche una pagina "modifica il mio profilo"? Una pagina "guarda il profilo di qualcun altro"? I manager possono modificare le loro persone? Esiste una pagina "cambia password"? Una pagina "Ho dimenticato la mia password"? Devono fornire domande e risposte segrete, nel qual caso ci sono anche pagine per questo? Ripeti tutto questo per i tuoi altri proiettili. Vieni con un numero, come 7 o 27 o 93 o qualsiasi altra cosa, di pagine web. (Questo elenco formerà parte della tua proposta e mostrerà al cliente che hai già iniziato a progettare il progetto.)

Se hai creato pagine Web prima di utilizzare la tecnologia che intendi utilizzare, dovresti avere una sensazione approssimativa per lo sforzo medio per pagina. 1 ora, mezza giornata, 1 giorno - dipende non solo dalla tua tecnologia ma da quanto tempo hai messo a disposizione, convalida, accessibilità - ma dovresti già sapere questo numero. Moltiplica i due. È possibile aggiungere tempo per "progettare database e scrivere proc" o "progettare layout di report" se si stampa qualcosa di stravagante. Aggiungi una contingenza del 10-25% a seconda di ciò che pensi che il cliente tollererà. Fatto.

Se prima non hai utilizzato la tecnologia per creare pagine web, rifiuta questo lavoro. Se per qualche motivo non puoi, allora preparati a perdere soldi perché non sarai in grado di fatturare il tuo tempo di apprendimento e non sarai pronto a fare delle stime. Come approccio alla desparazione se ritieni davvero di dover svolgere il lavoro, offri di fare uno "studio di fattibilità" in cui definirai il progetto e stimerai un prezzo fisso per realizzare il tuo progetto. O chiedi di essere "in orario" per lo studio di fattibilità, o di offrire un'offerta piatta come 1 giorno o 1 settimana o 2 settimane.

    
risposta data 27.11.2010 - 19:07
fonte
4

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.

    
risposta data 28.11.2010 - 01:22
fonte
3

Non puoi. Dì al cliente che è simile alla costruzione di un ponte o di una casa e richiede la stessa quantità di preparazione per dare una stima accurata.

    
risposta data 27.11.2010 - 20:35
fonte
2

Benvenuti nel mondo reale.

Consiglierei al tuo cliente di utilizzare una tariffa giornaliera di € x al giorno per calcolare i tuoi prezzi e potrebbe produrre qualcosa che soddisfacesse tale specifica in poche ore riconfigurando Outlook - ma che non sei sicuro che sia ciò che è tuo il cliente è in realtà dopo. Suggerisci di incontrarti e di passare circa un'ora a esaminare i dettagli.

Se il tuo cliente non è disposto a dedicare del tempo a definire realmente quali sono i suoi bisogni quando cercano un implementatore, si deteriorerà solo con il progredire del progetto.

    
risposta data 27.11.2010 - 21:08
fonte
2

Stai dicendo che il cliente si rifiuta di darti tempo sufficiente per un'analisi dei requisiti più approfondita. Questo di per sé è una bandiera rossa. Forse hanno già ottenuto una stima da qualcun altro e non gli piace, e pensano che se possono semplicemente indurti ad accettarlo per un prezzo basso, saranno in grado di costringerti a consegnare.

Ci sono tre modi in cui ho visto di fronte a questo:

  1. Esegui comunque una stima dell'intestino, senza un'analisi più approfondita
  2. Stima automaticamente come 150 giorni uomo e indica il client alla soluzione 3 se questo li turba.
  3. Vendita del cliente a un progetto di analisi

Non posso consigliare la soluzione 1. Il rischio di finire con una stima impossibile è troppo grande.

La soluzione 2 è ancora rischiosa. 150 giorni uomo è abbastanza grande che se in seguito mordono di solito è possibile definire un ambito che si adatta a tale stima. Tuttavia, a seconda del significato del tuo cliente per la prenotazione della sala conferenze, ciò potrebbe non essere sufficiente.

In particolare su quell'argomento, quanto bene conosci lo spazio del problema? Hai pensato a tutti gli aspetti coinvolti?

  • Il sistema deve integrarsi con Outlook?
  • Dovrà supportare il catering e le attrezzature (ad esempio i beamer)?
  • Dovrà supportare i partecipanti al monitoraggio, con l'integrazione della reception?
  • Dovrà supportare la fatturazione automatica delle camere prenotate e della relativa ristorazione? Che tipo di modelli di prezzi dovrà tenere conto?
  • Dovrai tenere traccia delle chiavi della stanza, con check-out / check-in?
  • Saranno tutti in grado di prenotare qualsiasi cosa o hai bisogno di sicurezza a livello di camera?
  • ...

Ho appena trascorso un anno a ridisegnare il front-end di un maturo sistema di prenotazioni per sale conferenze e le specifiche di progettazione hanno finito col riempire diverse centinaia di pagine. Non sottovalutare la complessità di un sistema di prenotazione competitivo per le sale conferenze.

Naturalmente, puoi mantenerlo semplice. Ma se il tuo cliente desidera un sistema che sia competitivo con ciò che è già in circolazione, il semplice non lo taglierà. A meno che il cliente non sia d'accordo con esattamente su che cosa costruirai, è praticamente garantito che finirai con una trattativa approssimativa una volta arrivato il momento di consegnare e ricevere i pagamenti.

    
risposta data 27.11.2010 - 22:44
fonte
2

Scegli un importo casuale, raddoppialo, quindi comunica al cliente quel numero, più o meno il 200%. Questo dovrebbe arrivare al punto.

    
risposta data 27.11.2010 - 23:07
fonte
1

Ci sono un paio di sistemi di stima là fuori, e non sono particolarmente nuovi.

Punti funzione
L'idea di " punti funzione " è fondamentalmente che tutti i programmi hanno le stesse 5 funzioni: uscite, richieste, input, file interni, e interfacce esterne. Hai già utilizzato uno schema di "registrazione utente", quindi hai una buona idea di come uno di quegli aspetti. Per quanto riguarda il "sistema di pagamento ricorrente", questo sarà più complicato e probabilmente vorrai esaminare un'API esistente (molte persone vanno con PayPal fino a quando Paypal non le infila, quindi fai un "Piano B" in mente quando vai quella rotta).

Esistono numerosi strumenti per i punti di funzione "in cambio di denaro", ma uno gratuito qui .

COCOMO
COststructive COst MOdel utilizza dati storici per la stima, ma suppongo che manchi di dati storici per capire quanto tempo e impegno comporterà questo progetto.

Parole donnole: COCOMO non è correlato alla città dell'Indiana chiamata Kokomo . Quando i Beach Boys facevano pubblicità per Delco Electronics (una divisione di GM che ora scava e chiama Delphi Electronics), hanno detto che il nome della città gli piaceva così tanto che volevano metterlo in una canzone.

Questi metodi di stima richiedono dati storici, che la maggior parte degli sviluppatori non raccoglierà da soli. Un metodo per farlo, per un unico professionista sarebbe PSP . Anche se questo non ti aiuterà a spegnere questo particolare incendio, ti aiuterà a stimare il futuro. Parte della ragione per cui stimare è così difficile per le persone è che non tengono traccia delle loro stime (quindi non possono dire dove hanno sbagliato, o hanno bisogno di adattarsi nei progetti futuri). E un'altra parte significativa del perché la stima è così difficile è che la gente è stata gravemente bruciata dai disgraziati che giocano a giochi politici con sviluppatori . Le stime fuori dagli schemi sono sempre terribilmente sbagliate con le sole eccezioni di "l'abbiamo fatto prima e ci voleva esattamente X per completarlo".

    
risposta data 27.11.2010 - 19:15
fonte
1

È probabile che il tuo cliente abbia visto un'app simile sul sito web di un concorrente, quindi chiedigli di indirizzarti a quel sito Web (se ho ragione); quindi esaminare detta webapp e stimare il tempo necessario per costruire qualcosa di simile.

    
risposta data 27.11.2010 - 19:39
fonte
0
  1. Resta su Google, trova un'applicazione simile (non ho idea di sviluppo web, quindi non posso darti consigli più pratici di questo) , un'azienda o uno sviluppatore privato che li fa e chiedi loro un preventivo. Preferibilmente, chiedi due.
  2. In base alla tua esperienza, vedi come si adatta al tuo piano di sviluppo e pensa se puoi farlo per meno (solitamente gli sviluppatori solitari (supponendo) hanno meno costi in alcune aree rispetto alle società dedicate a questo tipo di sviluppo.)
  3. Dagli un'approssimazione, sottolineando con forza che il prezzo esatto dipenderà dalle sue esigenze (del cliente, cioè).
risposta data 27.11.2010 - 18:59
fonte

Leggi altre domande sui tag