Come stimare la lunghezza di un progetto in base a un altro progetto?

6

Mi chiedevo se esistessero modelli di stima per i progetti che utilizzano i risultati di progetti precedenti.

Ad esempio, immagina di voler sviluppare un'applicazione per un telefono basato su un'app Web che ho completato il mese scorso. Supponiamo che l'app Web abbia impiegato 1000 ore ma che non conosco nulla sullo sviluppo mobile. Se si desidera aggiungere un altro numero nell'equazione, è possibile dire che il 50% delle funzionalità implementate nell'applicazione Web dovrà essere implementato per l'app mobile.

Dove dovrei iniziare a formare una stima per il nuovo progetto?

Grazie in anticipo.

    
posta Ash Burlaczenko 07.12.2011 - 16:25
fonte

5 risposte

6

La stima del progetto è un'abilità (e difficile). Ti suggerisco di fare qualche ricerca se vuoi acquisirla. ( qui è un thread completo di buoni libri)

For example, imagine I want to develop an application for a phone based on a web app I completed last month. Say the web app took 1000 hours but that I don't know anything about mobile development.

Se non conosci nulla sullo sviluppo mobile, qualsiasi stima che fornirai sarà fondamentalmente una congettura. L'accuratezza della stima si basa sulla conoscenza della piattaforma (nessuna nel tuo caso).

Il mio suggerimento sarebbe di fare prima un po 'di prototipazione in modo da avere un'idea della piattaforma e dare loro una stima del campo da golf.

    
risposta data 07.12.2011 - 16:32
fonte
6

Non prendere lo sforzo webapp come base per le stime dell'app mobile. Anche se forse fai semplicemente la webapp su mobile, stai sviluppando un'applicazione completamente diversa in termini tecnici. Intendo sviluppo nativo, no materiale PhoneGap / HTML5.

    
risposta data 07.12.2011 - 16:35
fonte
2

Esistono infatti modelli di stima per i progetti e in generale trarranno sicuramente vantaggio dai risultati dei precedenti progetti.

Tuttavia, più sconosciute nel progetto, più difficile diventa la stima.

In questo caso specifico, l'assassino sarebbe "non so nulla dello sviluppo mobile".

Se dovessi sviluppare nuovamente la tua app web esistente per una piattaforma web mobile più limitata, la tua esperienza di progetto esistente ti farebbe comodo.

Tuttavia, sembra che tu stia per creare un'app mobile effettiva? Se è così, allora l'esperienza precedente in questo caso non vale assolutamente nulla, ma non vale molto. L'aggiunta di una funzione a un'app Web può essere molto diversa rispetto all'aggiunta a un'app mobile effettiva. Alcune cose sono molto più semplici e alcune cose sono molto più difficili.

Se sei bloccato a ottenere una sorta di stima, il mio suggerimento sarebbe quello di trovare un esperto di app per dispositivi mobili. Discutere / progettare da vicino con qualcuno che ha questa esperienza dovrebbe darti alcune delle risposte che stai cercando rispetto al tempo complessivo di (ri) sviluppo.

    
risposta data 07.12.2011 - 16:36
fonte
1

Where would I even start to form an estimate for the new project?

Si inizia implementando un caso d'uso e si vede quanto tempo ci vuole. Quindi stimerai un moltiplicatore per il resto dei casi d'uso ed estrapolalo.

    
risposta data 07.12.2011 - 21:06
fonte
1

Where would I even start to form an estimate for the new project?

Non ha molta importanza. Scherzi a parte.

È possibile dimostrare che lo sforzo dipende dalle righe di codice. Leggi l'Economia dell'Ingegneria del Software di Boehm per i dettagli. Praticamente qualsiasi altra misura non ha alcuna correlazione utilizzabile con lo sforzo.

Lo scherzo è questo: non conosci le code di codice finché non hai finito.

Puoi provare ad usare altre "funzionalità" per prevedere linee di codice. Una caratteristica comunemente usata i "punti della storia" per ogni storia utente, poiché è qualcosa che conosci spesso all'inizio di un progetto.

Tuttavia. La produttività personale, gli strumenti in uso e le politiche organizzative hanno un impatto maggiore delle linee di codice. Il tempo per imparare nuove tecnologie, ad esempio, è quasi impossibile da prevedere. (Tranne per dire che ci vogliono anni per diventare un esperto in qualcosa.)

In breve, non importa se usi un progetto precedente o no. Prevedere il futuro è davvero difficile.

    
risposta data 07.12.2011 - 17:38
fonte

Leggi altre domande sui tag