Agile Piano B
date post
17-Oct-2014Category
Technology
view
1.783download
2
Embed Size (px)
description
Transcript of Agile Piano B
Il piano B
Foto di prati verdi
Questo un prato verde: il greenfield project.Il cliente collaborativo, con lui discutiamo i requisiti e proponiamo le nostre soluzioni. Le iterazioni su susseguono mentre pian piano diventiamo sempre pi esperti sia nellapplicazione della metodologia, che delle tecnologie in uso.
Monnezza a napoli
In realt non tutto rose e fiori, non sempre possiamo partire dal foglio bianco. Anzi il foglio bianco per molti un illusione, e dobbiamo fare i conti con quanto abbiamo lasciato in giro, o quanto abbiamo ereditato dai progetti precedenti.
Il codice legacy pu essere una sgradevole sorpresa, gi dalla prima user story
Sommossa popolare
Lambiente di lavoro pu non essere serenissimo, ed i colleghi non sempre collaborativi o disponibili al cambiamento.
La pianificazione originale messa in crisi dal continuo susseguirsi di emergenze.
Il tutto sotto la sgradevole sensazione di aver qualcuno che non aspetti altro di vederci fallire per poter dire ve lavevo detto.
Che dovemo f?
Spesso rinunciare non unopzione.
Si parte!
Nonostante tutto, spesso non abbiamo scelta, abbiamo armi spuntate, non siamo nel ruolo adatto. Sappiamo che tutto ci sbagliato, abbiamo una (vaga) idea di come dovrebbero andare le cose invece, ma i nostri sogni non superano le chiacchiere alla macchina del caff.
Self Organizing Team
Anatre o simili (ma sparpagliate), oppure storni nel cialo di roma
Pecore o galline
Il gruppo capace di organizzarsi da solo, come uno stormo di uccelli
... o come un branco di pesci, in grado di sparpagliarsi di fronte ad una minaccia, e di ricompattarsi un attimo dopo
Ma ci a cui ambiamo veramente laffiatamento di una squadra di pallavolo in ricezione. Uno grida Mia! il collega copre, azione dopo azione.
Non sempre organizzarsi da soli una chiave per il successo.
Foto del tipo: non c problema. Tu mi dici cosa devo fare, ed io lo faccio!
E molto spesso dimmi cosa devo fare, ed io lo faccio il massimo che possiamo ottenere.
Daily Meeting
Foto di un ingorgo stradale
Oppure
Foto di Fantozzi che cerca di prendere lautobus
Molte pratiche agili non sono uninvenzione agile: sono pattern organizzativi robusti, che permettono a determinate istituzioni di mantenersi intatte, da tempi immemorabili.Chi ha fatto il militare sa cos uno stand up meeting
Daily Meeting
Foto della classica famiglia italiana che mangia spaghetti
Photo courtesy of SugieeeeLa tipica famiglia italiana incentrata sui rituali del pranzo, della cena, e del pranzo domenicale, che cementano e sincronizzano il gruppo.
Ma in un contesto reale, essere tutti alla stessa ora nello stesso posto pu rivelarsi una scommessa.
Pair Programming
E forse la pratica pi ambiziosa e controversa di XP, ma anche una delle pi difficili da applicare.
istintivamente, sappiamo che il Pairing giusto, che in coppia si lavora meglio
Sappiamo che coppie bene assortite sono complementari e che i punti di forza di uno compensano le debolezze dellaltro
Ad un certo punto della nostra esistenza, abbiamo avuto la definitiva certezza che lavorare in coppia fosse la cosa giusta da fare...
Poi, per, piccoli dettagli pratici hanno reso le cose pi complicate del previsto.
Foto di uno con lascella alzata, pubblicit di deodoranti
La prissimit con i colleghi pu rivelarsi un elemento non particolarmente gradevole
... o troppo gradevole, minando drammaticamente la produttivit
In altri casi, le coppie possono risultare non particolarmente bene assortite.
- Beavis, dobbiamo, he he, ...accoppiarci...- He he, ... figo ...
In altri casi, le coppie possono risultare non particolarmente bene assortite.
O pi semplicemente,alcuni programmatori sono stati educati ad uno stile di programmazione pi individualista.
Abitudini
Ma il nemico numero uno chiaramente rappresentato dalle abitudini. Cambiare tecnologia relativamente semplice, ma cambiare le abitudini uno sforzo notevole e facil mente sottovalutato.
Abitudine
Copyright Wordenaar 2008
Alcune abitudini risalgono alla notte dei tempi, le facciamo senza pensarci anche se ufficialmente sappiamo che sono sbagliate.
...dritti sul codice?
Altre sono un istinto incontrollabile, come aprire lIDE e tuffarsi sul codice PRIMA di avere capito che cosa effettivamente dobbiamo fare.
Altre non cerano fino a qualche mese fa, ma ora improvvisamente non siamo pi in grado di farne a meno.
Non si pu fare...
Purtroppo, la prima fase di entusiasmo viene spessa seguita da un momento di disillusione, in cui determinate pratiche vengono giudicate buone sulla carta ma non applicabili in un determinato contesto.
Pair
Programming
Apprendimento rapido
Conoscenza uniforme del
codice
Minor numero di errori nel
codice
Definition of Done
Intercettazione anticipata degli
errori
No code bottlenecks
Workstation dedicate
Team colocato
Ambiente adeguato
Planning game
Le pratiche agili non vivono in isolamento: definiscono un ecosistema complesso con effetti di primo e secondo ordine. Richiedono il verificarsi di determinate precondizioni ed abilitano determinati effetti anche su porzioni del processo apparentemente distanti.
Refactoring
Rilasci frequenti
Affidabilit
Definition of Done
Confidenza
Easy to change
Server dedicato
OO skills non banali
Test Driven
Development
Continuous
Integration
Testing Skills
Alcune pratiche si rafforzano tra loro, formando cluster. TDD permette di aumentare la confidenza sul codice permettendo il refactoring. Test automatizzati inclusi nella suite di continuous integration aumentano il livello di condivisione dello stato del codice e permettono rilasci pi frequenti.
Refactoring
Test Driven
Development
Continuous
Integration
Frequent
Planning
Short
Iterations
Attorno a cluster di pratiche consolidate possibile aggregare via via altre pratiche, su un terreno pi stabile...
... aumentando considerevolmente il bonus ed il punteggio complessivo!!
Open Discussion!
http://ziobrando.blogspot.com