CMMI-Dev V1 - Colonese · 2012-08-07 · Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 18...

20
CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Ercole Colonese

Transcript of CMMI-Dev V1 - Colonese · 2012-08-07 · Ercole Colonese CMMI-Dev V.1.3 – Roma, 2012 18...

CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3

Roma, 2012 Ercole Colonese

Agenda

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)

2 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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

3 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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

4 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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 .

5 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Figura 1. Collegamento tra processo, competenza e tecnologia (fonte: SEI).

Il modello CMMI

6 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Il modello CMMI prevede un approccio «continuo» ed uno «a stadi» per la sua

implementazione

« staged » model « continuous » model

CL 5

CL 4

CL 3

CL 2

CL 1

CL 0

PP PMC

Livelli di maturità

7 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Livello Descrizione

1. Iniziale 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”.

2.Ripetibile (Gestito) 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.

3. Definito 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.

4.Gestito

quantitativamente

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.

5. Ottimizzato 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.

Aree di processo (KPAs)

8 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Level Focus Area di processo

5 Optimizing Continuous Process Improvement

Organizational Performance Management (OPM)

Causal Analysis and Resolution (CAR)

4 Quantitatively Managed

Quantitative Management

Organizational Process Performance (OPP)

Quantitative Project Management (QPM) 3 Defined 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)

Decision Analysis and Resolution (DAR) 2 Managed Basic Project

Management 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)

Configuration Management (CM) 1 Initial None None

Miglioramento continuo

9 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

La metodologia per il miglioramento continuo

IDEAL: Initiating-Diagnosing-Establishing-Acting-Learning

(fonte: SEI)

Pianificare (Plan)

Verificare (Check)

Realizzare (Do)

Mantenere e migliorare

(Act)

PDCA: Plan-Do-Check-Act (fonte: Deming)

Approccio semplificato (PDCA)

10 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Pianificare (Plan)

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)

Realizzare (Do)

1. Strutturare il “Ciclo di vita del software “ (CVS)

2. Istituzionalizzare le 7 aree di processo (KPAs)

3. Addestrare il personale coinvolto

4. Adottare i processi stabiliti nei progetti reali

Pianificare (Plan)

Verificare (Check)

Realizzare (Do)

Mantenere e migliorare

(Act)

Verificare (Check)

1. Monitorare i processi (misurazioni)

2. Verificare i risultati e confrontarli con gli obiettivi

3. Valutare i risultati (Appraisal di classe A, B o C)

4. Obiettivo raggiunto:

a. Passare al punto 1 della fase Act;

5. Obiettivo non raggiunto:

a. Passare al punto 2 della fase Act.

Mantenere e migliorare (Act)

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.

La valutazione del livello di maturità

11 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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)

Goals and Practices (Generic)

12 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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

Goals and Practices (Specific)

13 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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

Modello dei processi (Livello 2)

14 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

REQM

Flusso delle fasi del CVS

Linee guida

Feedback

Ciclo di vita del software (CVS)

Strategia: Politiche, Obiettivi, Azioni, Riesame

PP PMC SAM PPQA CM MA

Altri processi aziendali

(SGQ)

Strumenti a supporto (Tool)

Miglioramento continuo dei processi (SPI Program)

Un possibile piano di implementazione

15 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Appraisal (classe C)

Documentazione Visita

Mese: 1 3 4 5 6 7 8

Pianificazione

Ciclo di vita del software (CVS)

Adozione di strumenti (tool)

Organizzazione Appraisal

Misurazioni e analisi

Appraisal (classe A

o B)

Istituzionalizzazione delle 7 aree di processo (KPAs)

Azioni

2 9 10 11 12

Modello “staged” Livello di maturità 2 (7 aree di processo) Organizzazione di medie dimensioni fortemente motivata

Mgmt Training

SEPG & Training

Elementi del sistema

16 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Ciclo di vita del

software (CVS)

Riferimento a …

Processi e

SGQ

aziendali

Documenti di

prodotto

Misurazione dei processi

Valutazione degli obiettivi raggiunti

Piano di

miglioramento

Aree di processo

(KPAs)

Documenti di

progetto

Politica

Obiettivi

Azioni

Risultati

Strumenti a supporto

17 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Politica

Ciclo di vita del

software (CVS)

Reporting

Tempi di

consegna

Costo dei progetti

Qualità del software

DB Misure

Measurement

and Analysis

Obiettivi

Processi

(KPAs)

Riesame

della

Direzione

Azioni Erogazione

dei servizi

Requisiti

CVS

Gestione

configurazione

Anomalie

software

Richieste di

modifica

Test

Formazione

18 CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

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)

19

Domande?

CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese

Ercole Colonese

(+39) 338 7248417

[email protected] - www.colonese.it

20

Grazie per l’attenzione

CMMI-Dev V.1.3 – Roma, 2012 Ercole Colonese