Presentazione metodologia agile av

39
Metodologia Agile AV Rivolto a Consorzio Operativo Gruppo Monte Paschi Di Siena Redatto da Add Value, Giandomenico Biondaro Data 29 07 2011

description

 

Transcript of Presentazione metodologia agile av

Page 1: Presentazione metodologia agile av

Metodologia Agile AV

Rivolto a Consorzio Operativo Gruppo Monte Paschi Di Siena

Redatto da

Add Value, Giandomenico Biondaro

Data 29 07 2011

Page 2: Presentazione metodologia agile av

Agenda

• Obiettivo

• Il contesto e le sfide del presente

• Dalle metodologie classiche alle metodologie moderne

• Valori e principi guida

• Esempi di metodologie moderne

• Metodologia Agile AV

© copyright ADD VALUE 2011 - Confidential 2

Page 3: Presentazione metodologia agile av

Obiettivo

La seguente sessione di formazione ha come obbiettivo l’introduzione alla metodologia Agile AV.

Nella prima parte si farà un overview dei ragionamenti e motivazioni che ci hanno evidenziato il bisogno di un’evoluzione nella metodologia implementativa.

Successivamente presenteremo i valori e i principi guida presi in considerazione per la definizione di una metodologia implementativa moderna e in grado di rispondere alle sfide del presente.

In fine illustreremo le pratiche, gli strumenti e le interazioni che compongono la nostra metodologia di sviluppo.

© copyright ADD VALUE 2011 - Confidential 3

Page 4: Presentazione metodologia agile av

Il contesto e le sfide del presente

• Le sfide che l’ingegneria del software si trova ad affrontare sono sempre più stringenti;

• Il contesto in cui ci si trova ad operare sono mobili, iper competitivi, complessi e richiedono tempi stringenti

• Il mercato sempre di più richiede economicità, e cambiamento costante

© copyright ADD VALUE 2011 - Confidential 4

Page 5: Presentazione metodologia agile av

Dalle metodologie classiche alle metodologie moderne

Nella metodologia waterfall le fasi sono ben definite e si svolgono in una sequenza ben stabilita e standardizzata, come un inizio e una fine.

© copyright ADD VALUE 2011 - Confidential 5

StudioIniziale

Analisi Funzionale

AnalisiSistema

Analisi Tecnica

Realizzazione System Test

Gestione Progetto (Management)

Page 6: Presentazione metodologia agile av

© copyright ADD VALUE 2011 - Confidential 6

Dalle metodologie classiche alle metodologie moderne

Copyright Rational Software 2001

Page 7: Presentazione metodologia agile av

Dalle metodologie classiche alle metodologie moderne

© copyright ADD VALUE 2011 - Confidential 7

• I Requisiti: I requisiti sono complessi non solo perché sono ambigui ma anche in continuo cambiamento

• La tecnologia: Varia continuamente e matura nel tempo. Tecnologie più recenti sono meno affidabili. C’è una corsa all’upgrade tecnologico.

• Le Persone che Sviluppano il Software: Queste hanno differenti skills, livelli di intelligenza, esperienze, punti di vista, attitudini e pregiudizi

Page 8: Presentazione metodologia agile av

Dalle metodologie classiche alle metodologie moderne

Problemi tipici dei progetti:• Mancanza della gestione del cambiamento dei

requisiti• Cattiva comunicazione• Inadeguatezza del Team• Requisiti non ben definiti• Stime non accurate• Mancanza di un piano di gestione dei Rischi• Cattiva definizione di cosa significa “Finito”• Essere sempre troppo ottimisti!• Non dedicare il giusto tempo alla gestione del

progetto• Mancanza della conoscenza di come si gestisce

un progetto © copyright ADD VALUE 2011 - Confidential 8

Page 9: Presentazione metodologia agile av

Esercizio: A cosa stavo pensando?

Tempo: 30’Strumenti: carta, matita.

Obbiettivo dell’esercizio è dimostrare che:

1. Realizzare software significa in molti casi costruire qualcosa che ancora non esiste. Per far ciò è necessario un vocabolario comune, senza il quale la maggior parte dei requisiti si perderebbe durante la comunicazione.

2. Lo sviluppo iterativo e l’utilizzo di dimostrazioni consentono di concentrarsi su ciò di cui il commitente ha veramente bisogno anziché soffermarsi solo su ciò che viene richiesto.

© copyright ADD VALUE 2011 - Confidential 9

Page 10: Presentazione metodologia agile av

Valori e principi guida: concetti di base

© copyright ADD VALUE 2011 - Confidential 10

Visibilità : Significa che quegli aspetti del processo che influiscono sul risultato, devono essere visibili (e veri) a quelli che controllano il processo

Ispezione : I vari aspetti del processo devono essere ispezionati frequentemente, abbastanza perché un’inaccettabile variazione nel processo possa essere rilevato

Adattamento : Una volta che l’ispezione ha rilevato una variazione, le rettifiche devono essere fatte il più velocemente possibile in modo da evitare ulteriori variazioni

Page 11: Presentazione metodologia agile av

Valori e principi guida: il manifesto Agile

© copyright ADD VALUE 2011 - Confidential 11

Manifesto per lo Sviluppo Agile di SoftwareStiamo scoprendo modi migliori di creare software,

sviluppandolo e aiutando gli altri a fare lo stesso.Grazie a questa attività siamo arrivati a considerare importanti:

Gli individui e le interazioni più che i processi e gli strumenti

Il software funzionante più che la documentazione esaustiva

La collaborazione col cliente più che la negoziazione dei contratti

Rispondere al cambiamento più che seguire un piano

Ovvero, fermo restando il valore delle voci a destra,consideriamo più importanti le voci a sinistra.

Page 12: Presentazione metodologia agile av

Unit Tesing + Continuos Integration

Jenkins-CI

Valori e principi guida: i principi Agile

“La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua.”

Page 13: Presentazione metodologia agile av

Semplicità+

Architetture Evolutive

Valori e principi guida: i principi Agile

“Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente.”

Page 14: Presentazione metodologia agile av

Ritmo e costanza

Valori e principi guida: i principi Agile

“Consegniamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi, preferendo i periodi brevi.”

Page 15: Presentazione metodologia agile av

Stesso ufficio openspace

oppure

Video conferenze

Valori e principi guida: i principi Agile

“Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto.”

Page 16: Presentazione metodologia agile av

No incentivi singoliIncentivi sul teamTrasparenzaComunicazioneAutonomiaFiducia

Valori e principi guida: i principi Agile

“Fondiamo i progetti su individui motivati.Diamo loro l'ambiente e il supporto di cui hanno bisognoe confidiamo nella loro capacità di portare il lavoro a termine.”

Page 17: Presentazione metodologia agile av

Non dire le cose per email quando si possono dire di persona

Valori e principi guida: i principi Agile

“Una conversazione faccia a faccia è il modo più efficiente e più efficace per comunicare con il team ed all'interno del team.”

Page 18: Presentazione metodologia agile av

Valori e principi guida: i principi Agile

“Il software funzionante è il principale metro di misura di progresso.”

I feedback del cliente sono la piu’ grande misura del successo del progetto

Page 19: Presentazione metodologia agile av

Ritmo sostenibile

Valori e principi guida: i principi Agile

“I processi agili promuovono uno sviluppo sostenibile.Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante.”

Page 20: Presentazione metodologia agile av

Eccellenza e progettazione portano alla semplicita’

Valori e principi guida: i principi Agile

“La continua attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità.”

Page 21: Presentazione metodologia agile av

Valori e principi guida: i principi Agile

“La semplicità - l'arte di massimizzare la quantità di lavoro non svolto - è essenziale.”

Semplicità +

Ottimizzazione

Page 22: Presentazione metodologia agile av

Valori e principi guida: i principi Agile

“Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano.”

Auto-organizzazione =

far emergere il meglio

Page 23: Presentazione metodologia agile av

Essere leali e obiettivi

Valori e principi guida: i principi Agile

“A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza.”

Saper riconoscere e correggere gli errori

Page 24: Presentazione metodologia agile av

Valori e principi guida: Agile in sintesi

© copyright ADD VALUE 2011 - Confidential 24

Agile serve per:

1. Apportare facilmente cambiamenti

2. Creare velocemente valore

3. Aumentare la trasparenza

Page 25: Presentazione metodologia agile av

Esempi di metodologie moderne

FDD: forma di sviluppo guidata dalle funzionalità richieste e necessarie del programma. Prevede una robusta fase di analisi e disegno integrata con un modello di sviluppo Agile;

SCRUM: prevede di dividere il progetto in blocchi di lavoro (Sprint) alla fine dei quali consegnare una versione al cliente. Prevede un backlog dove definire i dettagli del lavoro da fare nell'immediato futuro. Organizza riunioni giornaliere del team di sviluppo (Scrum Meeting) per verificare cosa si è fatto e cosa si farà.

Extreme Programming: si basa sulla programmazione a più mani (generalmente in coppia), la verifica continua del programma durante lo sviluppo per mezzo di programmi di test e la frequente reingegnerizzazione del software, senza dover rispettare fasi di sviluppo particolari.

© copyright ADD VALUE 2011 - Confidential 25

Page 26: Presentazione metodologia agile av

AGILE AV

Metodologia Agile AV: il perimetro

la metodologia Agile Av, impatta nel modo in cui il team implementativo si organizza, pianifica e svolge l’implementazione del progetto. Altri team di lavoro del progetto hanno un impatto in funzione della comunicazione più frequente e stretta.

© copyright ADD VALUE 2011 - Confidential 26

StudioIniziale

Analisi Funzionale

AnalisiSistema

Analisi Tecnica

Realizzazione System Test

Gestione Progetto (Management)

Analisi Funzionale

Page 27: Presentazione metodologia agile av

Progetto

Metodologia Agile AV: interazioni

la metodologia Agile Av, impatta nel modo in cui il team implementativo si organizza, pianifica e svolge l’implementazione del progetto. Altri team di lavoro del progetto hanno un impatto in funzione della comunicazione più frequente e stretta.

© copyright ADD VALUE 2011 - Confidential 27

Agile AV Team

Altro team

Team cliente

. . .

. . .

Visibilità e comunicazione

Page 28: Presentazione metodologia agile av

Metodologia Agile AV: cosa non è

• Poca o nessuna documentazione

• Requisiti di massima

• Nessuna pianificazione

• Nessun controllo di progetto

• Fare e poi pensare

• Un waterfall interattivo

Page 29: Presentazione metodologia agile av

Metodologia Agile AV: cos’è

• Uno specchio della realtà

• Un processo guidato dal valore

• Un continuo adattamento agli input esterni (requisiti,

aspettative, ambito) con lo scopo di massimizzare il

valore rilasciato.

Page 30: Presentazione metodologia agile av

Metodologia Agile AV: ruoli

• The Product Owner : Elabora l’analisi funzionale e produce la lista dei requisiti (Product Backlog). Ne è responsabile, recepisce quale funzionalità sia più importante attraverso un frequente aggiornamento con il cliente / Analista Funzionale.

© copyright ADD VALUE 2011 - Confidential 30

Page 31: Presentazione metodologia agile av

Metodologia Agile AV: ruoli

• The Team : La squadra è responsabile nello sviluppo delle funzionalità. La squadra è autogestita, auto organizzata e trasversalmente funzionale

• E’ responsabile nel capire come trasformare un Product Backlog in un incremento di una funzionalità all’interno di una iterazione

• E’ responsabile collettivamente del successo di ogni iterazione e del progetto nel suo insieme

© copyright ADD VALUE 2011 - Confidential 31

Page 32: Presentazione metodologia agile av

Metodologia Agile AV: ruoli

• Sprint Master : Il suo ruolo è quello di facilitatore ma non è il leader del team (che è auto-organizzato)

• E’ un cuscinetto tra il team e le influenze esterne, il suo lavoro principale è quello di rimuovere gli ostacoli che impedirebbero la delivery

• Si assicura che processi e regole siano rispettati

• Protegge il team dalle influenze esterne e lo mantiene focalizzato su ciò che sta implementando

© copyright ADD VALUE 2011 - Confidential 32

Page 33: Presentazione metodologia agile av

Metodologia Agile AV: il processo

© copyright ADD VALUE 2011 - Confidential 33

Page 34: Presentazione metodologia agile av

Metodologia Agile AV: pratiche e strumenti

• Il Product Backlog: è una lista di requisiti funzionali con relativa priorità, gestiti e di responsabilità del Product Owner

• Sprint Planning Meeting: è l’inizio dello Sprint, dove il Product Owner dice al Team quello che desidera, il Team dice al Product Owner quanto di quello desiderato crede che possa essere trasformato in funzionalità per il prossimo Sprint

• Daily meeting: consiste nell’incontro giornaliero (15 minuti) rispondendo a tre domande:

– Cosa hai fatto dall’ultimo Daily Meeting– Cosa hai pianificato entro il prossimo Daily Meeting (e stima a

finire)– Quali ostacoli hai trovato nello svolgere le tue attività

© copyright ADD VALUE 2011 - Confidential 34

Page 35: Presentazione metodologia agile av

Metodologia Agile AV: pratiche e strumenti

• Sprint Review Meeting: viene svolto alla fine dello Sprint, ha l’obiettivo di presentare al Product Owner quanto rilasciato e per pianificare il prossimo Sprint Planning Meeting

• Sprint Retrospective Meeting : è tenuto dallo Sprint Master con l’obiettivo di rivedere con il Team il processo di sviluppo in modo da rendere più efficace il prossimo Sprint

• Burndown Chart : Mette in evidenza la mole di lavoro che rimane da svolgere in ogni momento e il progresso che fa il team di progetto nel ridurla

© copyright ADD VALUE 2011 - Confidential 35

Page 36: Presentazione metodologia agile av

Metodologia Agile AV: pratiche e strumenti

• Definition of DONE: prima dell’inizio degli sviluppi, il team definisce cosa significa fatto. Ovvero stabilisce in maniera condivisa gli standard che un componente od una funzionalità sviluppata devono rispettare, per poterla considerare completata e quindi potenzialmente rilasciabile.

• Team rules: il team stabilisce quali sono le regole (best practice) alle quali attenersi per poter lavorare in modo efficiente ed efficace, limitando gli sprechi e favorendo la comunicazione.

• Technological check : incontri tenuti a discrezione del team che hanno l’obbiettivo di condividere le soluzioni tecnologiche trovate durante lo sviluppo affinché tutto il team possa beneficiarne.

© copyright ADD VALUE 2011 - Confidential 36

Page 37: Presentazione metodologia agile av

Esercizio: Resort brochure

Tempo: 30’Strumenti: carta, colla, forbici, riviste.

Obbiettivo dell’esercizio è realizzare una simulazione delle pratiche illustrate in questa presentazione.

© copyright ADD VALUE 2011 - Confidential 37

Page 38: Presentazione metodologia agile av

Q & A

Grazie per l’attenzione!

© copyright ADD VALUE 2011 - Confidential 38

Page 39: Presentazione metodologia agile av

Giandomenico [email protected]

Via Morgagni, 22Tel. +39 045 8282711Fax +39 045 828271237135 Verona

www.addvalue.it