Descrizione del corso
I progetti di sviluppo software sono solitamente complessi, sfaccettati e soggetti a cambiamenti: la loro gestione richiede notevoli competenze nella conduzione dei team e nel controllo dei progetti stessi.
Il corso fornisce ai partecipanti gli strumenti necessari per organizzare il progetto, definire piani realistici, nonché costruire e gestire un team qualificato in ogni fase del ciclo di vita dello sviluppo software (SDLC).
Programma
- CONDUZIONE DI UN KICK-OFF MEETING PER UN PROGETTO SOFTWARE
• Obiettivi di business per un progetto software
– L’inserimento del progetto nel contesto aziendale
– L’influenza del contesto aziendale sulle probabilità di successo
• Aspettative di clienti e utenti (stakeholder)
– Identificazione degli stakeholder e delle loro esigenze
– Sviluppo di strategie per gestire efficacemente il loro coinvolgimento
• Obiettivi del progetto
– Fattori che determinano il successo del progetto
– Gestione del progetto basata sulla costruzione di un rapporto di fiducia con i clienti
- BILANCIARE I REQUISITI DELLO SVILUPPO SOFTWARE E LE ASPETTATIVE ORGANIZZATIVE
• Scelta del modello di ciclo di vita del software
– Confronto tra i modelli di ciclo di vita dello sviluppo software (SDLC)
– Analisi di punti di forza e di debolezza: modello tradizionale, modello iterativo, modello Agile (XP, Scrum, ecc.)
• Creazione della roadmap del progetto
– Mappatura del processo di project management sull’SDLC
– Ottimizzazione di tempi, costi, funzionalità e qualità
- TRASFORMARE LE ESIGENZE DEGLI STAKEHOLDER IN AZIONI
• Definizione del piano di progetto software
– Elaborazione delle stime iniziali (approccio top-down)
– Identificazione di compiti e fasi tramite una WBS (Work Breakdown Structure)
– Calcolo di stime realistiche (approccio bottom-up)
– Collegamento delle attività in un diagramma di rete
– Creazione di diagrammi di Gantt
– Identificazione e quantificazione dei rischi di progetto
• Acquisizione di risorse per l’analisi/pianificazione, il sistema e l’organizzazione
– Individuazione delle risorse necessarie
– Garantire il coinvolgimento collettivo
– Responsabilizzazione (empowerment) dei membri del team
– Delega dei compiti
• Verifica e condivisione del piano di progetto con il team
– Validazione del piano prima dell’avvio
– Valutazione del progetto attraverso la gestione dei rischi
– Coinvolgimento del team nel processo di pianificazione
– Costruzione della fiducia nel piano di progetto
– Presentazione e condivisione del piano con i principali stakeholder
- ESECUZIONE DEL PROGETTO
• Focalizzazione sul processo di project management
– Messa in pratica della teoria
– Identificazione dei primi segnali di allarme
– Costruzione dell’impegno (commitment) e della comunicazione all’interno del team
– Monitoraggio e controllo quotidiano
– Misurazione dell’avanzamento tramite milestone (tappe fondamentali)
– Individuazione e prevenzione di eventuali carenze o lacune
• Caratteristiche del processo di sviluppo software
– Fasi principali e loro implementazione
– Eventi chiave di ciascuna fase
– Sollecitazioni esterne da prevedere e gestire in ogni fase Fase
- GUIDARE L’ESECUZIONE: CONTROLLARE I CAMBIAMENTI DURANTE I LAVORI
• Monitoraggio e controllo
– Misurazione dell’avanzamento del software
– Confronto tra i miglioramenti ottenuti e gli obiettivi prefissati
• Implementazione di un sistema per il controllo dei cambiamenti (richieste di modifica)
– Principi del controllo dei cambiamenti
– Il valore della “gestione della configurazione” (configuration management)
• Controllo della probabilità dei rischi
– KPI per il monitoraggio dei rischi di progetto
– Modifica del profilo di rischio
– Pianificazione delle emergenze
- CHIUSURA DEL PROGETTO: IMPARARE DALL’ESPERIENZA
• Miglioramento delle proprie competenze di project management
• Influenza sul processo di miglioramento continuo all’interno della propria organizzazione