Presentazione metodologia agile av
Upcoming SlideShare
Loading in...5
×
 

Presentazione metodologia agile av

on

  • 328 views

 

Statistics

Views

Total Views
328
Views on SlideShare
328
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Presentazione metodologia agile av Presentazione metodologia agile av Presentation Transcript

  • 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 Analisi Funzionale Studio Iniziale Analisi Tecnica Analisi Sistema Realizzazione System Test Gestione Progetto (Management) 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
  • Dalle metodologie classiche alle metodologie moderne Copyright Rational Software 2001 © copyright ADD VALUE 2011 - Confidential 6
  • Dalle metodologie classiche alle metodologie moderne • 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 © copyright ADD VALUE 2011 - Confidential 7
  • 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 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 © copyright ADD VALUE 2011 - Confidential 10
  • Valori e principi guida: il manifesto Agile Manifesto per lo Sviluppo Agile di Software Stiamo 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. © copyright ADD VALUE 2011 - Confidential 11
  • 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.” Unit Tesing + Continuos Integration Jenkins-CI
  • 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.” Semplicità + Architetture Evolutive
  • 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.” Ritmo e costanza
  • Valori e principi guida: i principi Agile “Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto.” Stesso ufficio openspace oppure Video conferenze
  • Valori e principi guida: i principi Agile “Fondiamo i progetti su individui motivati. Diamo loro l'ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacità di portare il lavoro a termine.” No incentivi singoli Incentivi sul team Trasparenza Comunicazione Autonomia Fiducia
  • 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.” Non dire le cose per email quando si possono dire di persona
  • 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
  • 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.” Ritmo sostenibile
  • Valori e principi guida: i principi Agile “La continua attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità.” Eccellenza e progettazione portano alla semplicita’
  • 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
  • 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.” Essere leali e obiettivi Saper riconoscere e correggere gli errori
  • Valori e principi guida: Agile in sintesi Agile serve per: 1. Apportare facilmente cambiamenti 2. Creare velocemente valore 3. Aumentare la trasparenza © copyright ADD VALUE 2011 - Confidential 24
  • 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
  • Metodologia Agile AV: il perimetro AGILE AV Analisi Analisi Funzionale Funzionale Studio Iniziale Analisi Tecnica Analisi Sistema Realizzazione System Test Gestione Progetto (Management) 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
  • Metodologia Agile AV: interazioni ... Visibilità e comunicazione Progetto Altro team Agile AV Team ... Team cliente 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
  • 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 Biondaro giandomenico.biondaro@addvalue.it Via Morgagni, 22 Tel. +39 045 8282711 Fax +39 045 8282712 37135 Verona www.addvalue.it