Domanda

Dieci anni fa, quando ho incontrato per la prima volta il CMM per software Sono rimasto, suppongo come molti, colpito dalla precisione con cui sembrava descrivere il caotico stato di "livello uno" dello sviluppo software in molte aziende, in particolare con il suo riferimento alla dipendenza dagli eroi.Sembrava anche fornire una guida realistica per un'organizzazione per avanzare di livello migliorando i propri processi.

Ma sebbene sembrasse fornire un buon modello e una guida realistica per il miglioramento, non ho mai realmente assistito a un’adesione al CMM che avesse un impatto positivo significativo su qualsiasi organizzazione per cui o con cui ho lavorato.Conosco una grande società di consulenza software che dichiara CMM livello 5 - il livello più alto - quando posso vedere in prima persona che i suoi processi sono caotici e la qualità dei suoi prodotti software altrettanto varia, come altre aziende non CMM.

Quindi mi chiedo: qualcuno ha notato un vantaggio reale e tangibile dall'adesione al miglioramento dei processi secondo CMM?

E se hai notato un miglioramento, pensi che il miglioramento sia stato specificatamente attribuibile alla CMM, o sarebbe opportuno un approccio alternativo (come ad esempio sei Sigma) sono stati ugualmente o più vantaggiosi?

Qualcuno ci crede ancora?

Per inciso, per coloro che non l'hanno ancora visto, dai un'occhiata a questo divertente perché è vero parodia

È stato utile?

Soluzione

Per un tipico negozio di programmazione CMM di livello 1, vale la pena fare lo sforzo per arrivare al livello 2;questo significa che devi pensare ai tuoi processi e scriverli.Naturalmente, questo incontrerà la resistenza dei programmatori cowboy che si sentono limitati dagli standard, dalla documentazione e dai casi di test.

Lo sforzo per passare dal livello 2 ("esiste un processo") al livello 3 ("tutti hanno lo stesso processo") normalmente si impantana nella guerra interdipartimentale, quindi probabilmente non vale la pena iniziare.

Altri suggerimenti

L'ho trovato eccessivo, un esercizio di documentazione utilizzato principalmente come veicolo di acquisizione/mantenimento di contratti.Una volta ottenuto il contratto, è stato un esercizio per aggirare il processo.

Come sviluppatore, non ne ho ricavato nulla, ma ho perso MESI della mia vita professionale gingillandomi con CMMI.

Lo stesso vale per 6 Sigma, che ho battezzato "Common Sense in a Box".Non avevo bisogno di essere addestrato a capire quale fosse il problema in un processo: in genere era abbastanza evidente.

Per me, i piccoli team e i meccanismi agili funzionano molto meglio.Cicli brevi, molta comunicazione.Potrebbe non funzionare in tutti gli ambienti, ma funziona sicuramente nel mio.

Solo i miei due centesimi.

Al centro della questione c'è questo problema, chiaramente descritto dalla stessa guida CMM...

...Per utilizzare la CMM correttamente e con perspicacia è necessario un buon giudizio.Intelligenza, esperienza e conoscenza devono plasmare un'interpretazione adeguata della CMM in un ambiente specifico.Tale interpretazione dovrebbe basarsi sulle esigenze aziendali e sugli obiettivi dell'organizzazione e dei progetti.Un’applicazione meccanica e orientata alla lista di controllo del CMM ha il potenziale di danneggiare un’organizzazione piuttosto che aiutarla…

Da pagina 14, paragrafo 1.6 del Il modello di maturità delle capacità, linee guida per migliorare il processo software dal Software Engineering Institute della Carnegie Mellon University, ISBN 0-201-54664-7.

Se vedi CMM esegui.E corri veloce.

CMM e CMMI offrono entrambi alcuni vantaggi se la tua organizzazione prende a cuore le lezioni che cerca di insegnare.Il problema è che raggiungere i livelli più alti è molto difficile e costoso, e l'unica volta che ho visto un'organizzazione affrontare lo sforzo è perché i suoi clienti non le permettono di fare offerte per i contratti finché non raggiungono un certo livello.

Ciò ha l'effetto che l'organizzazione fa tutto il possibile per "ottenere semplicemente il numero" senza preoccuparsi realmente di migliorare il proprio processo.

Il limite superiore?NO.I negozi CMM-5 non mi impressionano.

L'estremità inferiore?SÌ.Le organizzazioni CMM-1 mi spaventano.

CMM può aiutare un team nuovo/alle prime armi a misurarsi e a migliorare sé stesso.

CMMI non riguarda realmente il miglioramento del tuo software, si tratta di documentare ciò che hai fatto.Si può quasi stimare il livello CMMI di un'azienda in base al peso della documentazione che produce.

Sfondo:Ho studiato CMMI nel mio corso di laurea in Ingegneria del software e ho lavorato in un team che ne seguiva le linee guida.

La mia esperienza è che il CMM è così vago che è molto facile da soddisfare.Inoltre, quando vengono a certificarti, guardano il progetto scelto dalla tua organizzazione.Dove lavoravo, questo era il progetto senza una scadenza reale, molti soldi e molto tempo da dedicare a ogni angolo del processo.Molti degli altri progetti sono continuati con poca o nessuna revisione del codice/progetto, a volte senza il software di controllo delle versioni.

Penso che l’enfasi sulla certificazione CMM sia infelice.Le aziende sanno come far funzionare il sistema, e lo fanno.Invece di concentrarsi sul reale miglioramento dei processi che soddisfi i loro profitti, si concentrano sull’ottenimento di una certificazione e sul funzionamento del sistema.Onestamente penso che la maggior parte delle organizzazioni preferirebbe dedicare tempo al primo invece di sprecare così tanto tempo al secondo.

Ciò che conta davvero è avere persone coscienziose che vogliono prendere buone decisioni in materia di sviluppo e sanno che avranno bisogno di aiuto per prendere quelle decisioni.Non c'è nulla che possa sostituire i programmatori di qualità che sanno che la programmazione è un'attività di gruppo continua in cui hanno la stessa probabilità di commettere un errore come chiunque altro.

Ho fatto molti colloqui per piccoli team che si occupavano di sviluppo iterativo.Personalmente, se vedo CMM su un curriculum è un grande campanello d'allarme che segnala l'interesse per il processo piuttosto che per i risultati.

Esistono tutti i metodi formali per vendere libri/corsi di formazione/certificazioni e per nessun altro motivo.Ecco perché ci sono così tanti metodi formali.Una volta che te ne rendi conto, sei libero :-)

Yourdon ancora crede.Ma potrebbe anche credere ancora che il mondo finirà con l’anno 2000.

Questo non è qualcosa in cui personalmente riporrei molta fiducia o con cui vorrei essere aggiogato in futuro.Ma spesso non è nostro compito spiegarne il motivo...

PSAnche se un po' fuori tema, vorrei menzionare che le certificazioni CMMI false sono molto comuni così come le certificazioni reali ottenute tramite corruzione.

CMM non parla realmente della qualità del software, ma più della documentazione e della ripetibilità del processo.In altre parole, è possibile avere un processo di sviluppo ordinato e ripetibile, ma creare comunque software scadente.Finché il processo è adeguatamente documentato, è possibile raggiungere il livello CMM 5.

Alla fine della giornata CMM è un altro strumento che può essere utilizzato o abusato.Se l'obiettivo finale è migliorare la qualità del software, è possibile utilizzare CMM per migliorare il processo di sviluppo e migliorare la qualità del software.Se l’obiettivo è raggiungere un certo livello CMM, molto probabilmente la qualità del software ne risentirà.

Il Modello sta perdendo credibilità, in primo luogo perché le aziende adottano il modello non cercando un modello di sviluppo software più maturo, ma da valutare a livello CCMI.

E l'altro problema, quello che penso porti alla perdita di credibilità è che come appaltatore, non hai alcuna garanzia che il progetto che il tuo fornitore di valutazione CMMI ti sta vendendo sarà sviluppato utilizzando le pratiche modello.L'etichetta CMMi afferma solo che l'azienda ha sviluppato una volta progetti valutati come aderenti a uno specifico livello di maturità CMMi.

Il problema non è solo del CMMi ma del processo sviluppato dalle aziende.Il CMMi non descrive il processo in sé, ma solo cosa dovrebbe fare il processo.Hai lo stesso problema con PMBOK.In realtà il problema non è solo il PMBOK, ma soprattutto i cattivi project manager che affermano di seguire le dichiarazioni del PMI.

A scuola mi è stato insegnato:CMM è una buona idea, ma in mancanza di certificazione (tutti possono dire di essere di livello 5/livello 4) finisce per essere uno strumento di marketing per negozi offshore.Quindi sì, l'idea è valida, ma come si dimostra l'adesione?

In passato.Ma ora trovo che CMM e CMMI non si adattano molto bene agli approcci agili.

Oh certo, puoi spremere le cose per inserire quel piolo quadrato nel buco rotondo, ma quando arriva il momento critico, stai ancora basando il tuo approccio sulla capacità di prevedere tutto ciò che è necessario e di anticipare tutto ciò che si incontrerà, quando costruisci un sistema software.

E sappiamo tutti quanto bene questo approccio funziona nella vita reale!(-:

saluti,

rapinare

Agile è la prossima CMM ed entrambe sono fragili.Il campo della consulenza sui processi e sulla qualità è un buon affare in qualsiasi settore e, come gli ingegneri, tutti hanno bisogno di nuove parole d'ordine per mantenere il flusso di denaro.

CMM quando uscì per la prima volta dal SEI era un buon concetto basato su un solido lavoro accademico, ma fu presto ripreso dai consulenti di processo e ora è una certificazione senza valore, che viene utilizzata dalla maggior parte dei CIO per pararsi il culo (nessuno è stato licenziato per scegliendo un'azienda CMM di livello 5)

Agile seguirà presto questa strada e poi potremo essere sicuri di vedere presto la prossima soluzione miracolosa all'orizzonte :)

Quando lavoravo su un software di volo commerciale, utilizzavamo CMM e man mano che i nostri processi miglioravano, la nostra capacità di prevedere con precisione i tempi di completamento è migliorata.Ma questo è stato un processo complicato, altri approcci dovrebbero funzionare altrettanto bene.

I progetti più piccoli dipendono meno dal processo per il successo.La metrica chiave è il rapporto tra eroe e spettatore.Qualsiasi progetto con un HTBR inferiore a 0,2 è in seri problemi.

Esistono alcune buone idee che possono essere facilmente adattate e adottate da qualsiasi organizzazione per il proprio bene, ma ottenere un badge è una seccatura a causa della necessità di tutti i tipi di documentazione ridondante.

Il problema è che CMMi non è un processo ma solo una guida per qualunque processo tu possa scegliere di avere e questo di per sé invita a fluire idee incomplete.

Un altro punto è che la migrazione è una vera seccatura quando si inizia, ma immagino sia uguale a qualsiasi altro problema iniziale.

Il problema principale nel comprendere il valore di CMMi è comprendere CMMi stesso.

CMMi è un approccio documentato al miglioramento continuo per la produzione di software.

Comprendere il miglioramento continuo con SPC è già abbastanza difficile nel settore manifatturiero, ma aggiungiamo il prodotto software intangibile e la difficoltà diventa esponenziale.

Consiglierei a chiunque, o organizzazione, nuova a CMMi:per documentare il processo attuale, quindi esaminare quali risultati (costi/benefici) possono essere misurati indipendentemente dal processo.In questo modo, se qualsiasi processo o procedura standard venisse modificato, produrrebbe un risultato "migliore".Il prerequisito per questo esercizio è un processo documentato, stabile e ripetibile poiché è impossibile misurare il beneficio di qualsiasi cambiamento all'interno di un ambiente ad hoc poiché non si confrontano "uguali per simili".

Concentrandosi inizialmente sui concetti di cui sopra, l'organizzazione inizierà a comprendere e ad abbracciare il valore essenziale del CMMi.

La leggenda narra che il Dipartimento della Difesa degli Stati Uniti, che ha stipulato molti contratti, ha scoperto che molti dei suoi progetti erano soggetti a superamenti di tempi e costi e, anche quando sono stati consegnati, i progetti non erano esattamente ciò che era stato ordinato.

Volevano quindi un modo per essere sicuri che l'appaltatore fosse in grado di consegnare in tempo, nel rispetto del budget e vicino a quanto richiesto.Così è nato il modello di maturità delle capacità.

La tesi è che se le cose vengono scritte, allora sopravvivono all’attrito.Ma dire che annotare tutto non basterebbe, occorre verificare che siano scritti correttamente.Tra le altre cose.

Durante tutto questo, non è mai passato per la loro mente considerare il costo di fare tutto questo.Perché dal punto di vista del DoD, se ha dato un progetto da 1 milione di dollari per ottenere qualcosa in un anno, e ha finito per pagare 10 milioni di dollari in 10 anni e non ottenere quello che voleva, e ora se invece avesse avuto pagare 5 milioni di dollari per la stessa cosa per ottenere ciò che realmente desideravano in due anni, stanno comunque risparmiando 5 milioni di dollari, per non parlare del fatto che stanno effettivamente ottenendo qualcosa.

Quindi, se sei un appaltatore del Dipartimento della Difesa degli Stati Uniti o qualcosa del genere, vai avanti e ottieni CMM, perché sarebbe un requisito.Ma se competi con migliaia di negozi di sviluppo software su Elance, per ottenere progetti con budget limitati, tempo limitato e così via...CMM non è una buona scelta.

Detto questo, sentitevi liberi di leggere il pdf CMMI Dev (v 1.3 al momento della stesura).Fa molti punti positivi.Decostruisce l'organizzazione molto bene.E se vedi qualche punto che ti fa dire "aha!"ho questo problema", allora usa assolutamente quella saggezza per risolvere il tuo problema.Nel nostro caso, una piccola modifica che abbiamo apportato è stata quella di garantire la creazione di un elenco di tutte le persone autorizzate a fornirci requisiti.Se c'era più di una persona autorizzata a fornirci dei requisiti, allora qualsiasi requisito proveniente da una fonte veniva distribuito alle altre e loro dovevano dire "ok" prima che lo aggiungessimo all'arretrato.Questo piccolo cambiamento ha fatto una grande differenza nel modo in cui abbiamo lavorato e rielaborato.

In breve, osserva le aree del processo e confrontale con le aree problematiche e accetta i suggerimenti forniti da CMM.Il modo in cui lo implementi è tuo.E puoi sempre implementarlo in un modo che non richieda troppo tempo o costi troppi soldi.Ma immagino che lo stesso valga anche per gli standard ISO/IEC pertinenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top