Making sense of Open Source
Open Source quotes

“What does it mean to be agile? I mean, my definition is that you accept input from reality, and you respond to it.”

Kent Beck


Agile Kickstart

Un corso introduttivo generale al tema Agile Development a cui possono/devono partecipare tutte le persone coinvolte nello sviluppo: sviluppatori, tester, project manager, product manager, team leader e analisti.

Formato: 3 giorni di formazione in aula e in laboratorio, erogato in pair coaching.

Numero di partecipanti: 6-12

Obiettivi: dare a tutti gli stakeholder coinvolti nel processo di produzione software una conoscenza condivisa dei metodi, obiettivi e valori dei metodi agili. Dare agli sviluppatori un'introduzione alle pratiche tecniche che sono alla base dello sviluppo agile. Dopo avere seguito questo corso, i partecipanti saranno in grado di:
  • Spiegare le differenze fra sviluppo iterativo incrementale e sviluppo a cascata, e i rispettivi vantaggi e svantaggi
  • Scomporre le funzionalità da realizzare in user stories verticali anziché in strati tecnologici orizzontali
  • Stimare la complessità delle user stories.
  • Pianificare le iterazioni.
  • Misurare la velocità del team per prevedere le date di completamento.
  • Scrivere test unitari per guidare il design, facilitare la rifattorizzazione e proteggersi dalle regressioni.
  • Rifattorizzare il codice per combattere l'entropia e mantenere il codice semplice e facile da manutenere.
  • Condurre una retrospettiva per mettere in atto un processo di miglioramento continuo.
  • Spiegare i principi e i valori del Manifesto Agile.

Agenda

Primo giorno

  • Presentazione interattiva: una giornata di un team XP.
  • Presentazione interattiva: le user stories e il planning game.
  • Laboratorio: XP Game. Una simulazione di un progetto in tre iterazioni, per capire come funzionano la stima, la pianificazione e l'esecuzione di un piano.
  • Feedback

Secondo giorno

  • Standup meeting
  • Domande & risposte
  • Presentazione interattiva: test-driven development
  • Laboratorio: test-driven development (solo sviluppatori)
  • Laboratorio: refactoring (solo sviluppatori)
  • Feedback

Terzo giorno

  • Standup meeting
  • Domande & risposte
  • Laboratorio: scrivere codice a oggetti resistente ai cambiamenti.
  • Presentazione: evitare gli sprechi con build automation e continuous integration.
  • Presentazione: i valori agili e l'efficacia delle pratiche agili.
  • Presentazione: le retrospettive.
  • Retrospettiva.