79
HOW AGILE DEV TEAMS WORK

How Agile Dev Teams work

Embed Size (px)

Citation preview

Page 1: How Agile Dev Teams work

HOW AGILEDEV TEAMSWORK

Page 2: How Agile Dev Teams work

Let’s talk about

PAROS & XPEPPERSUna breve introduzione

Page 3: How Agile Dev Teams work

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

Page 4: How Agile Dev Teams work

149.676.595.979,71 €

9.059.619 documenti

6.025 Utenti attivi

732 Enti

Mandato Informatico

Page 5: How Agile Dev Teams work
Page 6: How Agile Dev Teams work

Who are we?

Agile dev Cloud & Automation

Training & Coaching

Page 7: How Agile Dev Teams work

Agile Dev

Page 8: How Agile Dev Teams work

DevOps e Cloud

Page 9: How Agile Dev Teams work

Agile Coaching and Training

Page 10: How Agile Dev Teams work

WHAT IS AGILE?1

Page 11: How Agile Dev Teams work

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

Page 12: How Agile Dev Teams work

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

Page 13: How Agile Dev Teams work

Individuals and interactions between them are more important than processes and tools

Agile Manifesto // Individuals and interactions over processes and tools

Page 14: How Agile Dev Teams work

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

Page 15: How Agile Dev Teams work

Agile Manifesto // Working software over comprehensive documentation

Delivering working software early and often is more important than having a detailed and

comprehensive documentation

Page 16: How Agile Dev Teams work

Agile Manifesto // Responding to change over following a plan

Responding to change is more important than strictly following an outdated plan

Page 17: How Agile Dev Teams work

Agile Planning

In preparing for battle I have always found that plans are useless, but planning is indispensable.

- Dwight D. Eisenhower

Page 18: How Agile Dev Teams work

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”

Page 19: How Agile Dev Teams work

◦ 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?

Page 20: How Agile Dev Teams work

2Come eravamo...PAROS BEFORE AGILE

Page 21: How Agile Dev Teams work

PAROS BEFORE AGILE

◦ Ad ognuno la sua parte◦ Analisi e Progettazione◦ Fase di Test◦ Deploy

Page 22: How Agile Dev Teams work

Ad ognuno la sua parte

Page 23: How Agile Dev Teams work

Ad ognuno la sua parte○ Scarsa condivisione○ Assenze difficili da sopperire○ Passaggi di consegne difficili○ Difficile evoluzione qualitativa delle

applicazioni○ Meno propensione alla crescita

Page 24: How Agile Dev Teams work

Analisi e Progettazione

Page 25: How Agile Dev Teams work

Analisi e Progettazione

Incontro

Analisi

Progettazione

Sviluppo

No!

No!

$ 011010

Page 26: How Agile Dev Teams work

Fase di Test

Page 27: How Agile Dev Teams work

IL DEPLOY

Page 28: How Agile Dev Teams work

Deploy○ Fuori Orario di Lavoro○ Codice Sorgente su vecchi server○ Script poco leggibili e fragili○ Tante Email○ Deploy Manuale○ Migrazioni Database Manuali

Page 29: How Agile Dev Teams work

Un nuovo inizio.

Page 30: How Agile Dev Teams work

PAROS MAKES AN INVESTMENT3

Page 31: How Agile Dev Teams work

Nell’aprile 2014 inizia l’adozione dei metodi agili

Agile Adoption in Paros

Page 32: How Agile Dev Teams work

◦ Formazione sui metodi agili◦ Training on the job◦ Introduzione di Scrum◦ Agile Coaching◦ Team misto Paros + XPeppers

Agile Adoption in Paros

Page 33: How Agile Dev Teams work

Agile Adoption in Paros // Agile Awareness

TRASMETTIAMO I NOSTRI VALORI

Page 34: How Agile Dev Teams work

Agile Adoption in Paros // Team Co-Sourcing

Il team Paros Il team XPeppers

Co-Sourcing

+=

Page 35: How Agile Dev Teams work

CLEAN CODE & TDD

Agile Adoption in Paros // Technical Training

Page 36: How Agile Dev Teams work

INIZIAMO AD ESPLORARE IL PROBLEMA

Agile Adoption in Paros // Agile Discovery

Page 37: How Agile Dev Teams work

UN UNICO TEAM CHE LAVORA AL RITMO DI SCRUM

Agile Adoption in Paros // Cross-Functional Team

Page 38: How Agile Dev Teams work

What is Scrum?Scrum non è una metodologia: è un framework.Ciò significa che non vi dice esattamente cosa fare.Accidenti.

Page 39: How Agile Dev Teams work

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

Page 40: How Agile Dev Teams work

○ 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

Page 41: How Agile Dev Teams work
Page 42: How Agile Dev Teams work

Il ritmo di uno sprint

Page 43: How Agile Dev Teams work

HOW WE CHANGED4

Page 44: How Agile Dev Teams work

Product Owner

○ Definisce le funzionalità○ Responsabile delle Priorità○ Stabilisce l’esito dello sprint○ Garante del Product Backlog

Page 45: How Agile Dev Teams work

Product Backlog○ Il product backlog è uno strumento del

P.O.○ E’ l’insieme delle funzionalità che il

prodotto deve avere○ E’ ordinativo per priorità

Page 46: How Agile Dev Teams work

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!

Page 47: How Agile Dev Teams work

OpennessNon ci sono segreti

Dev Team // Values

Page 48: How Agile Dev Teams work

FocusConcentrazione sul task in corso

Dev Team // Values

Page 49: How Agile Dev Teams work

CommitmentPortiamo a termine ciò che abbiamo iniziato

Dev Team // Values

Page 50: How Agile Dev Teams work

RespectDiamo il nostro meglio e siamo convinti che tutti facciano lo stesso

Dev Team // Values

Page 51: How Agile Dev Teams work

CourageNell’affrontare i cambiamenti, ma anche nel dire di no

Dev Team // Values

Page 52: How Agile Dev Teams work

PLANNING

Page 53: How Agile Dev Teams work

SCRUM BOARD

Page 54: How Agile Dev Teams work

Scrum Master

○ Rimuove gli impedimenti del team○ Non è davanti ma dietro il team○ Garante della qualità del processo

Page 55: How Agile Dev Teams work

SPRINTLe attività quotidiane

5

Page 56: How Agile Dev Teams work

STAND UP MEETING

Page 57: How Agile Dev Teams work

CONDIVISIONE DELLE INFORMAZIONI

Page 58: How Agile Dev Teams work

Pair Programming

Page 59: How Agile Dev Teams work

Test Driven Development

Page 60: How Agile Dev Teams work

REFACTORING

Page 61: How Agile Dev Teams work

STUDIO

Page 62: How Agile Dev Teams work

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

Page 63: How Agile Dev Teams work

Qualche numeroVediamo la nostra Continuous Delivery più da vicino

Page 64: How Agile Dev Teams work

2.500Test Unitari

200Test di funzionalità automatici

1.000Release in un anno

Page 65: How Agile Dev Teams work

30 minutiTempo massimo dal commit alla produzione

0 minutiTempo impiegato per lanciare un deploy

6 minutiDurata di un deploy in produzione

Page 66: How Agile Dev Teams work

FINE SPRINTIl termine di un’iterazione

6

Page 67: How Agile Dev Teams work

DEMOMostriamo i frutti del nostro lavoro agli stakeholders

Page 68: How Agile Dev Teams work

Mock-upsPrototypes

Working Software

Page 69: How Agile Dev Teams work

“Quello che abbiamo consegnato funziona?

Page 70: How Agile Dev Teams work

“ Stiamo consegnando la cosa giusta?

Page 71: How Agile Dev Teams work

Raccogliamo il feedback con gli stakeholders

Page 72: How Agile Dev Teams work

Then… Ship it!

Page 73: How Agile Dev Teams work

LA SPRINT RETROSPECTIVEAnalizziamo insieme quello che è successo

Page 74: How Agile Dev Teams work

No. Blame.

Page 75: How Agile Dev Teams work

“ Cosa è andato bene?

Page 76: How Agile Dev Teams work

“ Cosa è andato male?

Page 77: How Agile Dev Teams work

“ Cosa possiamo fare per migliorare?

Page 78: How Agile Dev Teams work

Get better :)

... !

Page 79: How Agile Dev Teams work

Thanks!

WANT TO KEEP IN TOUCH?Contact us at:https://paros.srl/http://www.xpeppers.com/