Team Agili I membri del team devono fidarsi gli uni degli altri. Le competenze dei membri del team deve essere appropriata al problema. Evitare tutte le tossine che creano problemi Il team si organizza da solo Struttura adattativa Utilizza elementi dei paradigmi casuale, aperto e sincrono di Constantine Notevole autonomia
Coordinamento e comunicazione Comunicazione formale e interpersonale: include documenti e prodotti di ingegneria del software, milestone di progetto, tool per il controllo dei progetti, richieste di cambiamento e documentazione correlata, report sugli errori. Procedure interpersonali formali: si concentrano sulle attività per il controllo della qualità applicate ai prodotti dell ingegneria del software.queste includono meeting per la revisione dello stato del progetto ed ispezioni alla progettazione e al codice. Procedure interpersonali informali: includono incontro di gruppo per la disseminazione dell informazione e per il problem solving. Comunicazione elettronica: comprende posta elettonica, sistemi di video-conferenza Rete interpersonale: include discussioni informali con i membri del team e con persone al di fuori del progetto che possono avere esperienze o conoscenze di aiuto per i membri del team.
Modelli di processo personali e in team Il miglior processo di sviluppo software è quello più adatto alle persone che svolgeranno il lavoro Se un modello del processo di sviluppo software è stato sviluppato a livello aziendale o di organizzazione, può essere efficace solo se può essere adattato ai bisogni del team che sta effettuando il lavoro Ogni ingegnere software dovrebbe creare un processo il più possibile adatto alle proprie esigenze e contemporaneamente rispondere ai bisogni generali del team e dell organizzazione Parliamo di Processo di sviluppo software personale e di Processo di sviluppo software di team
Personal Software Process 1 Humphrey (1997) Pone l accento su una valutazione personale del prodotto realizzato e della sua qualità Rende il soggetto responsabile della pianificazione del progetto (per esempio stima e programmazione) Lo incarica di controllare la qualità di tutti i prodotti software che vengono sviluppati
Personal Software Process 2 Pianificazione Progettazione ad alto livello Revisione del progetto ad alto livello Sviluppo Post-mortem
Team Software Process 1 Humphrey estende le nozioni apprese con PSP proponendo un processo di sviluppo di team Realizzare team auto-diretti che pianificano e monitorizzano il proprio lavoro, stabiliscono obiettivi e hanno i propri processi e piani Spiegare ai manager come formare e motivare i propri team e come aiutarli a sostenere le prestazioni di picco Accelerare il miglioramento del processo di sviluppo software adottando il livello 5 di CMM Fornire assistenza al miglioramento per le organizzazioni a elevata maturità Facilitare l addestramento universitario di capacità tecniche di team a livello industriale
Team Software Process 2 Migliora la qualità e la produttività dei team di ingegneria e li aiuta a soddisfare i vincoli di costo e di programma Team da 2 a 20 membri Multi-team più grandi di circa 150 membri
Lavorare in team Un team è un gruppo di persone che condivide un goal comune ed ha un contesto lavorativo comune Almeno due persone I membri lavorano verso un goal comune Ogni persona ha un ruolo assegnato Il completamento della missione richiede una qualche forma di dipendenza fra i membri del gruppo
Team efficienti I membri hanno i giusti skill Il goal del team è importante, definito, visibile, e realistico I membri sono motivati e impegnati nel raggiungimento del goal del team I membri cooperano e si supportano vicendevolmente I membri sono disciplinati nel loro lavoro
Costruire Team efficienti I membri del team stabiliscono goal comuni e ruoli definiti Il team sviluppa una strategia all unanimità I membri del team definiscono un processo comune per il loro lavoro Tutti i membri del team partecipano nel produrre il piano, e ogni membro sa il suo ruolo personale in quel piano Il team negozia il piano con la gestione La gestione revisiona e accetta il piano negoziato I membri del team fanno il lavoro nel modo in cui lo avevano pianificato I membri del team comunicano spesso e liberamente Il team forma un gruppo coeso: i membri cooperano, e sono tutti impegnati nel raggiungere l obiettivo Gli ingegneri ottengono feedback sul loro lavoro e la leadership sostiene la loro motivazione
Processo TSP Prima che i membri possano partecipare al team vengono allenati nel PSP: Pianificazione personale Metodi di pianificazione Valore guadagnato Dati del processo Misure di qualità Processi
Processo TSP Il lavoro di costruzione del team è un processo di pianificazione di 4 giorni che viene detto lancio del team Poiché il processo TSP segue una strategia di sviluppo iterativa ed evolvente, sono necessari rilanci periodici cosicchè ogni fase o ciclo può essere programmata in base alla conoscenza acquisita nella fase precedente
Processo TSP Assicurarsi che tutti i membri del team seguono il piano Condurre il team Disciplina nel processo Tenere traccia dei problemi Comunicazione Report di gestione Mantenere il piano Dare una stima sul completamento del progetto Riequilibrare il carico di lavoro nel team Rilanciare il progetto Gestione della qualità TSP
Condurre il team Il leader è responsabile di guidare e motivare il team E di mantenere la disciplina al progetto Gestire e tenere traccia di questioni e problemi sollevati dal team
Comunicazione I membri del team devono conoscere lo stato del progetto Meeting settimanale di squadra Report settimanale di squadra per tenere la gestione informata sullo stato e progresso del team Report per il cliente