Per metodologia agile si intende un particolare metodo per lo sviluppo del software che coinvolge quanto più possibile il cliente, ottenendo in tal modo una elevata risposta alle sue richieste.
Lo scopo di questo corso introduttivo è fornire le conoscenze teoriche e pratiche delle metodologie agili.
Questa conoscenza e la modalità con la quale viene proposta nel corso, permetteranno di acquisire la sensibilità necessaria ad individuare il processo più adatto alla propria realtà aziendale e proseguire di conseguenza il percorso formativo con specifiche sessioni di approfondimento.
Al termine del corso i partecipanti acquisiranno le seguenti competenze:
- Conoscenza dei valori e dei principi delle più importanti metodologie agili
- Capacità di partecipare attivamente a un progetto di sviluppo SW basato su una metodologia agile
- Capire quando l’utilizzo di una metodologia agile ha successo e quando potrebbe non funzionare
Introduzione
- Il Manifesto Agile
- Concetti, valori e principi
- Metodologie Agile VS. Metodologie tradizionali
- Natura e caratteristiche dei processi agili
- Confronti tra le metodologie agili
Approfondimento delle principali metodologie agili
- Scrum
- eXtreme Programming
- Feature Driven Development
- Lean Software Development & Kanban
Cambiamento del processo
- Il cambiamento: evoluzione verso rivoluzione
- Un processo agile in azienda
Analisi e considerazioni
- Critiche alle metodologie agili
- Probabilità di successo e rischio di fallimento
Pratiche
- Pratiche organizzative
- Pratiche gestionali
- Pratiche ingegneristiche
Casi Reali
- Aziende che usano Scrum
- Caso: progetto di sviluppo SW
Simulazioni
- Simulazione di alcune pratiche e cerimonie
Il metodo didattico fa ricorso a lezioni frontali alternate con esercitazioni e prove pratiche con lo studio di casi. Il tempo dedicato alla didattica pratica ed esperienziale è circa del 50%.
Si fa ricorso a role playing e simulation game.
Courseware didattico progettato ed elaborato dal docente.