Agile Software Engineering
Un corso introduttivo alle pratiche tecniche la cui padronanza è importante per ottenere successo nell’applicazione dei metodi agili.
Formato: 3 giorni di formazione in aula e in laboratorio, erogato in pair coaching.
Numero di partecipanti: 6-12
Destinato a: sviluppatori, tester, tech lead, architects. Prerequisito: conoscenza di Java. (Possiamo erogare una versione C# su richiesta.)
Obiettivi: formare gli sviluppatori su Test-Driven Development, Refactoring, Simple Design, Pair Programming. Dopo avere seguito questo corso, gli sviluppatori saranno in grado di:
- scrivere test automatici
- usare i test automatici per guidare il design
- distinguere unit test, focused integration test, end-to-end test, exploratory test; che cosa sono, a che cosa servono, quali sono i loro pro e contro.
- identificare alcuni “smell” di design e applicare mosse di refactoring per eliminarli
- scrivere codice più facile da testare e da manutenere
- lavorare in coppia per aumentare qualità, produttività e soddisfazione sul lavoro
Agenda:
Primo giorno: refactoring
- Presentazione interattiva: Introduzione alle pratiche tecniche
- Domande & risposte
- Presentazione interattiva: code smells and refactoring moves
- Laboratorio: esperienza di refactoring
- Feedback
Secondo giorno: test-driven development
- Standup meeting
- Domande & risposte
- Presentazione interattiva: il testing
- Demo: test-driven development
- Laboratorio: esperienza di test-driven development
- Feedback
Terzo giorno: simple design
- Standup meeting
- Domande & risposte
- Presentazione interattiva: simple design, testable code, eliminare gli IF, iniettare le dipendenze, mock objects
- Laboratorio: calistenia a oggetti
- Retrospettiva