Comments
Description
Transcript
Team Agili
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