Piano di lavoro

Processo

Per ogni fase del progetto il lavoro del team e' stato organizzato nella modalita' seguente:

  • assegnazione dei ruoli "giocati"
  • assegnazione dei task da realizzare ad ogni ruolo
  • brainstorming (poche decine di minuti per task) di gruppo su ogni task per esporre la soluzione e per ascoltare idee e critiche.
  • pubblicazione dei risultati online.

Strumenti

Elenco degli strumenti gia' introdotti a supporto del team, con l'indicazione dello stato e delle mezzore (arrotondate per eccesso) impiegate/stimate per apprenderne le funzionalita' necessarie allo svolgimento del progetto :
  • Strumenti di analisi:

    Poseidon OK. gia' noto a tutti i componenti.
  • IDE di Sviluppo:

    Eclipse OK. gia' noto a tutti i componenti.
  • Strumenti di comunicazione col committente e discussione:

    Moodle OK. Appreso da tutti in 1h.

  • Strumenti di discussione interna.

    MSN: OK. gia' noto a tutti i componenti

    PLONE: OK. Utilizzato come lavagna per appoggiare file, immagini e commenti durante le discussioni online. Appreso da tutti in 30m.

  • Strumenti per la gestione del progetto.

    Subversion: OK. Lo strumento e' necessario per poter mantenere le parti realizzate dal team sincronizzate e visibili a tutti in ogni momento. Il team e' gia' stato istruita e resa operativa nei tempi stimati (1h per persona)

    Subclipse: OK. Plugin per eclipse per utilizzare subversion in maniera "amichevole". Ogni utente ha impiegato circa 30m per l'installazione e per apprenderne l'utilizzo.

    Maven: OK. Rimangono molte funzionalita' da esplorare. Appreso da tutti in 3h per le funzionalita' base (test,compile,site,assembly), si stima un tempo di apprendimento di 1h per ogni nuova funzionalita' necessaria futura.

    Maven scm: CONFIGURATO. Plugin per maven per gestire subversion alternativamente a subclipse. E' stata realizzata la configurazione del pom.xml per rendere possibile l'utilizzo del plugin e un piccolo tutorial per facilitarne l'utilizzo da parte di tutto il team 1h. Si stima che con il tutorial ogni elemento del team possa essere operativo in 30m.
  • Frameworks.

    UniboEnv: STUDIO PRELIMINARE. Il Framework realizza lo scambio di messaggi tra classi. Stima dei tempi: 1h per capire l'architettura. 3/4h per adattare le classi del progetto gia' realizzate

    Valore aggiunto: una implementazione "standard" dei messaggi.
  • Implementazione.

    Rotazione del codice: OK Si e' cercato di avvicendare gli sviluppatori sulle varie parti di codice in sviluppo. Valore aggiunto: tutti utili nessuno indispensabile. Tutti sono a conoscenza delle funzionalita' di tutto il codice prodotto. In caso di assenza di uno sviluppatore, chiunque e' in grado di sostituirlo in tempi brevissimi

    Valore aggiunto: ogni sviluppatore ha talenti diversi nel produrre codice, chi e' piu' bravo a fare pulizia, chi riesce ad implementare algoritmi piu' veloci per risolvere i problemi, chi sa dare a dare il nome "giusto" alle entita' in gioco.. Se ognuno guarda con occhio critico il lavoro dei propri predecessori la qualita' del codice e' necessariamente superiore.
Elenco degli strumenti di possibile futura introduzione a supporto del team, con l'indicazione dei benefici che apporterebbero, della stima delle persone coinvolte per l'introduzione e delle ore di apprendimento da parte dei membri del team.Le mezzore son sempre arrotondate per eccesso.
  • Automatizzazione del processo.

    Maestro o CruiseControl.

    Si stima l'introduzione di uno dei due strumenti per l'integrazione continua in 10h e in 1h l'apprendimento da parte degli utenti delle funzionalita a disposizione. Maestro permette anche di gestire i repository di maven ma richiede risorse maggiori di cruisecontrol. L'interfaccia utente di maestro sembra piu' user friendly di quella di cruisecontrol.

    Valore aggiunto: esecuzione periodica di tutti i test.

    Valore aggiunto: generazione automatica del maven site.

    Valore aggiunto: valutazione periodica della bonta' del prodotto e del lavoro svolto attraverso metriche configurabili.
  • Controllo delle risorse.

    Tecnica dei "pomodori" (vedi sito ufficiale).

    Stima dei tempi: Si stimano 30min per spiegare come utilizzare la tecnica.

    Valore aggiunto: una migliore gestione della risorse tempo da parte del team.

    Valore aggiunto: maggiore coscienza del tempo speso da parte del team anche al fine di un'analisi del business esaustiva.

TASKS

TaskAttivi

Nome TaskTempo StimatoPersone impiegatePriorita'
Analisi del business (I Fase) 2h Mirko 3
BUGFIX: applet non parte in browser 1h Mirko 2
TextConsole gestione "bottoni" 1h Mirko 1

TaskCompleti

Nome TaskTempo StimatoTempo RichiestoPersone impiegate
Javadoc: prototipo versione 1.0 3h 3h Tutti
Valutazione framework Natali: possibilita' di introdurlo ad un secondo rilascio 4h 4h Tutti
Progetto ScoreCollector 1h 1h Christian
BUGFIX: countercontroller, eccezione se non e' associato ad un HumanDeviceController 0.5h 0.5 Gianmarco
Main App 3h NP Mirko
Display 2h NP Giovanni
StartButton,StopButton 2h NP Andrea
HumanDeviceController 2h 3h Christian
Integrazione del sottoprogetto "CounterController" 1h 1h Andrea
Integrazione del sottoprogetto "Display" 1h 1h Andrea
Progetto/realizzazione/testing: it.unibo.deis.is06.gioco.gamecontroller.CounterController 6h 6h Christian,Giovanni
Progetto/realizzazione/testing: it.unibo.deis.is06.gioco.display.* 5h 5h Gianmarco,Mirco,Andrea
Analisi completa: it.unibo.deis.is06.gioco.gamecontroller.* 4h 4h Christian,Andrea,Giovanni
Analisi completa: it.unibo.deis.is06.gioco.display.* 5h NP Mirko,Gianmarco
Analisi della struttura 2h 1h 30m Andrea
Analisi della comportamento 3h NP Gianmarco,Andrea
Analisi dei requisiti (I fase) 4h 5h 30m Andrea
Analisi del problema (I fase) 4h NP Giovanni
OCL 2h 2h Christian
Testing funzionaleDefinizione sistema formale (primo abbozzo) 2h NP Gianmarco
Setup strumenti di lavoro(siti,eclipse,plugin,maven,svn) 8h 6h Christian
Definizione sistema formale 1h NP Mirko
Definizione architettura 1h NP Mirko
BCE 1h NP Giovanni
UniboENV, studio preliminare 2h NP Mirko

Disponibilità

Al fine di ottimizzare il processo si elencano anticipatamente le disponibilita' in ore di tutti gli elementi del team.

NomeGiornoOre