Upload
xpeppers
View
106
Download
0
Embed Size (px)
Citation preview
HOW AGILEDEV TEAMSWORK
Let’s talk about
PAROS & XPEPPERSUna breve introduzione
ParosPMI – informatica bancariaFondata nel 2009 come spin-off di un progetto di una SW in-house P.A.
Prodotti e serviziSistema per la tracciabilità delle transazioni finanziarie tra Banca e P.A. Help Desk supporto applicativo
Organizzazione3 CFO, GE Managers 2 PO and PM7 Dev-Ops7 Help Desk
149.676.595.979,71 €
9.059.619 documenti
6.025 Utenti attivi
732 Enti
Mandato Informatico
Who are we?
Agile dev Cloud & Automation
Training & Coaching
Agile Dev
DevOps e Cloud
Agile Coaching and Training
WHAT IS AGILE?1
WHAT IS AGILE?
A set of principles, values, practices and tools that allow orgs to improve their
delivery effectiveness and to deliver value to their stakeholders early, often and
continuously
Agile Manifesto
◦ Individuals and interactions over processes and tools
◦ Working software over comprehensive documentation
◦ Customer collaboration over contract negotiation
◦ Responding to change over following a plan
Individuals and interactions between them are more important than processes and tools
Agile Manifesto // Individuals and interactions over processes and tools
Collaboration for the competitive advantage of the customer is more important than
negotiation based on what is written on the signed contract between the two parts.
Agile Manifesto // Customer collaboration over contract negotiation
Agile Manifesto // Working software over comprehensive documentation
Delivering working software early and often is more important than having a detailed and
comprehensive documentation
Agile Manifesto // Responding to change over following a plan
Responding to change is more important than strictly following an outdated plan
“
Agile Planning
In preparing for battle I have always found that plans are useless, but planning is indispensable.
- Dwight D. Eisenhower
“
True Agility?
“This is the essence of agile, teams do not become agile by adopting a methodology. Rather true agility means that teams are constantly working to evolve their processes to deal with the particular obstacles they are facing at any given time"
- “Lean Enterprise”
◦ They are a team, not a bunch of people working together
◦ Common approach to work◦ Common purpose or goal◦ Work matters to each other◦ Interdependent◦ Cross-functional (complementary skills)◦ Make commitments to each other
What are the key characteristics of an Agile Team?
2Come eravamo...PAROS BEFORE AGILE
PAROS BEFORE AGILE
◦ Ad ognuno la sua parte◦ Analisi e Progettazione◦ Fase di Test◦ Deploy
Ad ognuno la sua parte
Ad ognuno la sua parte○ Scarsa condivisione○ Assenze difficili da sopperire○ Passaggi di consegne difficili○ Difficile evoluzione qualitativa delle
applicazioni○ Meno propensione alla crescita
Analisi e Progettazione
Analisi e Progettazione
Incontro
Analisi
Progettazione
Sviluppo
No!
No!
$ 011010
Fase di Test
IL DEPLOY
Deploy○ Fuori Orario di Lavoro○ Codice Sorgente su vecchi server○ Script poco leggibili e fragili○ Tante Email○ Deploy Manuale○ Migrazioni Database Manuali
Un nuovo inizio.
PAROS MAKES AN INVESTMENT3
Nell’aprile 2014 inizia l’adozione dei metodi agili
Agile Adoption in Paros
◦ Formazione sui metodi agili◦ Training on the job◦ Introduzione di Scrum◦ Agile Coaching◦ Team misto Paros + XPeppers
Agile Adoption in Paros
Agile Adoption in Paros // Agile Awareness
TRASMETTIAMO I NOSTRI VALORI
Agile Adoption in Paros // Team Co-Sourcing
Il team Paros Il team XPeppers
Co-Sourcing
+=
CLEAN CODE & TDD
Agile Adoption in Paros // Technical Training
INIZIAMO AD ESPLORARE IL PROBLEMA
Agile Adoption in Paros // Agile Discovery
UN UNICO TEAM CHE LAVORA AL RITMO DI SCRUM
Agile Adoption in Paros // Cross-Functional Team
What is Scrum?Scrum non è una metodologia: è un framework.Ciò significa che non vi dice esattamente cosa fare.Accidenti.
Scrum○ Scrum è un framework di project
management, quindi non prescrive pratiche tecniche
○ Spesso chi adotta Scrum lo integra con pratiche tecniche prese da eXtreme Programming
○ Scrum è time-boxed: lo sviluppo del prodotto è suddiviso in iterazioni di lunghezza fissa, tipicamente di due settimane.
○ Alla fine di ogni iterazione si rilasciano le funzionalità sviluppate
Scrum
Il ritmo di uno sprint
HOW WE CHANGED4
Product Owner
○ Definisce le funzionalità○ Responsabile delle Priorità○ Stabilisce l’esito dello sprint○ Garante del Product Backlog
Product Backlog○ Il product backlog è uno strumento del
P.O.○ E’ l’insieme delle funzionalità che il
prodotto deve avere○ E’ ordinativo per priorità
Dev Team○ Stima le funzionalità○ Si auto-organizza○ Il team viene prima del singolo○ Condivide i successi○ Ma anche i fallimenti○ Diritto e dovere di dare aiuto○ You’ll never walk alone!
OpennessNon ci sono segreti
Dev Team // Values
FocusConcentrazione sul task in corso
Dev Team // Values
CommitmentPortiamo a termine ciò che abbiamo iniziato
Dev Team // Values
RespectDiamo il nostro meglio e siamo convinti che tutti facciano lo stesso
Dev Team // Values
CourageNell’affrontare i cambiamenti, ma anche nel dire di no
Dev Team // Values
PLANNING
SCRUM BOARD
Scrum Master
○ Rimuove gli impedimenti del team○ Non è davanti ma dietro il team○ Garante della qualità del processo
SPRINTLe attività quotidiane
5
STAND UP MEETING
CONDIVISIONE DELLE INFORMAZIONI
Pair Programming
Test Driven Development
REFACTORING
STUDIO
Continuous Delivery
Commit! Unit and Component Tests
Build and Archive
Deployto...
User Acceptance Test Environment
User Acceptance Tests Ready for Production!
Release!
~ 10 min
~ 15 min
Qualche numeroVediamo la nostra Continuous Delivery più da vicino
2.500Test Unitari
200Test di funzionalità automatici
1.000Release in un anno
30 minutiTempo massimo dal commit alla produzione
0 minutiTempo impiegato per lanciare un deploy
6 minutiDurata di un deploy in produzione
FINE SPRINTIl termine di un’iterazione
6
DEMOMostriamo i frutti del nostro lavoro agli stakeholders
Mock-upsPrototypes
Working Software
“Quello che abbiamo consegnato funziona?
“ Stiamo consegnando la cosa giusta?
Raccogliamo il feedback con gli stakeholders
Then… Ship it!
LA SPRINT RETROSPECTIVEAnalizziamo insieme quello che è successo
No. Blame.
“ Cosa è andato bene?
“ Cosa è andato male?
“ Cosa possiamo fare per migliorare?
Get better :)
... !
Thanks!
WANT TO KEEP IN TOUCH?Contact us at:https://paros.srl/http://www.xpeppers.com/