Progettazione - Prof-Matteo-Palitto-Peano/GPO-Software-Project GitHub Wiki

Nella fase di progettazione, una delle prime cose che deve essere identificato e' il TEAM di sviluppo.

In una grande azienda i vari TEAM manager faranno a gara per cercare di ottenere il mandato di realizzazione del progetto (o parte del progetto).

Una volta ottenuto il mandato, il LEAD DESIGNER del team avra' il compito di suddividere il progetto in MACRO BLOCCHI. La suddivisione continuera' fino a che i BLOCCHI possano essere assegnati ad un singolo sviluppatore.

Il Lead Designer generera' un documento chiamato High Level Design (HLD) dove descrivera' l'architettura a livello dei macroblocchi, con una particolare attenzione alla funzione svolta da ogni blocco e le interazioni di ogni blocco con gli altri blocchi del progetto.

NOTA: A differenza della WBS questa scoposizione e' prettamente di tipo tecnico.

Sara' quindi ora di scegliere i singoli sviluppatori, e' generalmente compito del TEAM Manager che conosce i membri del proprio team ad assegnare i vari macroblocchi.

Per fare cio' si puo' far uso della Matrice di Responsibilita'

Ogni membro del team di sviluppo sara' quindi impegnato a "studiare" il HLD e produrre un documento Low Level Design (LLD) del Macroblocco che deve sviluppare.

LLD conterra' tutte le strutture dati impiegate e come si intende suddividere l'organizzazione del codice fino a livello di codice.

Un altra importante caratterisctica di questi documenti e' la definizione dei test che si intendono eseguire sia a livello di moduli (negli LLD) che a livello di sistema (HLD).

Dopo una fase di revisione del proprio LLD da parte degli altri team members, sara' quindi pronto per entrare nella fase di REALIZZAZIONE.

Il compito del P.M. e' quello di verificare che tutte le varie fasi siano svolte a diligenza e che si proceda nei tempi, costi e con il livello di qualita' che erano stati individuati durante la pianificazione.