Presentazione metodologia agile av

Post on 05-Dec-2014

442 views 2 download

description

 

Transcript of 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

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

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

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

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)

© copyright ADD VALUE 2011 - Confidential 6

Dalle metodologie classiche alle metodologie moderne

Copyright Rational Software 2001

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

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

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

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

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.

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.”

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.”

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.”

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.”

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.”

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.”

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

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.”

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à.”

Valori e principi guida: i principi Agile

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

Semplicità +

Ottimizzazione

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

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

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

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

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

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

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

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.

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

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

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

Metodologia Agile AV: il processo

© copyright ADD VALUE 2011 - Confidential 33

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

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

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

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

Q & A

Grazie per l’attenzione!

© copyright ADD VALUE 2011 - Confidential 38

Giandomenico Biondarogiandomenico.biondaro@addvalue.it

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

www.addvalue.it