CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Ercole Colonese Agenda Ercole Colonese Che cos’è il CMMI Costellazione di modelli Approccio “staged” e “continuous” Aree di processo Goals and Practices, generic and specific Appraisal Possibile piano di implementazione Strumenti a supporto Formazione (Awareness) CMMI-Dev V.1.3 – Roma, 2012 2 Che cos’è? CMMI (Capability Maturity Model Integration) è un modello per il miglioramento dei processi aziendali Nasce negli anni ’70 negli USA (DoD) per valutare la qualità dei prodotti e servizi dei fornitori Si è esteso in tutto il mondo come standard qualitativo per il miglioramento dei processi Il modello è gestito dal Software Engineering Institute (SEI) che lo fa evolvere in base alle esigenze del mercato e delle tecnologie emergenti Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 3 Costellazioni La versione attuale del modello (v.1.3) consta di tre modelli distinti: CMMI for Development, CMMI-DEV, Version 1.3 November 2010 Improving processes for developing better products and services CMMI for Services, CMMI-SVC, Version 1.3 November 2010 Improving processes for providing better services CMMI for Acquisition, CMMI-ACQ, Version 1.3 November 2010 Improving processes for acquiring better products and services Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 4 Il problema dei progetti che falliscono Nel campo IT (ma non solo), il problema è affrontato con un approccio di miglioramento continuo delle prestazioni aziendali (Continuous Process Improvement, CPI). Il miglioramento di un processo è inteso a tutto tondo e coinvolge, in maniera sincrona e sinergica, l’aspetto umano (l’organizzazione intesa come cultura, atteggiamento, impegno, coinvolgimento, responsabilizzazione, motivazione ecc.), le tecnologie (tecnologie informatiche, metodi, tecniche, metriche, strumenti ecc.) e ovviamente i processi . Figura 1. Collegamento tra processo, competenza e tecnologia (fonte: SEI). Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 5 Il modello CMMI Il modello CMMI prevede un approccio «continuo» ed uno «a stadi» per la sua implementazione CL 5 CL 4 CL 3 CL 2 CL 1 CL 0 PP « staged » model Ercole Colonese PMC « continuous » model CMMI-Dev V.1.3 – Roma, 2012 6 Livelli di maturità Livello 1. Iniziale 2.Ripetibile (Gestito) 3. Definito 4.Gestito quantitativamente 5. Ottimizzato Ercole Colonese Descrizione Il processo di sviluppo software è caratterizzato da una scarsa strutturazione, spesso è assente, a volte è caotico. Solo pochi processi sono definiti ed il successo dipende dall’impegno dei singoli, a volte “eroico”. Sono stabili processi base di gestione dei progetti di sviluppo software per tracciare i costi, la schedulazione delle attività e le funzionalità sviluppate. Il processo è stabilito per essere ripetibile su progetti che sviluppano applicazioni simili. Il processo di sviluppo software, sia per la parte di gestione che per quella di sviluppo tecnico, è definito, documentato, standardizzato ed integrato in azienda per l’intera organizzazione. Tutti i progetti utilizzano una versione del processo approvata, standardizzata ed adattabile ai singoli progetti. Si effettuano misure sul processo di sviluppo software e sulla qualità dei prodotti sviluppati. Sia il processo di sviluppo che i prodotti sviluppati sono quantitativamente interpretati e controllati. Esiste un processo di miglioramento continuo basato su feed-back quantitativi provenienti dall’utilizzo del processo e dalla sperimentazione di progetti pilota su innovazioni e nuove tecnologie. CMMI-Dev V.1.3 – Roma, 2012 7 Aree di processo (KPAs) Level 5 Optimizing 4 Quantitatively Managed 3 Defined Focus Continuous Process Improvement Quantitative Management Area di processo Organizational Performance Management (OPM) Causal Analysis and Resolution (CAR) Organizational Process Performance (OPP) Quantitative Project Management (QPM) Process Standardization Requirements Development (RD) Technical Solution (TS) Product Integration (PI) Verification (VER) Validation (VAL) Organizational Process Focus (OPF) Organizational Process Definition (OPD) Organizational Training (OT) Integrated Project Management (IPM) Risk Management (RSKM) 2 Managed Basic Project Management Decision Analysis and Resolution (DAR) Requirements Management (REQM) Project Planning (PP) Project Monitoring and Control (PMC) Supplier Agreement Management (SAM) Measurement and Analysis (MA) Process and Product Quality Assurance (PPQA) 1 Initial Ercole Colonese None Configuration Management (CM) None CMMI-Dev V.1.3 – Roma, 2012 8 Miglioramento continuo La metodologia per il miglioramento continuo Pianificare (Plan) Mantenere e migliorare (Act) Realizzare (Do) Verificare (Check) IDEAL: Initiating-Diagnosing-Establishing-Acting-Learning (fonte: SEI) Ercole Colonese PDCA: Plan-Do-Check-Act (fonte: Deming) CMMI-Dev V.1.3 – Roma, 2012 9 Approccio semplificato (PDCA) Mantenere e migliorare (Act) Pianificare (Plan) 1. Obiettivo raggiunto: Standardizzare, consolidare e addestrare il personale; 2. Procedere ad un eventuale PDCA per un ulteriore miglioramento; 3. Ripetere un nuovo ciclo PDCA sullo stesso tema, analizzando criticamente le varie fasi del ciclo precedente per individuare le cause del non raggiungimento dell’obiettivo. 1. Rendere consapevole il Management (Awareness) 2. Definire la strategia di miglioramento (politiche, obiettivi, azioni) 3. Pianificare il miglioramento (SPI Plan) 4. Costituire i gruppi di lavoro (MSG, SEPG, TWGs, Process Owners) 5. Formare i gruppi di lavoro (CMMI Training) Pianificare (Plan) Mantenere e migliorare (Act) Realizzare (Do) Verificare (Check) 1. 2. 3. 4. Monitorare i processi (misurazioni) Verificare i risultati e confrontarli con gli obiettivi Valutare i risultati (Appraisal di classe A, B o C) Obiettivo raggiunto: a. Passare al punto 1 della fase Act; 5. Obiettivo non raggiunto: a. Passare al punto 2 della fase Act. Ercole Colonese Realizzare (Do) Verificare (Check) 1. 2. 3. 4. CMMI-Dev V.1.3 – Roma, 2012 Strutturare il “Ciclo di vita del software “ (CVS) Istituzionalizzare le 7 aree di processo (KPAs) Addestrare il personale coinvolto Adottare i processi stabiliti nei progetti reali 10 La valutazione del livello di maturità SCAMPI: Standard CMMI Appraisal Method for Process Improvement Class A, B or C Lead Appraiser Two stages: 1. Documentation review 2. Visit (on-site) Final Report: Level appraised Strenghts and Weakeness SCAMPI Classes (fonte: SEI) Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 11 Goals and Practices (Generic) Generic Goal Generic Practice GG 1 Achieve Specific Goals GP 1.1 Perform Specific Practices GG 2 Institutionalize a Managed Process GP 2.1 Establish a Managed Process GP 2.2 Plan the Process GP 2.3 Provide Resources GP 2.4 Assign Responsibility GP 2.5 Train People GP 2.6 Control Work Products GP 2.7 Identify and Involve Relevant Stakeholders GP 2.8 Monitor and Control Process GP 2.9 Objectively Evaluate Adherence GP 2.10 Review Status with Higher Level Management GG 3 Institutionalize a Defined Process GP 3.1 Establish a Defined Process GP 3.2 Collect Process Related Experiences Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 12 Goals and Practices (Specific) Specific Goal Generic Practice SG 1 Determine Causes of Selected outcomes SP 1.1 Select Outcomes for Analsys SP 1.2 Analyze Causes SG 2 Address Causes of Selected Outcomes GP 2.1 Implement Action Proposals SP 2.2 Evaluate the Effect of Implemented Actions SP 2.3 Record Causal Analysis Data Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 13 Modello dei processi (Livello 2) Strategia: Politiche, Obiettivi, Azioni, Riesame Ciclo di vita del software (CVS) REQM PP PMC SAM PPQA CM MA Altri processi aziendali (SGQ) Strumenti a supporto (Tool) Miglioramento continuo dei processi (SPI Program) Flusso delle fasi del CVS Linee guida Feedback Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 14 Un possibile piano di implementazione Mese: 1 2 3 Appraisal (classe C) Mgmt Training 4 5 6 7 8 9 10 11 12 Modello “staged” Livello di maturità 2 (7 aree di processo) Organizzazione di medie dimensioni fortemente motivata Pianificazione SEPG & Training Ciclo di vita del software (CVS) Istituzionalizzazione delle 7 aree di processo (KPAs) Adozione di strumenti (tool) Misurazioni e analisi Organizzazione Appraisal Appraisal (classe A o B) Azioni Documentazione Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 Visita 15 Elementi del sistema Politica Ciclo di vita del software (CVS) Documenti di progetto Obiettivi Azioni Piano di miglioramento Aree di processo (KPAs) Documenti di prodotto Riferimento a … Risultati Processi e SGQ aziendali Misurazione dei processi Valutazione degli obiettivi raggiunti Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 16 Strumenti a supporto Politica Requisiti Ciclo di vita del software (CVS) Obiettivi Richieste di modifica CVS Processi (KPAs) Azioni Erogazione dei servizi Gestione configurazione Riesame della Direzione Reporting Measurement and Analysis Anomalie software Qualità del software Test Costo dei progetti Tempi di consegna Ercole Colonese DB Misure CMMI-Dev V.1.3 – Roma, 2012 17 Formazione Formazione del Management (Awareness) Si tratta di una mezza giornata (se necessario, 2 mezze giornate) in cui viene presentato il modello CMMI-Dev nella corrente versione La formazione tende ad aiutare il Management a comprendere i reali vantaggi del modello ma anche, e soprattutto, le difficoltà a implementarlo In particolare, serve a rendere noto al Management il proprio ruolo di “promotore” dell’iniziativa (Sponsorship) e la responsabilità di verificarne lo stato di implementazione, l’efficacia (misurazioni) e a mettere in atto le azioni opportune Formazione dei gruppi di lavoro (SEPG) L’implementazione del modello richiede la costituzione di uno o più gruppi di lavoro (SEPG, Software Engineering Process Group) cui viene affidato il compito di realizzare i processi necessari, divulgarli all’interno dell’organizzazione e fornire il supporto tecnico alla loro adozione In particolare, si evidenzia la necessità di produrre e mantenere aggiornata la documentazione dei processi, adottare strumenti a supporto, implementare e utilizzare le metriche necessarie La formazione in questo caso è più tecnica e approfondita per i singoli processi (KPA) Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 18 Domande? Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 19 Grazie per l’attenzione Ercole Colonese (+39) 338 7248417 [email protected] - www.colonese.it Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 20