Disciplined Agile Delivery - Introduzione

877 views

Published on

Articolata introduzione al Disciplined Agile Delivery framework.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
877
On SlideShare
0
From Embeds
0
Number of Embeds
274
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Disciplined Agile Delivery - Introduzione

  1. 1. Disciplined Agile Delivery frameworkIntroduzioneIng. Felice Pescatorewww.felicepescatore.it 1 Febbraio 2013
  2. 2. AGENDADefining Disciplined Agile Delivery (DAD) A risk and value driven lifecyclePeople first Goal driven lifecycleLearning oriented Enterprise awareHybrid agile framework Optimize the whole Agile governance Scalable: Agility@scaleDAD - Introduzione 2
  3. 3. DEFINING DISCIPLINED AGILE DELIVERY Friendly: DAD DAD process framework è un APPROCCIO Agile al delivery di una soluzione IT che predilige: • People-first • Learning-oriented • Risk and value driven • Goal-driven • Hybrid • Enterprise aware • Scalable DAD - Introduzione 3
  4. 4. PEOPLE FIRSTPrinciples and Values Self Disciplined: impegnati solo sul lavoro che si è in Cross functional grado di fare bene teams Self Organizing: stima e pianificazione del Specialisti proprio lavoro trasversali Self Aware: Nessuna capire come migliorarsi gerarchia nel Team DAD TEAM Member DAD encouragesDAD - Introduzione 4
  5. 5. PEOPLE FIRSTPotential roles on disciplined agile teams Primary roles: • Stakeholder • Team Lead • Product Owner • Agile Team Member • Architecture Owner Secondary/optional roles: • Domain Expert • Technical Expert • Independent Tester • Integrator • SpecialistDAD - Introduzione 5
  6. 6. PEOPLE FIRSTPotential transition strategies for existing business analystsDAD - Introduzione 6
  7. 7. LEARNING ORIENTEDKnow-how is allDomain learning Technical learning• Primo approccio ai requisiti • Spike Architetturali• Rilascio incrementali di soluzioni potenzialmente • Confutare le scelte Architetturali tramite soluzioni utilizzabili funzionanti (working code)• Partecipazione attiva degli stakeholder durante tutto il ciclo di vita del sistema General strategies • TrainingProcess improvement • Education• Retrospettiva alla fine delle Iterazioni • Mentoring/coaching• Monitoraggio dei miglioramenti • I Membri del Team sono “general specialist” e non solo• Condivisione degli skill tramite la pratica del “non-solo “specialist” development”DAD - Introduzione 7
  8. 8. RISK-VALUE DRIVENManage the Risk as soon as possibleRisk Driven Value Driven• Validare l’Architettura il prima possibile; • Lavorare prima sugli elementi a maggior Valore per gli• Ottenere il consenso degli Stakeholder con dimostrazioni stakeholder; pratiche; • Continua verifica del Valore prodotto;• Essere compliance con la direzione aziendale (enterprise • Determinare quando è stato state implementate aware); funzionalità sufficienti a soddisfare il Valore richiesto;• Lavorare prima su ciò che porta un reale incremento di • Produrre sempre soluzioni potenzialmente utilizzabili know-how al Team durante il ciclo di vita; • Valutare continuamente nuovi elementi di lavoro aggregate alla crescente comprensione di ciò che realmente si vuole ottenereDAD - Introduzione 8
  9. 9. DISCIPLINED AGILE DELIVERY life cycle BASIC DAD - Introduzione 9
  10. 10. DISCIPLINED AGILE DELIVERY life cycle ADVANCED DAD - Introduzione 10
  11. 11. DAD PHASES: INCEPTION First Coordinate Collaborate ConcludeProject / Product Approved to start • Individuare i possibili Team • Rifinire la Vision; • Review di quanto definite (mailstone); Stakeholder consensus Member; • Effettuare una prima valutazione dei • Pianificare una sessione di “vision” requisiti; • Comunicare la Vision agli del progetto; stakeholder; • Effettuare una prima ipotesi • Precettare gli stakeholder per la Architetturale; • Impegnarsi sulle Iterazioni ed i sessione di “vision” . rilasci continui. • Valutare la fattibilità del progetto; • Creare un primo Release Plan; • Strutturare il (i) Team; • Settare l’ambiente; • Garantirsi la sostenibilità economica • Identificare i rischi. Fino ad alcune ore Idealmente: 1-2 settimane Qualche ora (se tutti gli stakeholder Media: 4 settimane sono disponibili) Caso Peggiore: Più mesi DAD - Introduzione 11
  12. 12. DAD PHASES: CONSTRUCTION PHASE Second Coordinate Collaborate Conclude Dimostrare che le assunzioni • Produrre incrementalmente • Determinare quando quello che si è Architetturali sono corretti tramite soluzioni utilizzabili; sviluppato è sufficiente per il pezzi funzionati della stessa raggiungimento degli obietti; • Condividere lo stato del progetto con Stakeholder consensus Sufficient Functionality gli stakeholder; • Stabilizzare la soluzione. • Essere in linea con gli obiettivi organizzativi; • Allinearsi con gli altri Team; • Migliorare se stessi ed il Team nell’insieme. Tipicamente: 1 iterazione Tipicamente: diverse Idealmente: alcune ore Caso peggiore: Molte iterazioni iterazioni DAD - Introduzione 12
  13. 13. DAD PHASES: CONSTRUCTION PHASE Typical Construction Iteration Coordinate Collaborate Conclude • Iteration Pratiche standard: Pratiche avanzate: • Iteration demo; planning • Focalizzare le attività; • Test-driven development Potentially consumable solution • Retrospettiva; • Iteration • Meeting di Coordinamento (TDD); modeling giornaliero; • Valutare le • Acceptance TDD; funzionalità • Test di regressione; • Continuous deployment sufficienti al • Evoluzione dell’Architettura ed (CD); raggiungimento Iteration start eventuali Spike relativi (task di una o dell’obiettivo; • Parallel independent più story); testing; • Aggiornamento del • Continuous Integration; Release plan. • Non-solo development; • Refactoring; • Look-ahead modeling; • Ritmo sostenibile; • Look-ahead planning; • Priorizzare i work item; • Continuous • Attività di configurazione; documentation. • “Track “done” delle attività (es. Burndown) • JIT model storming Tipicamente: due settimane nel caso di progetti standard, 2 ore per ogni Quattro settimane nel caso di progetti complessi con 2 ore per ogni settimana integrazione tra Team cross-agile settimana dell’iterazione dell’iterazione Caso peggiore: Sei Settimane 12 DAD - Introduzione 13
  14. 14. DAD PHASES: CONSTRUCTION PHASE Typical Construction Day Coordinate Collaborate Conclude • Meeting di coordinamento • Affrontare i problemi bloccanti; • Stabilizzare quanto realizzato. giornaliero; • Creare i test; • Aggiornamento della Taskboard • Sviluppare codice; • Aggiornamento dell’Iteration • Integrare quanto sviluppato; Burndown. • Risolvere i problemi ed i bug; • Modellazione; Working BuildStart of Day • Validazione del Codice. Fino a 15 minuti Tipicamente: 5 o 6 ore Idealmente: Non necessario DAD - Introduzione 14
  15. 15. DAD PHASES: TRANSITION PHASE Third Coordinate Collaborate Conclude Pianificazione • Piano di transizione; • Review dello stato di ready in produzione; • Testing e fixing di fine sviluppo; • Deploy della soluzione. • Pilot della soluzione; Sufficient functionality • Finalizzare la documentazione; Production ready • Comunicare il deployment; • Training degli stakeholder. Idealmente: nessun effort Idealmente: nessun effort Idealmente: meno di temporale temporale un ora Tipicamente: 1 ora a settimana per l’intera fase Media: 4 settimane Caso Peggiore: Più Caso Peggiore: Più mesi mesi DAD - Introduzione 15
  16. 16. GOAL DRIVEN Not all iterations are created equal! Inception Goals Construction Goals Transition Goals • Costituire il Team • Produrre sempre una soluzione • Garantire che la soluzione è pronta • Identificare la Vision del progetto potenzialmente utilizzabile per la produzione • Portare gli stakeholder a • Catturare le richieste di • Essere sicuri che gli stakeholder concordare sulla Vision cambiamento proveniente dagli sono pronti per usare la soluzione stakeholder • Essere allineati al contest aziendale • Effettuare il deploy della soluzione • Avvicinarsi velocemente ad una in produzione • Identificare la strategia tecnica release per il deploy iniziale, i requisiti iniziali e definire il piano di release iniziale • Mantenere e migliorare i livelli qualitative esistenti • Configurare l’ambiente (fisico e digitale) di lavoro • Verificare il prima possibile l’architettura • Assicurarsi la sostenibilità economica del progetto • Identificare i rischi Ongoing Goals • Compiere la missione del progetto • Migliorare i process e l’ambiente • Incrementare le competenze (skill) dei Team Member • Sfruttare le infrastrutture esistenti • Migliorare le infrastrutture esistenti • Governare il rischio DAD - Introduzione 16
  17. 17. GOAL DRIVENAn ExampleIstruzioni: Questioni (problemi) da considerare:• Considerare l’attuale esperienza su progetti Agile, qualora • Con chi lavorerete? ve ne fossero; • Che tipo di modelli/artefatti andrete a creare?• Condividere la propria esperienza esplorando i requisiti • Che tipo di dettaglio bisognerà raggiungere? iniziali/scope all’inizio di un nuovo progetto Agile. • Quanto tempo sarà necessario? • Come pensate di realizzare il tutto? • Quali sono i vantaggi e gli svantaggi di quello che vi apprestate a fare?DAD - Introduzione 17
  18. 18. DAD ADOPTS BEST PRACTICES FROM SEVERALAGILE METHODS Hybrid Unified Process (UP) Extreme Programming (XP) Disciplined Agile Harmony Delivery (DAD) Scrum Agile Process Modeling Lean DAD è un process framework ibrido che adotta il meglio delle pratiche e delle filosofie delle varie metodologie “CORE” Agile DAD - Introduzione 18
  19. 19. THE AGILE 3C RHYTHMConceptLa terna (rhythm) Coordinate-Collaborate-Conclude ritorna a vari livelli in un progetto governatotramite DAD: Inception Construction Transition Release rhythm Coordinate Collaborate Conclude Iteration Development Stabilize Iteration Planning rhythm Coordinate Collaborate Conclude Coordinatio Daily Work Stabilize n Meeting Daily rhythm Coordinate Collaborate ConcludeDAD - Introduzione 19
  20. 20. ENTERPRISE AWAREOptimizing the wholeSeguire le convenzioni aziendali: Condivisione della conoscenza• Standard e best practice Architetturali; • Contribuire alla crescita personale e del Team;• Best practice di Codifica; • Contribuire alla crescita dell’azienda nel complesso;• Best practice di gestione dei Dati; • Arricchire e rafforzare il know-how relativo all’Agile.• Linee guida nella definizione della User Interface (UI);• …… Interazione con altri Team (Agile e non): • Enterprise Architecture Team;Migliorare l’ecosistema aziendale: • Data Management Team;• Riutilizzare e sfruttare al massimo le infrastrutture • Governance Aziendale; aziendali; • Quality Assurance;• Migliorare e sviluppare le infrastrutture aziendali; • Project management Office (PMO).• Lavorare a stretto contatto con l’Enterprise Architecture (EA) Team.DAD - Introduzione 20
  21. 21. ENTERPRISE AWAREGoverning agile teamsUn Team Agile, per propria natura, fornisce: Pratiche:• Un aggiornamento continuo dello stato di avanzamento del • Partecipazione attiva degli stakeholder; progetto (fotografia) agli stakeholder; • Soluzioni potenzialmente utilizzabili ad ogni iterazione;• Importanti momenti di condivisione per consentire agli • Risk-value lifecycle; stakeholder di indirizzare lo scope del progetto; • Review esplicite di milestone light-weight• Richiede un impegno superiore per gli stakeholder che • Meeting giornaliero di coordinamento; devono essere fattivamente presenti. • Demo al completamento di ogni iterazione; • Demo «all-hands», ovvero con il supporto di tutto il Team e tenuta a rotazione; • Seguire le convenzioni aziendali; • Lavorare a stretto contatto con gli Architect aziendali; • Metriche automatizzate per la valutazione dei risultati in ottica auto-migliorativa.DAD - Introduzione 21
  22. 22. DAD, The Road Ahead for agility@scale Team size Compliance requirement Under 10 1000’s of Critical, Low risk developers developers audited Geographical distribution Domain Complexity Straight Intricate, Co-located Global -forward emerging Disciplined Enterprise discipline Agile Organization distribution Project Enterprise Delivery (outsourcing, partnerships) focus focus Collaborative Contractual Organizational complexity Technical complexity Flexible Rigid Heterogeneous, Homogenous legacy DAD - Introduzione 22
  23. 23. Riferimenti Book and Web Resources www.DisciplinedAgileDelivery.com Authors Scott Ambler: http://twitter.com/scottwambler Mark Lines: http://twitter.com/Mark_Lines DAD - Introduzione 23
  24. 24. ABOUT MEget in touch www.felicepescatore.it Felice Pescatore, Agile Software Architect Email: felice.pescatore@gmail.com @DAD - Introduzione Cell. 392/7157684 Disciplined Agile Delivery Italy GroupDAD - Introduzione 24
  25. 25. THANKS FOR WATCHING based on a Scott Amblers works and IBM © Materials scott_ambler@ca.ibm.comDAD - Introduzione 25

×