slide wallabiez agile day 2007
TRANSCRIPT
Algoritmi Recommendation Engine per LaFeltrinelli
Una transizione
pragmaticamente
agile
Stefania Brandolese
Manuela Munaretto
Chiara Zambelli
Agenda
Introduzione
Sinapsi
I Wallabiez
La Transizione
Le Pratiche Utilizzate
La giornata tipo di un Wallaby
Gestione di pi progetti
Diamo i numeri
Introduzione
Introduzione 1
Perch raccontiamo di noi
esperienza positiva
incoraggia il cambiamento
Perch pragmaticamente agile
pragmatica: concreta e mirata a risolvere i problemi che si sono presentati
agile: tutto iniziato con la lettura di eXtreme Programming di Kent Beck
agile: pratiche introdotte in modo critico e personalizzato
Introduzione - 2
Positiva per noi
responsabilit condivise con decisioni collettive
complessit di progetto inferiore quando condivisa
codice condiviso grazie all'aiuto reciproco
inserimento di figure di qualsiasi livello facilitato
team che adotta altri membri della societ
Introduzione 3
Positivo per il cliente
qualit del codice consegnato aumentata
intervento di chiunque su qualsiasi parte del codice
visibilit del cliente sulle funzionalit consegnate
definizione delle specifiche facilitata dalla costruzione di un vocabolario comune
ascolto del cliente e soddisfazione delle sue necessit
Introduzione - 4
Positivo per la societ
un team agile innovazione
aiuta a reclutare persone di valore
collaboratori e cliente soddisfatti
le insoddisfazioni degli sviluppatori sono sostituite da proposte di cambiamento
Sinapsi S.p.A.
L'azienda:
system integrator
votata allo sviluppo web in ambiente J2EE e con tecnologie FOSS
tra le societ pioniere di internet in Italia
nata nel 1996
due sedi operative: Milano e Zagabria (Croazia)
azienda di piccole dimensioni
Sinapsi S.p.A.
Know how:
formazione specialistica su tecnologie di sviluppo web J2EE e FOSS
competenze sui domini applicativi dei mercati su cui operano i clienti
competenze sui problemi di streaming audio/video e sulla gestione della propriet intellettuale
Sinapsi S.p.A.
Tipologie di attivit in Sinapsi:
manutenzione evolutiva di applicazioni finance
sviluppo a progetto di applicazioni Java
servizi professionali
Sinapsi S.p.A.
I Wallabiez
Nel giugno 2006 nasce il team Wallabiez
inizialmente comprendente le persone che lavoravano su uno specifico cliente (Banca Popolare di Sondrio)
motivazione: da gruppo di lavoro diventare una squadra, un unione di persone che lavora insieme per un obiettivo comune, valorizzando al massimo il talento di ognuno
I Wallabiez
Il team si dato:
un nome
un logo
uno spazio comune di riunione
un insieme di regole e comportamenti agili che sono variati nel tempo in maniera autoadattativa
I Wallabiez
Nel corso di questo anno e i componenti sono cambiati ma il team rimasto...
Attualmente:
6 componenti (a cui si aggiunge una volta alla settimana il nostro esperto agile Gabriele Lana)
non pi collegato ad un solo cliente
gestiti sino a tre clienti diversi
I Wallabiez
Caratteristica particolare del team la sua notevole eterogeneit:
et: dai 20 anni agli over30
esperienza: 3 senior e 3 junior
formazione: laureati e non, e non necessariamente in informatica!
sesso: 3 baldi uomini e 3 donzelle!
I Wallabiez
La Transizione
La Transizione
Il cambiamento:
sinergia di persone nel tempo
nato dalla volont delle persone e da un percorso di evoluzione
Elevato turn over nel team
Arriva lo XPUG in Sinapsi
Partecipazione all'Italian Agile Day 2006
Arriva il prezioso aiuto del nostro evangelizzatore :-) Gabriele Lana
Le Pratiche
Le Pratiche
Ci confrontiamo con l'eXtreme Programming perch tutto nasce da l
Non vogliamo per diventare un team XP: vogliamo lavorare bene e in modo soddisfacente
Il nostro lavoro: manutenzione evolutiva di codice legacy
Il nostro obiettivo: la soddisfazione nostra e del cliente
Planning Game
Decidiamo le priorit con il cliente in base a card e task
Obiettivo: capire insieme al cliente le sue necessit
Brevi Cicli di Rilascio
Per rilasciare valore in modo costante nel tempo
La nostra iterazione di 15 giorni
Obiettivo: dare e avere feedback
Semplicit di Progetto
Abbiamo introdotto il task blu:
test
refactoring
affidabilit dei test
Obiettivo: maggiore manutenibilit e modificabilit
Testing
Perch scriviamo test:
aumentano la nostra sicurezza e quella del cliente sul codice che scriviamo
aumentano la nostra conoscenza del codice
individuano eventuali regressioni
velocizzano i tempi di sviluppo
test automatici contro test manuali (web app)
Quando possibile preferiamo il test first
Obiettivo: aumentare la copertura del codice
Refactoring
Facciamo del refactoring quando:
il codice coperto da test
il codice complesso
al terzo cut & paste ;-)
Alcuni task blu sono concordati col cliente:
razionalizzazione del codice
Obiettivo: semplicit e manutenibilit
Pair Programming
Abbiamo La Giornata del Navigatore:
un pair programming custom
un giorno a turno uno del team dedica il suo tempo alla programmazione in coppia
Obiettivo: aumentare la propriet collettiva
Propriet Collettiva
Cerchiamo di far girare le persone sui progetti:
favorisce la propriet e la conoscenza collettive
aumenta la crescita
stimola la curiosit
tutti possono intervenire sul codice di produzione che non hanno rilasciato
Obiettivo: la crescita personale e professionale dei membri del team; l'indipendenza del singolo dal progetto; l'indipendenza del progetto dal singolo
Integrazione Continua
Lavoriamo per migliorare ulteriormente il nostro ambiente di integrazione continua:
credibilit dei test
tempi dei test unitari
tempi dei test funzionali
indipendenza dei test
Obiettivo: un progetto sempre funzionante; individuare eventuali problemi prima del cliente; acquisire sicurezza
Settimana di 40 Ore
Al mattino voglio essere fresco e desideroso di cominciare; alla sera mi piace essere stanco e soddisfatto. Al venerd, voglio essere abbastanza stanco e soddisfatto da sentirmi autorizzato a pensare ad altro per due giorni. Al luned, poi, voglio arrivare pieno di entusiamo e di idee.
Kent Beck Programmazione Estrema Introduzione
Obiettivo: avere voglia di far bene il proprio lavoro
Cliente sul Posto
Sviluppiamo in sede e andiamo dal cliente una volta a settimana per:
avere feedback su quanto prodotto
pianificare insieme le attivit
rilasciare in sviluppo
assistere il cliente durante i rilasci in produzione
Obiettivo: consegnare al cliente quello di cui ha effettivamente bisogno
Standard di Codifica
Nessuna regola particolare
La modifica collettiva crea uno standard interno
Cerchiamo di scegliere nomi di classi, metodi e variabili parlanti seguendo un vocabolario comune a noi e al cliente
Obiettivo: facilitare la comprensione e la conoscenza
La Retrospettiva
Il tempo e il luogo dove il team prende le decisioni per:
risolvere problemi tecnici
modificare il processo di sviluppo
discutere soddisfazioni e insoddisfazioni
decidere un nome per grafici, progetti, inziative
Obiettivo: decidere insieme cosa meglio per noi
Il pomodoro
L'unit di tempo che scandisce le nostre giornate: 25 + 5 minuti
I pomodori:
12 al giorno per 5 giorni
60 pomodori settimanali ciascuno
360 pomodori settimanali di team
Obiettivo: far fruttare il nostro tempo
Il Frodo del pomodoro
A turno ogni membro del team il frodo del pomodoro ovvero il custode da proteggere del nostro tempo
Obiettivo: raccogliere pomodori
La giornata tipo di un wallaby
La giornata tipo di un wallaby
Stand Up Meeting
Tracking
4 pomodori di sviluppo
Pausa
1 pomodoro di sviluppo
Pausa pranzo
4 pomodori di sviluppo
Pausa
2 pomodori di sviluppo
1o pomodoro
Stand Up Meeting
Momento fondamentale nella giornata del wallaby
2 minuti ciascuno
Non riunione
Aggiornamento veloce
Domande
Per comodit abbiamo deciso di stilare una lista di domande alle quali rispondere per semplificare e velocizzare la comunicazione:
Lavagna - 1
La lavagna divisa in pi parti:
Lavagna - 2
In alto troviamo le storie che devono essere sviluppate, ancora da assegnare
Lavagna - 3
Al centro ci sono le storie in sviluppo, la loro posizione rispetto alla barra di avanzamento indica a che punto si arrivati
Lavagna - 4
In basso ci sono due spazi: uno per le storie concluse da mettere in ambiente di sviluppo dal cliente, uno per le storie che dopo i test in sviluppo possono essere messe in produzione
Lavagna - 3
Ogni storia ha un owner
Durante lo Stand Up Meeting si aggiorna la posizione della storia lungo la barra di avanzamento
Tracking
Registrazione sul timesheet aziendale del tempo dedicato ai vari progetti
Registrazione interna al team dei pomodori di ogni componente per produrre statistiche
E' utile per capire quanto tempo stato speso su ogni task e poi perfezionare le stime
La giornata del Navigatore
A turno ogni componente del team per un giorno si stacca dalla sua storia e partecipa allo sviluppo delle storie degli altri owner
Questo perch:
un modo veloce e pratico di entrare in contatto con i progetti seguiti dagli altri membri del team
si riesce in maniera produttiva a condividere le conoscenze acquisite senza fermare lo sviluppo del team con riunioni e presentazioni in cui ognuno espone a tutti le problematiche affrontate
Gestione di pi progetti
Gestione di pi progetti
Per un periodo di tempo c' stata l'esigenza di gestire 3 progetti contemporaneamente. Come stata organizzata questa gestione?
applicando il pi possibile le tecniche agili apprese dal team:
preparazione delle storie e dei task
stima dei tempi di realizzazione
suddivisione del lavoro tra i componenti del team fatto in modo da rispettare tempistiche e scadenze
monitoraggio giornaliero dei progressi fatti sui singoli progetti
Diamo i numeri
Diamo i numeri: ccn
Diamo i numeri: Scrigno
Diamo i numeri: WS
Sinapsi Spa
Viale Bligny 27
20136 Milano (MI)
Telefono: 02 582095.1
Fax: 02 582095.21
Web: www.sinapsi.com
Info: [email protected]
Wallabiez: [email protected]
Inclinazione per la rete
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Click to edit the title text format
23 Novembre 2007 Sinapsi IAD 2007