How Agile Dev Teams work

Preview:

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/