Agile Project Management Ing. Roberto Chiavaccini Ordine degli Ingegneri di Livorno Seminario 18/12/2014 Cos'è ? • Un aiutino: è stato ideato nel 1902 dall'ingegnere tedesco Max Rietz Il Regolo calcolatore • Il Regolo calcolatore era il simbolo degli ingegneri! • All'Università ve l'hanno insegnato? • Lo utilizzate? Cos'è ? Un aiutino ... • ... è stato ideato nel 1917 dall'ingegnere americano H. Gantt, collaboratore del più famoso ingegnere F. W. Taylor Il Gantt • È il simbolo del metodo progettuale classico definito, dal PMI (Project Management Institute), Predittivo ! Il Gantt • A Ingegneria vi hanno insegnato il Gantt ed il Metodo Predittivo ? • Li utilizzate ? Il Metodo predittivo • Di seguito alcune considerazioni sul Metodo Predittivo basandole sul PMBOK5 del PMI, principale referente mondiale di Project Management PMBOK5 • “Nei cicli di vita predittivi si determinano (si prevedono) il prima possibile Ambito (il perimetro del progetto ovvero le cose da fare, chi le farà, ..),Tempi e Costi per realizzare il progetto” (Concept Paper) Metodo Predittivo • “Questi tipi di progetto passano attraverso una serie di fasi sequenziali o sovrapposte ….“ Sa lm W at er fa ll on i? Problemi • Nella progettazione “a cascata” sono necessari continui feedback informativi (effetto salmone) che, purtroppo, dilatano tempi e costi Metodo Predittivo • “Il lavoro svolto in una fase è generalmente di natura diversa da quello della fase precedente o successiva quindi la composizione e le capacità (le specializzazioni) richieste al Team di progetto (di Sviluppo) possono variare di fase in fase” Le Specializzazioni creano Problemi Silos Tayloristici Silos Metodo Predittivo • “Il Metodo predittivo dovrebbe essere preferito quando il prodotto da fornire è noto, quando esiste una base sostanziale di prassi del settore (delle Best Practices) o laddove un prodotto debba essere integralmente realizzato prima di avere Valore per i clienti e/o per altri Stakeholders” Dubbi • Vi possono essere alcuni dubbi sulla prima e sulla seconda affermazione (presuppongono delle certezze che, vedremo, sono oggi molto difficili) ma è soprattutto sull'ultima che vi invito a riflettere Dubbi • La realizzazione integrale “al buio” (prima cioè di avere Valore per i clienti – ovvero per chi pagherà) presuppone infatti: – O un grande azzardo proviamo comunque a sviluppare il prodotto ed .... io speriamo che me la cavo ! Dubbi – O stabilire preliminarmente, magari con un'analisi di Marketing, ciò che vogliono i clienti “imponendo loro”, con un Contratto, di non cambiare mai più idea Metodo Predittivo • Purtroppo, data l'attuale dinamica ambientale, i Bisogni dei Clienti evolvono molto rapidamente e non si può impedir loro di cambiare idea trincerandosi dietro un “Contratto”! Gestione adattiva • È evidente infatti che, contratto o non contratto, se per il cliente la colpa della sua insoddisfazione è del fornitore in seguito non comprerà più e magari …. renderà “difficili” gli attuali pagamenti ! Metodo Predittivo • Purtroppo oggi Incertezza e Complessità regnano sovrane Metodo Predittivo • Il nostro (degli ingegneri “più anziani”) bel Mondo Razional Meccanicistico (tutto è e deve essere noto a priori, il prima possibile) è scomparso Metodo Predittivo • Ed il metodo predittivo … non è più sufficiente! Metodo Predittivo • Le statistiche internazionali ce lo confermano: nei progetti complessi ed incerti gestiti in modo predittivo, le previsioni di Tempo sono rispettate solo nel 10% dei casi Metodo Predittivo • Ma il peggio è che anche l'Ambito ed i Costi sono rispettati solo nel 10% dei casi Metodo Predittivo • Il che vuole dire che le “previsioni” sono rispettate …. nel 1/1000 dei casi: è un po' poco per essere solo sfortuna! Metodo Predittivo • Molti poi sono scoraggiati dal tempo e dai costi di implementazione del Metodo Metodo Predittivo • In tal caso si rinuncia e si ricorre al classico Just do It (empirismo manageriale) Just Do It • Purtroppo con l'empirismo manageriale … le cose vanno anche peggio ! Just Do It • In Italia poi, per carenze di insegnamento di Project Management da parte delle Università, l'empirismo la fa decisamente da padrone Taylor & Gantt • In fin dei conti però, Taylor e Gantt una qualche ragione l'avevano: è il metodo scientifico sperimentale e non l'empirismo che dovrebbe essere alla base del Management e, quindi, anche del Project Management ! Taylor & Gantt • Perché allora, se il Principio è valido, le soluzioni del Taylor e del Gantt oggigiorno danno risultati non troppo brillanti ? Taylor & Gantt • È ovvio, i due ingegneri avevano formulate le loro proposte 100 anni fa in un mondo ben diverso dall'attuale e ormai sono, ... come il Regolo, un po' obsolete! Ohno & Shingo • Fortunatamente altri ingegneri (bene o male il Management operativo ha una grossa base “ingegneristica”), in particolare i giapponesi Taichi Ohno e Shigeo Shingo (ve ne hanno mai parlato?), hanno aggiornato le soluzioni del Taylor e del Gantt Ohno & Shingo • Gli ingegneri giapponesi hanno sviluppato tali nuove soluzioni manageriali “ancora scientifiche ma post Taylor”, universalmente conosciute come Lean Thinking, applicandole alla Toyota … con ottimi risultati sperimentali! “Agile” Project Management • Oggi il Lean Thinking, sulla scia di Toyota, è applicato anche allo Sviluppo e prende vari nomi: • Agile Project Managerment è uno di questi Agile • Generalmente con Agile ci si riferisce allo sviluppo di prodotti SW con specifici metodi Lean emersi a partire dai primi anni 2000 Agile • Tali metodi sono basati sui princìpi del "Manifesto Agile" pubblicato nel 2001 ad opera di 17 professionisti dello sviluppo SW Lean • Oltre ad Agile altri nomi che potreste sentire sono: – Lean Product Development per l'industria manifatturiera – Lean Costruction/Last Planner per l'edilizia – Lean Government (per la pubblica amministrazione) – Lean Healthcare (per la sanità) – --- Agile • Io preferisco parlare genericamente di Lean Project Management riferendolo così a tutte le tipologie di progetti lasciando il termine Agile per lo sviluppo SW Agile • Purtroppo per me il PMI definisce Agile il Metodo Adattivo che vedremo subito dopo e se lo dice il PMI ubi maior …. Agile • Di recente il PMI ha addirittura introdotto una specifica certificazione (PMI-ACP)SM - PMI Agile Certified Practitioner Lean Project Management Perchè Lean? Se ci pensate bene nella maggior parte dei casi il problema centrale nello Sviluppo di quasi tutti i prodotti è, soprattutto oggi, la mancanza di Conoscenza che hanno sia i Clienti che i Progettisti Lean Project Management Oggi il mondo cambia molto rapidamente e, quindi, per competere, si deve puntare sempre di più sull'Innovazione cioè su cose che, per definizione, … né i clienti né gli sviluppatori conoscono Un assioma famoso “Se fossi stato a sentire i miei clienti … avrei prodotto una carrozza più veloce!” H. Ford Lean Project Management Ed è proprio la mancanza di Conoscenza che rende velleitario il metodo predittivo Lean Project Management Se infatti manca la conoscenza è impossibile pretendere di restare nella comfort zone, quella zona dove siamo, dove sappiamo cosa fare e dove possiamo prevedere esattamente e a priori cosa fare, magari pianificandolo con un Gantt Lean Project Management In un mondo che cambia rapidamente si deve uscire volontariamente dal comfort per entrare nella zona dell'apprendimento Lean Project Management Se infatti il rimettere sempre tutto in discussione (il sano dubbio galileiano … eppur si muove!) e l'apprendimento continuo non entrano nel nostro DNA rischiamo il fallimento da panico in presenza delle inevitabili situazioni nuove Lean Project Management Panico perché, se ci adagiamo nella comfort zone e non impariamo a reagire ai cambiamenti ambientali, non solo non sapremo come risolvere i problemi dell'Innovazione ma non sapremo neppure come affrontarli Conoscenza & Sviluppo • Fortunati allora quei tecnici che possono gestire processi ongoing relativamente Well Structured Conoscenza & Sviluppo • Tali processi possono infatti essere “mappati” e, quindi, ottimizzati (per il Lean in ottica del Valore per il cliente ed ilVSM – Value Stream Mapping è una delle tecniche di base del Lean Manufacturing) Well Structured • Un processo è mappabile quando le sue attività, la loro sequenza ed i processi di controllo associati sono stabili e possono a priori essere descritti (abbastanza) accuratamente Conoscenza & Sviluppo • È quello che si fa anche nello Sviluppo con il metodo Predittivo utilizzando i reticoli di pianificazione (ad esempio il CPM-Critical Path Method), il Gantt e l'Earned Value Conoscenza & Sviluppo • La Progettazione purtroppo è oggi (non ai tempi del Gantt) un Processo di ricerca e apprendimento a prova ed errore nello spazio della Conoscenza Conoscenza & Sviluppo • Oltretutto, per complicare la vita, i progetti devono avere ben definite date di inizio e di termine: non c'è quindi molto tempo per recuperare gli errori Conoscenza & Sviluppo • La progettazione è, bene che vada, un processo Semi-Structured (ancora mappabile ma con molti If/Then) Semi-Structured Solo una parte di un processo semi-strutturato può essere definita in anticipo mentre un'altra parte non può essere completamente specificata sia per tipo e sequenza delle attività che per le modalità di controllo Conoscenza & Sviluppo • Più spesso è però un Processo Knowledge-Based, assolutamente non mappabile e, quindi, non ottimizzabile e predicibile Knowledge-based I processi knowledge based sono difficili da definire in anticipo e non possono avere transazioni fisse e strutture rigide in quanto le loro attività nascono da continue interazioni fra “attori” diversi e sinergici (a partire dai clienti) Knowledge-based • A priori, nei Processi Knowledge- based, si possono solo definire i Partecipanti e l'Elenco delle Cose ancora da Fare (in gergo Agile il Backlog) con l'ovvia necessità che tempi e costi dell'Apprendimento siano i più bassi possibile Oltre la gestione classica Per muoversi meglio nello Spazio della Conoscenza, il Lean spinge a utilizzare una gestione incrementale ed iterativa o, meglio, adattiva (PMBOK5 § 2.4.2.3/.4) PMBOK5 • “I cicli di vita incrementali ed iterativi sono quelli in cui le fasi ripetono intenzionalmente (si ripete per capire meglio e per migliorare) una o più attività del progetto mentre aumenta la comprensione del prodotto da parte del team di progettazione” Oltre la Cascata • Una gestione Lean “incrementale ed iterativa” richiede di svolgere lo Sviluppo con modalità: – Knowledge Based – Front Loaded (metodo 3P della Toyota) – Pull Knowledge Based • Sviluppo Knowledge Based vuol dire che, per muoversi nello spazio ignoto della Conoscenza, sono necessari, come detto, adeguati e continui (veloci) cicli di Apprendimento convalidati da sperimentazione Knowledge Based • Tali cicli, basati sul “metodo scientifico-sperimentale”, sono i classici PDCA (Plan, Do, Check, Act) • Almeno il ciclo PDCA di apprendimento ve l'hanno insegnato (dico ai più giovani) all'Università? Knowledge Based • Una banale conseguenza: se per migliorare i risultati e per ridurre i rischi si deve Apprendere, è necessario poter cambiare le cose e non “scriverle a priori sulla pietra” Knowledge Based • È allora sbagliato scegliere da subito, in fase Plan, la prima soluzione che si ritiene (o che il capo per fretta e pregiudizio ritiene) la migliore per soddisfare le specifiche iniziali (Point Based Engineering) Knowledge Based • È molto più ragionevole ipotizzare molte soluzioni, in comune però, in quanto più occhi …. vedono meglio di pochi, fra tutti “gli attori del ciclo di vita” Knowledge Based • Questo lo si fa utilizzando il Brainstrorming che rende il Plan una fase creativa a “imbuto divergente” Knowledge Based • Una volta trovate molte soluzioni si devono, dopo adeguate prove sperimentali (Do e Check), selezionare (Act) quelle migliori! Knowledge Based • Tali prove, generalmente grezze e veloci (dirty & quickly), serviranno a scartare (metodo incrementale a imbuto convergente) le soluzioni peggiori Knowledge Based • Si manderanno avanti le soluzioni potenzialmente migliori da sottoporre ad analisi più accurate (metodo del Set Based Engineering definito anche Toyota Paradox) Knowledge Based • Per poi congelare le soluzioni prescelte o, se necessario od opportuno, cambiarle ancora, mano a mano che migliora la conoscenza ! Front Loaded • Front Loaded vuol dire collaborazione fra tutti gli attori del Ciclo di vita in tutte le fasi dello Sviluppo, per evitare “l'effetto salmone” Front Loaded • Alcuni prevedono di farlo solo nella fase del Concept Paper previsionale ma, secondo me, questo è sbagliato Front Loaded • Si devono continuamente “Coinvolgere nel Team di sviluppo” anche gli specialisti di Marketing, Produzione, Montaggio, …, rompendo i tradizionali Silos Tayloristici ! Concurrent Engineering Pull • Pull vuol dire far pianificare il lavoro, a ciclo breve, dagli stessi sviluppatori delegando a loro le scelte delle attività da svolgere (sono loro gli Owners del Processo) Pull • Ed il coinvolgimento motiverà gli sviluppatori molto meglio che non la tradizionale “gerarchia” Pull • Per il Lean la ripianificazione pull deve essere frequente (pochi giorni) durante bervissimi “Stand up meeting” utilizzando strumenti visuali (Visual Project Board) Visual Workflow Management Per riassumere Di seguito vi propongo uno schema riassuntivo dello “Sviluppo Incrementale ed Iterativo” Steering Committee Gates Business Case Preliminary Processes Cicli Adattivi - PMBOK5 • “I cicli di vita adattivi, noti anche come metodologia Agile, sono volti a rispondere agli alti livelli di modifiche e al continuo coinvolgimento degli Stakeholders (in particolare dei clienti)” Gestione adattiva • La gestione “adattiva”, nota anche come Scrum, è un'estremizzazione di quella incrementale ed iterativa Gestione adattiva • Scrum spinge ad aggiornare ad ogni Sprint (brevi intervalli iterativi di tempo, da 2 a 4 settimane) anche i Requisiti in base all'aumento della Conoscenza che non solo gli Sviluppatori ma che gli stessi Clienti (e gli altri Stakeholders) avranno durante lo Sviluppo Gestione adattiva • Nella gestione “adattiva” gli Sprint devono portare a dei Risultati, parziali ma concreti (i classici Deliverables), che però i Clienti e gli altri Stakeholders possano provare e approvare, magari tramite Deliverables ad hoc (MVP – Minimum Viable Products) Gestione adattiva • In Scrum il Controllo a “maglia stretta” viene svolto ad ogni Sprint dal Product Owner (il PO rappresenta i Clienti e gli altri Stakeholders), un nuovo Ruolo, diverso dai classici Product Manager e Project Manager Il PO • Il PO è lo Zar del prodotto (non del processo che è, come detto, di “proprietà” del team di sviluppo) in quanto durante il ciclo di vita, rappresentando i clienti, ha tutti i poteri sullo stesso Gestione adattiva • La gestione adattiva è sicuramente necessaria nello sviluppo del SW e dei Servizi (generalmente i clienti si rendono conto delle vere funzionalità solo dopo averle effettivamente provate) Gestione adattiva • Oggi è però opportuna anche nello Sviluppo dei Prodotti manifatturieri Gestione adattiva • Si tenga presente oltretutto che oggi i prodotti manifatturieri: – possono essere simulati tramite SW per costruire degli MVP – la maggior parte ha una sostanziale componente SW che ne definisce le funzionalità Gestione adattiva • In sintesi la metodologia adattativa è la successiva Gestione adattiva Steering Committee Sprint Preliminari per Gate valutare il Business Case Sprint 1 Sprint i 2- 4 settimane PO Committee PO Committee Events Events Steering Committee Gate Sviluppo Incrementale e Adattivo del Prodotto Sprint n PO Committee Events Sprint n+1 PO Committee Events PO Committee Events Gestione adattiva Sprint – iterazione a periodo fisso (2-4 settimane) Scope (Ambito) Event: ✔ Requirements Sprint Planning Event Visual Workflow Management (Stand-up Meeting) ✔ Attributes ✔ Configuration ✔ Risk ✔ 3P PO Committee Events Design Review & Freeze Event Retrospective Event Conclusioni • Avendo detto che sono un po' obsoleti, quale strumento (Lean) vi propongo al posto del Gantt e del Earned Value ? Conclusioni • Ma è ovvio lo Scrum Board con la sua Burndown Chart ! To do Ongoing Done Sprint Goal Conclusioni • Ma c'è uno strumento ancora più Lean, magari utilizzabile anche individualmente, per programmare le proprie attività? Conclusioni • Ma certo: il Kanban Board ! Kanban Board Limiti Kanban (WiP) Bibliografia essenziale • PMBOK5 • Lean Thinking, J. P. Womack e D. T. Jones, Guerini e Associati • Essential Scrum, K. S. Rubin, AddisonWesley Series • Agile Estimating and Planning, M. Cohn, Prentice Hall • Innovazione Lean, L. Attolico, Hoepli [email protected] [email protected]