SEI CMMI - Panoramica
Il miglioramento dei processi è un miglioramento continuo. Non potremo mai raggiungere la perfezione. In questo tutorial, impareremo la CMM che è un modello in continua evoluzione e miglioramento in cui l'attenzione è sempre sul fare meglio. La nostra portata dovrebbe sempre superare la nostra portata.
Cos'è CMM?
CMM sta per Capabilità Maturità Model.
Si concentra su elementi di pratiche e processi essenziali provenienti da vari corpi di conoscenza.
Descrive il buon senso, modi efficienti e comprovati di fare affari (cosa che dovresti già fare), non un approccio nuovo e radicale.
CMM è un metodo per valutare e misurare la maturità del processo di sviluppo del software di un'organizzazione.
CMM misura la maturità del processo di sviluppo del software su una scala da 1 a 5.
CMM v1.0 è stato sviluppato dal Software Engineering Institute (SEI) presso la Carnegie Mellon University di Pittsburgh, USA.
CMM è stato originariamente sviluppato per lo sviluppo e la manutenzione del software, ma in seguito è stato sviluppato per:
Ingegneria dei sistemi
Approvvigionamento del fornitore
Sviluppo integrato di prodotti e processi
Persone CMM
Acquisizione di software
Esempi di CMM
People CMM - Sviluppa, motiva e conserva i talenti del progetto.
Software CMM - Migliora una capacità di sviluppo e manutenzione focalizzata sul software.
Cos'è la maturità?
Le definizioni variano ma si ritiene generalmente che i processi maturi siano:
Well-defined,
Repeatable,
Measured,
Analyzed,
Migliorato e
Effective.
Processi scadenti ma maturi sono altrettanto negativi quanto l'assenza di maturità!
CMM aiuta a risolvere il problema della maturità definendo una serie di pratiche e fornendo un quadro generale per migliorarle. L'obiettivo di CMM è identificare le aree chiave del processo e le pratiche esemplari che possono comprendere un processo software disciplinato.
Organizzazione immatura vs matura
Un'organizzazione immatura avrebbe le seguenti caratteristiche:
Processo improvvisato durante il progetto
Processi approvati ignorati
Reattivo, non proattivo
Budget e programma non realistici
Qualità sacrificata per la pianificazione
Nessuna misura oggettiva della qualità
Al contrario, le caratteristiche di un'organizzazione matura sono le seguenti:
Comunicazione e coordinamento tra gruppi
Lavoro svolto secondo i piani
Pratiche coerenti con i processi
Processi aggiornati secondo necessità
Ruoli / responsabilità ben definiti
La direzione si impegna formalmente
Cos'è CMMI?
Il progetto CMM Integration è stato creato per risolvere il problema dell'utilizzo di più CMM. La missione del team di prodotto CMMI era combinarne treSource Modelsin un unico framework di miglioramento per le organizzazioni che perseguono il miglioramento dei processi a livello aziendale. Questi tre modelli di origine sono:
Modello di maturità delle capacità per il software (SW-CMM) - v2.0 Bozza C.
Electronic Industries Alliance Interim Standard (EIA / IS) - 731 Systems Engineering.
Modello di maturità delle capacità di sviluppo prodotto integrato (IPD-CMM) v0.98.
CMM Integration
Costruisce una serie iniziale di modelli integrati.
Migliora le migliori pratiche dai modelli di origine sulla base delle lezioni apprese.
Stabilisce un quadro per consentire l'integrazione di modelli futuri.
Differenza tra CMM e CMMI
CMM è un modello di riferimento di pratiche maturate in una disciplina specifica come Systems Engineering CMM, Software CMM, People CMM, Software Acquisition CMM ecc., Ma erano difficili da integrare come e quando necessario.
CMMI è il successore del CMM e si è evoluto come un insieme di linee guida più maturo ed è stato costruito combinando i migliori componenti delle singole discipline di CMM (Software CMM, People CMM, ecc.). Può essere applicato alla produzione di prodotti, alla gestione delle persone, allo sviluppo di software, ecc.
CMM descrive solo l'ingegneria del software mentre CMM Integrated descrive sia l'ingegneria del software che quella del sistema. CMMI incorpora anche il processo integrato e lo sviluppo del prodotto e l'approvvigionamento dei fornitori.
CMMI e obiettivi di business
Gli obiettivi del CMMI sono molto evidenti. Sono i seguenti:
Produce quality products or services- Il concetto di miglioramento del processo nei modelli CMMI si è evoluto dal paradigma di qualità Deming, Juran e Crosby: i prodotti di qualità sono il risultato di processi di qualità. CMMI si concentra fortemente sulle attività relative alla qualità, tra cui la gestione dei requisiti, l'assicurazione della qualità, la verifica e la convalida.
Create value for the stockholders- È più probabile che le organizzazioni mature effettuino stime di costi e ricavi migliori rispetto a quelle con minore maturità e quindi si comportino in linea con tali stime. CMMI supporta prodotti di qualità, pianificazioni prevedibili e misurazioni efficaci per supportare la direzione nel fare previsioni accurate e difendibili. Questa maturità del processo può proteggere dai problemi di performance del progetto che potrebbero indebolire il valore dell'organizzazione agli occhi degli investitori.
Enhance customer satisfaction- Il raggiungimento degli obiettivi di costo e pianificazione con prodotti di alta qualità convalidati rispetto alle esigenze del cliente è una buona formula per la soddisfazione del cliente. CMMI affronta tutti questi ingredienti attraverso la sua enfasi sulla pianificazione, il monitoraggio e la misurazione e la migliore prevedibilità fornita con processi più capaci.
Increase market share- La quota di mercato è il risultato di molti fattori, tra cui prodotti e servizi di qualità, identificazione del nome, prezzi e immagine. Ai clienti piace trattare con fornitori che hanno la reputazione di rispettare i propri impegni.
Gain an industry-wide recognition for excellence- Il modo migliore per sviluppare una reputazione di eccellenza è quello di eseguire costantemente bene i progetti, fornendo prodotti e servizi di qualità entro i parametri di costo e di pianificazione. Avere processi conformi ai requisiti CMMI può migliorare tale reputazione.