Evoluzione del pair programming in un team (quasi) decennale
Team non si nasce, ma si diventa
1. Team non si nasce,
ma si diventa
Italian Agile Day
Ancona, 15 novembre 2014
Marco Fracassi
fracassi.marco@gmail.com
Jacopo Franzoi
jacopo.franzoi@gmail.com
2. Chi siamo (o eravamo)
● Team Nimbus
○ Marco, Mauro, Jacopo, Riccardo
● 7Pixel, TrovaPrezzi.it
○ Azienda di prodotto: cliente interno
○ Molti team di sviluppo: circa 9
● Cronistoria, 3 anni di vita insieme
○ Split, obiettivi progetto/azieda
○ 8, 4 … 6?...
3. Perchè questa presentazione
● Condividere un racconto
○ Circa 10 progetti conclusi
○ Feedback positivo in azienda
● Quando un team funziona
○ Soddisfa cliente, utenti e team
○ Raggiunge propria identità
○ Parla con una sola voce
https://flic.kr/p/aW3w1g
4. Disclaimer
● Spunti, non regole d’oro
● Raccontiamo i valori
○ Le “ricette” possono cambiare
● Prerequisiti
○ Nozioni di base Metodi Agili
○ Pratiche comuni: Retrospettiva,
Standup meeting, ...
https://flic.kr/p/83XFYA
5. Chi: Pochi ma vari
● (4) Due “coppie”
○ Ci si contamina
○ Si impara dagli altri
○ Si impara a “cedere” agli altri
● (+1) Bidello, “quinto uomo”
○ Facilitatore, filtro, raccordo
○ Un punto di vista non tecnico
● 4+1 è il numero magico https://flic.kr/p/7nH7iC
6. Come: Da “manuale”
● Raccolta feedback
○ Retrospettiva
■ Note nell’ambito metodi agili
■ Miglioramento continuo
○ Standup meeting
○ Mettere in discussione
● Processo di revisione
○ XP Explained: nostro statuto di partenza
https://flic.kr/p/6ZnMVx
7. Come siamo cambiati
● Adattando il processo di sviluppo
● Studiando insieme
● Condividendo convenzioni tecniche
● Vivendo la stessa giornata lavorativa
● Valutando candidati da assumere
8. Come: Processo di Sviluppo
● Da “iterazioni” a “progetto”
○ Stimare soluzione
■ vs. Risolvere problema
○ Iterazioni come mezzo
■ Rilasci come fine
● Ciclo di vita progetto
○ Attività diverse oltre lo sviluppo
○ Relazione tra team e committente
https://flic.kr/p/bnZKrV
9. Come: Studio condiviso
● Tecnico, ma non tecnologico
○ Processo: IID, XP
○ Design: OOA/D, Refactoring, Design Patterns
○ Sistemi: stabilità, capacità
● Per argomenti, con “accettazione”
○ Presentazione comune
■ Al team, ai nuovi arrivati, all’azienda
○ Condividere, insinuare dubbi
10. Come: la Quotidianità
● Giornata di lavoro
○ Orari (Standup meeting, Journal)
○ Ritmi (pause)
● Convenzioni tecniche
○ Nel codice, nel design
● Valutazione nuovi candidati
○ Crescita, mantenendo identità
○ “Allineati”, piuttosto che “esperti”
https://flic.kr/p/7PM4KE
11. ● Contesto “carta bianca”. Altrimenti:
○ Partire dal piccolo, dimostrare efficacia
○ Conquistare fiducia, poi alzare il tiro
● Valori condivisi, oltre a quelli di XP
○ “Cost-effectiveness”, automazione, adattamento
● Nuove pratiche: tecniche, organizzative
○ Test di produzione vs. monitoring
○ Feste di rilascio/progetto, retrospettive di progetto
Fino ad Auto-organizzarsi
12. Strumenti a supporto
● Lavagna: visibilità impegni
○ Piano iterazione, azioni retrospettive
○ Appuntamenti importanti (riunioni, etc.)
● Wiki: base di conoscenza
○ Valutazione progetti, piani di rilascio, AT
○ Report retrospettive, journal
○ Piano di studio, iter candidature
● Token fisici: coordinamento
○ Integrazione, deploy, macchine di sviluppo
https://flic.kr/p/7T2vLV
13. Cosa portare a casa
● Dove si vuole arrivare
○ Si parla con una sola voce
● Come si cresce
○ Ci si contamina, ci si auto-organizza
● Cosa abbiamo imparato
○ 4+1 è il numero magico
○ Mettere in discussione
○ “Allineati”, piuttosto che “esperti”
○ Conquistare fiducia, poi alzare il tiro
https://flic.kr/p/akZPU8