ArsLudica.org Forum

Effettua l'accesso o una nuova registrazione.

Inserisci il nome utente, la password e la durata della sessione.
Ricerca avanzata  

News:

Autore Topic: Stimare i tempi di sviluppo  (Letto 2741 volte)

StM

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 9.424
    • Mostra profilo
Stimare i tempi di sviluppo
« il: Maggio 23, 2011, 12:11:58 »

C'è questo articolo sbrodoloso ed esageratamente lungo sul tema dell'eterna lotta tra sviluppatori e produttori (o altro genere di supervisore) su quanto tempo occorra per fare questa o quest'altra cosa, se le deadline possano essere rispettate, eccetera eccetera.

http://www.gamasutra.com/view/news/34389/Opinion_My_Producer_Hates_Me.php

Citazione
Cliff Harris of Positech games once wrote this in a blog post: "When a coder tells you they don't know how long something will take they are not being obtuse, they really don't know."

Personalmente riesco raramente a rispettare una scadenza, ma semplicemente perché spesso subentrano cose da fare più urgenti di ciò che sto facendo. Voi come vivete questa brutta abitudine del tempo di essere spietato?
Connesso

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #1 il: Maggio 23, 2011, 13:22:59 »

Tu non devi rispettare una scadenza.
In quanto stimatore delle tue attività, tu devi stimare il tempo che ci metterai a fare le cose (in ore).
C'è una differenza tra tempo trascorso tra l'inzio e la fine di un'attività e il tempo effettivo che ci vuole per svolgerla.

A farti rispettare la scadenza ci deve pensare chi governa il progetto, che ha altri strumenti (scientifici e dimostrati, peraltro) per farlo!

Se invece hai un problema personale sulle stime, dovresti vedere la letteratura sulle metriche. Implementare una metodologia di stima è un overkill a livello individuale ma aiuta a capire quali sono tutti gli aspetti coinvolti nel processo di stima, visto che ognuno di noi tende a sottovalutare o a sopravvalutare degli aspetti. Il tutto si riduce a tirare fuori delle espressioni lineari che, considerando una serie di fattori, riescono a darti una stima a +/- 10% del tempo necessario a fare una cosa.

Un metodo pubblico e abbastanza flessibile è il COSMIC, che ha tutta la documentazione in chiaro e una gamma di applicazioni piuttosto ampia. Direi che ti basta il PDF introduttivo al metodo, per fare stime individuali le checklist di riepilogo sulla tipologia delle attività sono più che sufficienti a darti il valore massimo del tempo che dovresti impiegarci.

http://www.cosmicon.com/
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

StM

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 9.424
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #2 il: Maggio 23, 2011, 14:09:38 »

Il documento dice che al momento il metodo cosmic non può essere usato se non parzialmente su software che "processes continuous variables such as audio sounds or video images, such as, for instance, in computer game software, musical instruments, etc.". Non ho ancora ben capito che cosa fa, ma perché non dovrebbe funzionare in quest'ambito? :mah:
Connesso

TheGentleman

  • Old Member
  • ****
  • Offline Offline
  • Post: 388
  • Let's fight like gentlemen.
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #3 il: Maggio 23, 2011, 14:10:08 »

Tu non devi rispettare una scadenza.
In quanto stimatore delle tue attività, tu devi stimare il tempo che ci metterai a fare le cose (in ore).
C'è una differenza tra tempo trascorso tra l'inzio e la fine di un'attività e il tempo effettivo che ci vuole per svolgerla.

Quotone.

A farti rispettare la scadenza ci deve pensare chi governa il progetto, che ha altri strumenti (scientifici e dimostrati, peraltro) per farlo!

Meglio che non parli di esperienza personale, ma lo chiedo a te e a qualcuno con magari qualche anno in più sul groppone: esistono i project manager competenti?

Se invece hai un problema personale sulle stime, dovresti vedere la letteratura sulle metriche. Implementare una metodologia di stima è un overkill a livello individuale ma aiuta a capire quali sono tutti gli aspetti coinvolti nel processo di stima, visto che ognuno di noi tende a sottovalutare o a sopravvalutare degli aspetti. Il tutto si riduce a tirare fuori delle espressioni lineari che, considerando una serie di fattori, riescono a darti una stima a +/- 10% del tempo necessario a fare una cosa.

Un metodo pubblico e abbastanza flessibile è il COSMIC, che ha tutta la documentazione in chiaro e una gamma di applicazioni piuttosto ampia. Direi che ti basta il PDF introduttivo al metodo, per fare stime individuali le checklist di riepilogo sulla tipologia delle attività sono più che sufficienti a darti il valore massimo del tempo che dovresti impiegarci.

http://www.cosmicon.com/

Secondo me serve solo l'esperienza e la lucidità mentale.

L'articolo su Gamasutra secondo me lascia il tempo che trova. Ok, se mi chiedessero di stimare quanto tempo ci metto a sviluppare un web service con erlang (:asd:) sarei in panico anche io, ma sul mio pane quotidiano una certa esperienza ce l'ho. Poi non dimentichiamo che si tratta di stime, appunto, l'errore è sottointeso.
Connesso
Ziggybee: "Id sei scandaloso!"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #4 il: Maggio 23, 2011, 16:19:42 »

Il documento dice che al momento il metodo cosmic non può essere usato se non parzialmente su software che "processes continuous variables such as audio sounds or video images, such as, for instance, in computer game software, musical instruments, etc.". Non ho ancora ben capito che cosa fa, ma perché non dovrebbe funzionare in quest'ambito? :mah:

Perché le pipeline sono complesse e ci sono modelli migliori. Noi sul real-time 3D e simulativo l'abbiamo usato, senza troppi problemi. Le stime perdono un po' di fedeltà ma comunque sono strumenti metrici, non *il verbo* in senso stretto. Lo scrivono perché al momento non hanno checklist che si adattino a questi modelli. Ma io francamente raramente vado troppo nello specifico a meno che non serva una stima precisa al millimetro! :)

Per un videogioco non è raro vedere usate le strategie di project management tipiche del cinema, in cui solo alcuni task sono generalizzati dall'ingegneria del software.
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #5 il: Maggio 23, 2011, 16:25:09 »

Secondo me serve solo l'esperienza e la lucidità mentale.

L'articolo su Gamasutra secondo me lascia il tempo che trova. Ok, se mi chiedessero di stimare quanto tempo ci metto a sviluppare un web service con erlang (:asd:) sarei in panico anche io, ma sul mio pane quotidiano una certa esperienza ce l'ho. Poi non dimentichiamo che si tratta di stime, appunto, l'errore è sottointeso.

L'articolo di Gamasutra dimostra l'approccio sbagliato ed artigianale che sta diventando un metro di sopravvivenza nella moderna Games Industry: credere che basti l'esperienza e poi ci si regola.

I videogiochi sono degli ottimi esempi su come una buona applicazione dei principi dell'ingegneria del software (in particolare del project management e delle tecniche di progettazione agili) possano produrre risultati molto migliori di una gestione basata esclusivamente sull'esperienza. I videogiochi sono molto sensibili al tema della qualità e della pianificazione a lungo termine. E' vero che a livello di progetto complessivo si raccordano diverse discipline ma un producer che lasci carta bianca ai lead per la gestione destrutturata della parte software del progetto creativo non so quanto vada lontano, oggigiorno!

Poi c'è sempre il fattore umano che può fare la differenza ma in team di 100/200 persone, è difficile che siano tutti geni: la maggior parte saranno ottimi mestieranti nel loro dominio, come in tutte le aziende che fanno progetti tecnicamente complessi che devono raggiungere un'ottimo livello di qualità. In pochi lo sanno ma c'è uno scambio non proprio marginale tra chi fa software ingegneristico o medicale e i videogiochi (anche Cytech, Bioware o Sierra\Vivendi che per ragioni diverse hanno incrociato ingegneria, medicali e viggì con risultati che gli altri all'epoca sognavano solamente).
« Ultima modifica: Maggio 23, 2011, 16:32:06 da Ziggybee »
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #6 il: Maggio 23, 2011, 16:34:34 »

Comunque a me piacciono tantissimo le metodologie di gestione agili perché si valorizza l'esperienza delle persone dove conta di più. E' inutile che Matteo Anelli stimi le attività di tutte le persone che lavorano per lui.

Lo può fare quando si deve pianificare il progetto e deciderne la fattibilità. Sulle attività concrete, le persone che faranno le cose, se opportunamente formate, sono quelle più adatte a stimare i loro tempi. Il problema è superare la riserva iniziale e i blocchi di autovalutazione che ognuno di noi ha quando deve auto-valutarsi (non tutti ci riescono, purtroppo).
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Monopoli

  • Hero Member
  • *****
  • Offline Offline
  • Post: 4.296
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #7 il: Maggio 23, 2011, 17:00:23 »

Inizialmente i sistemi agili mi facevano cagare la merda, ma ora mi piace :D
Connesso
Il mio blog agghiacciante
http://monopoliano.blogspot.com
E' Uscito! Compra qui: http://itunes.apple.com/us/album/crystal/id461134607

"Monopoli hai la voce da frocio ma sei un figo sull'Arsludicast."

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #8 il: Maggio 23, 2011, 18:25:37 »

Te l'avevo detto: è sempre così! Ora se "svergino" questi venti praticoni che mi hanno affibbiato... ;)
« Ultima modifica: Maggio 23, 2011, 18:32:18 da Ziggybee »
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

TheGentleman

  • Old Member
  • ****
  • Offline Offline
  • Post: 388
  • Let's fight like gentlemen.
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #9 il: Maggio 24, 2011, 09:56:24 »

Secondo me serve solo l'esperienza e la lucidità mentale.

L'articolo su Gamasutra secondo me lascia il tempo che trova. Ok, se mi chiedessero di stimare quanto tempo ci metto a sviluppare un web service con erlang (:asd:) sarei in panico anche io, ma sul mio pane quotidiano una certa esperienza ce l'ho. Poi non dimentichiamo che si tratta di stime, appunto, l'errore è sottointeso.

L'articolo di Gamasutra dimostra l'approccio sbagliato ed artigianale che sta diventando un metro di sopravvivenza nella moderna Games Industry: credere che basti l'esperienza e poi ci si regola.

No, aspetta, se sei un PM è un conto, ma se ti chiedono: "Anelli, devi scrivere un importer di un tipo di file particolare per il tool che usiamo" non hai bisogno di scomodare metodologie cosmiche e tarocchi per stimare il tempo. È esperienza, punto.
È di questo tipo di problema che parla l'articolo di gamasutra.
Connesso
Ziggybee: "Id sei scandaloso!"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #10 il: Maggio 24, 2011, 11:20:55 »

Guarda che se sei padrone di una metrica ti devi porre poche domande e fare qualche moltiplicazione. Ci vogliono pochi minuti ed i framework ti aiutano a tenere in considerazione cose che, con l'esperienza pregressa, potresti benissimo trascurare o non sapere. Ti aiutano anche a darti fiducia se ti chiedono di fare qualcosa di nuovo, perché l'esperienza ti porta a dire che se una cosa è troppo diversa, non si può fare, mentre invece non è quasi mai così.

Per scrivere il tool, io mi soffermerei molto poco su quello che so fare io o sulla mia esperienza e fare domande del genere:

Con quanti componenti e sistemi si interfaccia?
Ha bisogno di dati che sono altrove?
Chi conosce le specifiche del progetto o dei componenti?
Sono persone interne o esterne, in sede o meno?
Quali sono gli obiettivi del progetto (performance/produttività/qualità)?
C'è documentazione o bisogna produrla?
Devo integrare qualcosa di pre-esistente (se è un tool magari va innestato su un egine?)?
Bisogna evolvere un tool o iniziare from scratch?
Ci sono persone che usavano la vecchia versione (o un equipollente) con cui parlare?

Perché sono queste le cose che fanno la differenza e spesso, se la mia esperienza fosse basata su progetti di ben altro tipo (magari tranquilli, fatti con gruppetti locali), non me le porrei nemmeno quelle domande, che però faranno l'80% del mio tempo di lavoro. Magari mi soffermerei (sbagliando) sul fatto che mi si chiede un tool Java quando io conosco il C++ o che per salvare i dati del tool devo usare Oracle (che non ho mai usato), invece che MySQL che conosco a menadito.

Inoltre, se qualcuno non sa rispondere a questi questiti, forse si riesce a fargli anche capire che non è ancora ora che mi assegnino il task... Staremo solo sprecando soldi su presupposti incerti.
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

TheGentleman

  • Old Member
  • ****
  • Offline Offline
  • Post: 388
  • Let's fight like gentlemen.
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #11 il: Maggio 24, 2011, 14:12:09 »

Inoltre, se qualcuno non sa rispondere a questi questiti, forse si riesce a fargli anche capire che non è ancora ora che mi assegnino il task... Staremo solo sprecando soldi su presupposti incerti.

Va be', lo davo per scontato.
Altrimenti andando avanti ad eliminare i prerequisiti, togliamo pure l'assioma della scelta e gli assiomi di Peano, ma in questo se qualcuno dovesse chiedermi una stima in termini di ore/uomo, potrei provare a fargli capire che ci sono cose più importanti da fare prima.
Connesso
Ziggybee: "Id sei scandaloso!"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: Stimare i tempi di sviluppo
« Risposta #12 il: Maggio 24, 2011, 21:49:45 »

Si, era un esempio limite.
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"
 

Pagina creata in 0.017 secondi con 15 interrogazioni al database.