Come faccio a calcolare "Risorse umane / sforzo" per un progetto di programmazione?

2

come project manager o CTO come potrei calcolare il "tempo" necessario per sviluppare un sistema software? Ad esempio, sarei responsabile dello sviluppo di una grande applicazione web in Java, MySQL, HTML, JSF. Come faccio a calcolare correttamente quanto tempo ci vuole?

Prerequisiti: Non conosco la squadra che svolgerà questo lavoro (quindi non posso chiedere loro quanto tempo potrebbero aver bisogno). Non ho mai fatto calcoli come questo prima d'ora. Sono completamente nuovo in questo ruolo. Ma ho un sottofondo di programmazione molto semplice / leggero ...

Anche tutte le buone risorse (= link) o le risposte sono molto apprezzate.

    
posta Jens 12.09.2011 - 02:13
fonte

4 risposte

3

Ci sono due approcci generali, ma la maggior parte richiede molte più informazioni di quelle che hai adesso. Senza saperne di più sul progetto e sulla squadra, nessuno dei due metodi può applicare. Una volta che ne sai di più, puoi applicare modelli di stima parametrica, come COCOMO II , stima delle dimensioni metodi come analisi dei punti di funzione , stima basata su proxy o tecniche di stima basate su team come il gioco di pianificazione o wideband delphi .

In genere, prima di iniziare a stimare, è necessario almeno un'idea approssimativa dell'ambito del progetto software. Di solito ciò avviene iniziando a catturare i requisiti sotto forma di Specifica dei requisiti del software, storie degli utenti o qualche altra tecnica. Anche stabilire una visione e uno scopo globali del progetto sarebbe di aiuto.

Una volta stabilite sufficienti informazioni sul progetto, è possibile iniziare il processo di stima, in base ai metodi scelti. Potrebbe essere consigliabile persino utilizzare più metodi di stima. Ad esempio, utilizzando delphi a banda larga come controllo dell'output di COCOMO.

Se vuoi saperne di più sulla stima del software, ti consiglio vivamente di leggere Stima del software: Demistificare l'arte nera di Steve McConnell . Parla di molti argomenti e tecniche di stima e spiega una serie di best practice a prescindere dalle dimensioni del progetto. Inoltre, per gli argomenti generali di gestione del progetto, vorrei anche suggerire Rapid Development di McConnell: Taming Wild Software Schedules , dove parla su argomenti come il personale, la gestione dei processi e i proiettili d'argento.

    
risposta data 12.09.2011 - 02:44
fonte
3

Non puoi. Non possiamo neanche. Possiamo darti una supposizione approssimativa, ma è tutto ciò che sarà mai - e richiede un bel po 'di esperienza per darti anche questo.

Dovresti prima trovare uno sviluppatore, poi chiedere loro un preventivo, quindi considerare se questo prezzo è buono o meno per te. Se il progetto è grande, potrebbero essere necessari alcuni giorni per effettuare la stima, nel qual caso lo sviluppatore potrebbe addebitare un costo per la stima del prezzo.

    
risposta data 12.09.2011 - 02:22
fonte
1

La stima è complessa per i professionisti esperti. Soprattutto che il progetto è grande. Suggerisco di completare la fase dei requisiti essenziali e, da quel momento, siediti con il tuo programmatore senior per identificare i compiti e chiedergli il suo input in questo usando alcuni dei Thomas Owens suggeriti sopra.

Devi essere consapevole che la stima potrebbe dover essere rivista man mano che il progetto avanza e quando i nuovi membri del team iniziano a produrre risultati.

Ci sono molte variabili che potrebbero entrare in un progetto software come: abilità delle persone, numero di persone, metodologia di sviluppo, metodologia di consegna, cooperazione con i clienti, tempo di formazione, problemi del software di utilità, interfacce del sistema di back-end, stabilità dei requisiti, squadra comunicazione, ecc.

Una nota di avviso, il rischio nel tuo caso è alto.

    
risposta data 12.09.2011 - 03:01
fonte
0

Il problema è che stai facendo una domanda che non ha una risposta ben definita. È una funzione del team, le scelte tecnologiche (che devi consentire al team di fare, non specificarle in anticipo) e, soprattutto, quanto spesso cambiano le tue esigenze aziendali.

Penso che prima di tutto devi trovarti uno sviluppatore principale e / o uno scrum master (o qualche altro esperto di sviluppo agile) e convincerli a iniziare il processo di stima. Ciò ti darà un'idea di quanto tempo sarà (e quindi quanto costerà) ottenere qualcosa di minimamente utile. Da lì hai solo la priorità sulle funzionalità e arrivano entro un tempo abbastanza breve ... ma prima devi iniziare.

Oh, e la stima dipenderà da alcuni presupposti. Non modificare queste ipotesi senza ottenere una stima del risultato, in quanto ciò può fare una grande differenza.

    
risposta data 12.09.2011 - 04:22
fonte

Leggi altre domande sui tag