• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2013 why agile
 

2013 why agile

on

  • 247 views

 

Statistics

Views

Total Views
247
Views on SlideShare
247
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

    2013 why agile 2013 why agile Presentation Transcript

    • Why Agile? Adopt a new Cultural styleIng. Felice Pescatorewww.felicepescatore.it 5 Febbraio 2013
    • AGENDASoftware DevelopmentCommon Development ProblemWhy AgileAdaptive vs. PredictiveBenefitDisadvantageWhy Agile? 2
    • SOFTWARE DEVELOPMENT: FOUR PHASESWhat we do…Requirements AnalysisArchitecture and DesignDevelopmentTest and FeedbackWhy Agile? 3
    • METHODS OF SOFTWARE DEVELOPMENTAdaptive vs. Predictive Predittivo Adattativo • Vecchie metodologie basate su metodi • Adattamento rapido ai cambiamenti; predittivi; • Quando le esigenze cambiano, anche il Team si • Funzionalità e task sono pianificati all‟inizio modifica con esse; del progetto e restano validi per l‟intero ciclo di • Gestire l‟immediato ed avere una Visione della sviluppo;: strada da percorrere; • Focus sulla pianificazione di dettaglio; • Difficoltà nel gestire i cambiamenti;Why Agile? 4
    • COMMON ISSUENot Only, of course!Time to market for projects is too longUnrealistic deadlinesPoor EstimationRequirement ChangesImmature architecture and designNo Documentation or too muchInadequate TestingWhy Agile? 5
    • PROJECTS TODAYNot Only, of course!Troppo lenti • “Le mie necessità sono cambiate, ma l‟IT non riesce a supportarmi” • “Nulla sarà pronto prima di un anno”Scarsa attenzione al vero Valore • “Lo scope del progetto è errato ma ne abbiamo già codificato la metà” • “Ho ricevuto montagne di documentazione che nessuno usa ma il sistema non rispecchia le mie necessità” • “Abbiamo sprecato tempo (e denaro) a progettare e realizzare funzionalità che nessuno usa”Poco reattivo • “Il progetto costringe ad effettuare delle scelte vincolanti prima che gli stakeholder sappiano cosa realmente interessa”; • “Ogni piccola review costringe ad una revisione della commessa”Fuori controllo • “Non so cosa sta succedendo nello sviluppo del progetto” • “Siamo in stallo perché quello che viene sviluppato sembra non produrre Valore”Why Agile? 6
    • PROJECTS SUCCES Traditional vs. Agile The agile process is the universal remedy for software development project failure. Software applications developed through the agile process have three times the success rate of the traditional waterfall method and a much lower percentage of time and cost overruns.” (page 25) 2011 CHAOS reportWhy Agile? 7
    • WHY AGILE?… part 1…• Realizzare e rendere disponibili le funzionalità che rispecchiano i requisiti attesi e non quelli espresso;• Ridurre gli sprechi (es: documentazione inutile);• Catturare e realizzare quanto realmente ha Valore per il Cliente;• Abbattere le barriera tra stakeholder e team di sviluppo;• Fornire una trasparenze nella gestione delle fasi di progetto.Why Agile? 8
    • WHY AGILE?… part 2 Customer satisfaction by rapid delivery of useful Face-to-face conversation is best form of software. communication. Welcome changing requirements, even late in Projects are built around motivated individuals. development. Continuous attention to technical excellence and good Working software is delivered frequently. design. Working software is the principal measure of progress. Simplicity Sustainable development, able to maintain a constant Self organizing teams. pace. Regular adaptation to changing circumstances. Close, daily co-operation between business people and developersWhy Agile? 9
    • WATERFALL vs. AGILE ROI first approach Why Agile? 10
    • WATERFALL vs. AGILE Comparing Typical water fall model development (With some overlap) Agile model with Iterations Requirements Small iterations help in getting early feedback Design Requirement Requirement Requirement s s s Design Design Design Development Development Development Developmen Testing team Test Test t Test Test peak Development Design team teamRequirements peak peak peak No big team peaks/Spikes Team in attesa Analisti e Tester Tutto il Team è pronto o non non sono sul ed allocato sul ancora progetto progetto costituito  La Collaborazione stretta reduce l’incertezza su cora  Poche possibilità di inserire nuove realizzare funzionalità e rivedere quelle pianificate  Migliore comprensione dei requisiti tramite le User Story  Rischio di rifare parte del lavoro per la  Migliore qualità del prodotto grazie a test e rilasci continui scarsa aderenza ai reali requisiti  Ogni iterazione produce valore  La soluzione è visibile/consumabile solo  Possibilità, teorica, di rilasciare il sistema in produzione ad alla fine del ciclo di sviluppo ogni iterazione  Nessun beneficio fino alla fine  Capacità di rispondere alle richieste di cambiamento Why Agile? 11
    • ITERATIVE INCREMENTAL DEVELOPMENTStep-by-step “Iterative development is an approach to building software (or anything) in whichthe overall lifecycle is composed of several iterations in sequence. Each iteration is a self-contained mini-project composed of activities such asrequirements analysis, design, programming, and test. Usually the partial system grows incrementally with new features, iteration byiteration; in other words, incremental development.” Craig LarmanWhy Agile? 12
    • ITERATIVE DEVELOPMENTLess first Iterative Development All-At-Once DevelopmentWhy Agile? 13
    • ITERATIVE DEVELOPMENTStep-by-Step Incremental All-At-Once Delivery DeliveryWhy Agile? 14
    • WHAT IS AN AGILE METHODOLOGY?Values and PracticesAgile (CORE) è un insieme di Valori e Principi, per lo sviluppo di soluzioni IT, che enfatizzano lasoddisfazione degli stakeholder attraverso il coinvolgimento diretto e il rilascio continuo di soluzioniconsumabili.Intorno ai Valori e ai Principi del Manifesto Agile sono nate una serie di metodologie (CORE) didelivery che enfatizzano il lavoro in piccolo team, con budget e tempi limitati.Le metodologie Agili (CORE) sono considerate: • Lightweight • People-based piuttosto che Process-based • Adattative invece che predittive • Orientate alla produzione di ValoreWhy Agile? 15
    • WHEN AGILE COMING UP?History Agile nasce concettualmente intorno alla metà degli anni „90 come soluzione allo sviluppo dinamico/leggero (lightweight software development) in contrapposizione allo sviluppo burocratizzato/pesante (heavy weight development). Con Agile (CORE) andiamo ad identificare un insieme di Valori e Principi, per lo sviluppo di soluzioni IT, che enfatizzano la soddisfazione degli stakeholder attraverso il coinvolgimento diretto e il rilascio continuo di soluzioni consumabili.Why Agile? 16
    • AGILE MANIFESTOValues Nel 2001 l‟Agile Alliance, organizzazione no profit fondata da sviluppatori, crea il Manifesto Agile, incentrato su 4 valori portati: Individuals and interactions over Process and tools Comprehensive Working software over documentation Customer collaboration over Contract negotiation Responding to change over Following a plan Source: www.agilemanifesto.orgWhy Agile? 17
    • AGILE DEVELOPMENTAll in a pictureWhy Agile? 18
    • AGILE…. DISTILLED The basis Creare una Vision Abbracciare il Cambiamento Priorizzare le Attività Creare mini/micro WorkItem Ottenere Feedback Decidere i prossimi step Collaborazione Lavoro di Team Brevi Iterazioni Minimizzare i Rischi Minimal Plannig Small Team (5-9) Close Work Why Agile? 19
    • WHAT IS AN AGILE METHODOLOGY?Agile CORE FamilyIntorno ai Valori e ai Principi del Manifesto Agile sono nate una serie di metodologie(CORE) di delivery che enfatizzano il lavoro in piccolo team, con budget e tempi limitati.Le metodologie Agili (CORE) sono considerate: • Lightweight • People-based piuttosto che Process-based • Adattative invece che predittive • Orientate alla produzione di Valore scrum(1995), crystal clear, Extreme programming (1996), Adaptive software development, Feature Driven Development, and Dynamic Systems (1995).Why Agile? 20
    • WHAT IS AN AGILE METHODOLOGY?Agile CORE Family TreeWhy Agile? 21
    • AGILE METHODOLOGYComparisonWhy Agile? 22
    • AGILE…. MYTHSThey are alive!• no design• no testing• no documentation• no idea of progress• poor quality• no plan• auditors won‟t allow itWhy Agile? 23
    • KEY BENEFITNot Only…• Incremento della Flessibilità: viene minimizzato l‟investimento iniziale e massimizzato quello sul ROI (Return On Investment), grazie alla creazione di un efficiente processo di sviluppo;• Realizzazione della Soluzione Attesa: coinvolge stakeholder, sviluppatori, manager, ecc, affinché la soluzione prodotta sia quella che rispecchia le necessità di business (Valore);• Accelera il Delivery: Idealmente ad ogni iterazione viene prodotta una soluzione consumabile;• Riduce i Rischi ed aumenta la Qualità: vengono affrontati e risolte prima le incertezze ed i problemi.Why Agile? 24
    • KEY BENEFITEvolutionary design• Dal CHAOS report dello Standish Group emerge 20% un‟allarmante verità: (EFFETTIVAMENTE USATE) • Circa i 2/3 delle features realizzate basandosi su un up-front analysis risultano inutilizzate!! 16%• La soluzione: abbracciare il cambiamento (USATE QUALCHE VOLTA) • Agile è un approccio non lineare che contempla il cambiamento e permette di adattarsi ad esso; 19% • Le funzionalità che si scoprono non necessarie (USATE RARAMENTE) vengono abbandonate prima, idealmente ancor prima che ne inizi lo sviluppo; • La soluzione evolve abbracciando in modo ottimale 45% le mutate esigenze di business. (MAI USATE)Why Agile? 25
    • KEY BENEFITAccelerates DeliveryLo sviluppo incrementale organizzato in • Le varie soluzioni consumabili non sono prototipi, ma versioni incrementali sistemaiterazioni permette al Team di ragionare in reale;funzione di soluzioni consumabili, • Il Team si focalizza sui task a maggior rischiovelocizzandone il delivery. (high-risk) e maggior Valore (high-value aspects); • Gli stakeholder possono decider se accettare o meno le nuove funzionalità: • Avere il prima possibile le nuove funzionalità consente agli stakeholder di attuare i relativi piani di accettazione il prima possibileWhy Agile? 26
    • KEY BENEFITReduces risk and increases qualityLe Iterazioni accompagnano il progetto nella propriaevoluzione, abbracciando i rischi ed attuando leopportune soluzioni risolutive.• Nuove User Story possono essere aggiunte al progetto, ma non all‟Iterazione• Le User Story non incluse nell‟iterazione corrente possono essere ri-priorizzate;• Alcune User Story, non incluse nell‟iterazione, possono sparire per far posto a nuove User Story a priorità più alta, mantenendo il vincolo temporale/economico previsto.Why Agile? 27
    • DISADVANTAGEYes: not only benefit!• L’adozione dell’Agile non è banale:• Rende visibile tutti i problemi • Agile non corregge nulla: è il Team che lo fa• Il Team deve lavorare bene, altrimenti i progetti saranno condannati ad una rapida cancellazione;• Una sua adozione parziale potrebbe essere peggio che una sua non adozione.Why Agile? 28
    • ABOUT MEget in touch www.felicepescatore.it Felice Pescatore, Agile Software Architect Email: felice.pescatore@gmail.com @Why Agile? Cell. 392/7157684 Disciplined Agile Delivery Italy GroupWhy Agile? 29
    • THANKS FOR WATCHINGWhy Agile? 30