Valutazione del processo software

Una valutazione del processo software è un esame disciplinato dei processi software utilizzati da un'organizzazione, sulla base di un modello di processo. La valutazione include l'identificazione e la caratterizzazione delle pratiche correnti, l'identificazione delle aree di punti di forza e di debolezza e la capacità delle pratiche correnti di controllare o evitare cause significative di scarsa qualità (software), costi e pianificazione.

Una valutazione (o audit) del software può essere di tre tipi.

  • UN self-assessment (first-party assessment) viene eseguita internamente dal personale di un'organizzazione.

  • UN second-party assessment viene eseguita da un team di valutazione esterno o l'organizzazione viene valutata da un cliente.

  • UN third-party assessment viene eseguita da una parte esterna o (ad esempio, un fornitore valutato da una terza parte per verificare la sua capacità di stipulare contratti con un cliente).

Le valutazioni del processo software vengono eseguite in un ambiente aperto e collaborativo. Servono all'organizzazione per migliorare i propri processi software ei risultati sono riservati all'organizzazione. L'organizzazione da valutare deve avere membri nel team di valutazione.

Valutazione della maturità del processo software

L'ambito di una valutazione del processo software può coprire tutti i processi nell'organizzazione, un sottoinsieme selezionato dei processi software o un progetto specifico. La maggior parte degli approcci di valutazione del processo basati su standard sono invariabilmente basati sul concetto di maturità del processo.

Quando l'obiettivo della valutazione è l'organizzazione, i risultati di una valutazione del processo possono differire, anche su applicazioni successive dello stesso metodo. Ci sono due ragioni per i diversi risultati. Loro sono,

  • L'organizzazione oggetto di indagine deve essere determinata. Per una grande azienda, sono possibili diverse definizioni di organizzazione e pertanto l'effettivo ambito di valutazione può differire nelle valutazioni successive.

  • Anche in quella che sembra essere la stessa organizzazione, il campione di progetti selezionati per rappresentare l'organizzazione può influenzare la portata e il risultato.

Quando l'unità di valutazione target è a livello di progetto, la valutazione dovrebbe includere tutti i fattori significativi che contribuiscono al successo o al fallimento del progetto. Non dovrebbe essere limitato dalle dimensioni stabilite di un dato modello di maturità del processo. Qui vengono valutati il ​​grado di implementazione e la loro efficacia come comprovato dai dati del progetto.

La maturità del processo diventa rilevante quando un'organizzazione intende intraprendere una strategia di miglioramento globale a lungo termine. Le valutazioni del progetto software dovrebbero essere valutazioni indipendenti per essere oggettive.

Ciclo di valutazione del processo software

Secondo Paulk e colleghi (1995), l'approccio di valutazione basato su CMM utilizza un ciclo in sei fasi. Sono -

  • Seleziona un team: i membri del team devono essere professionisti esperti in ingegneria e gestione del software.

  • I rappresentanti del sito da valutare compilano il questionario standard di maturità del processo.

  • Il team di valutazione esegue un'analisi delle risposte al questionario e identifica le aree che richiedono un'ulteriore esplorazione in base alle aree chiave del processo CMM.

  • Il team di valutazione effettua una visita in loco per acquisire una comprensione del processo software seguito dal sito.

  • Il team di valutazione produce un elenco di risultati che identifica i punti di forza e di debolezza del processo software dell'organizzazione.

  • Il team di valutazione prepara un'analisi del profilo dell'Area di processo chiave (KPA) e presenta i risultati al pubblico appropriato.

Ad esempio, il team di valutazione deve essere guidato da un Lead Assessor SEI autorizzato. La squadra deve essere composta da quattro a dieci membri della squadra. Almeno un membro del team deve provenire dall'organizzazione sottoposta a valutazione e tutti i membri del team devono completare il corso SEI Introduzione alla CMM (o il suo equivalente) e il corso di formazione del team CBA IPI della SEI. I membri del team devono anche soddisfare alcune linee guida per la selezione.

Per quanto riguarda la raccolta dei dati, l'IPI CBA si basa su quattro metodi:

  • Il questionario standard sulla maturità
  • Colloqui individuali e di gruppo
  • Revisioni dei documenti
  • Feedback dalla revisione della bozza dei risultati con i partecipanti alla valutazione

SCAMPI

Lo Standard CMMI Assessment Method for Process Improvement (SCAMPI) è stato sviluppato per soddisfare i requisiti del modello CMMI (Software Engineering Institute, 2000). Si basa anche sull'IPI CBA. Sia l'IPI CBA che lo SCAMPI consistono in tre fasi:

  • Pianificazione e preparazione
  • Condurre la valutazione in loco
  • Segnala i risultati

Le attività per la fase di pianificazione e preparazione includono:

  • Identificare l'ambito della valutazione
  • Sviluppa il piano di valutazione
  • Preparare e formare il team di valutazione
  • Fai una breve valutazione dei partecipanti
  • Amministrare il questionario di valutazione CMMI
  • Esamina le risposte al questionario
  • Condurre una revisione iniziale del documento

Le attività per la fase di valutazione in loco includono:

  • Conduci una riunione di apertura
  • Conduci interviste
  • Consolida le informazioni
  • Preparare la presentazione della bozza dei risultati
  • Presentare la bozza dei risultati
  • Consolidare, valutare e preparare i risultati finali

Le attività della fase di rendicontazione dei risultati includono:

  • Presentare i risultati finali
  • Conduci una sessione esecutiva
  • Concludi la valutazione