Ercole Colonese

Consulenza di direzione e IT

Home |  Sviluppo software | Gestione servizi IT | Gestione progetti | Test e collaudi | Competenze relazionali | Servizi | Pubblicazioni | Chi sono | Info

ISO/IEC 12207:2008

Sito Web

Home > Sviluppo software

Contesto italiano attuale

Metodologia proposta

Competenze professionali

SWEBOK

Processi maturi

Processo di sviluppo

Processo di gestione

Metodi e tecniche

Metriche

Strumenti

Modelli di maturità

Norme e standard

ISO 9001

ISO 90003

ISO 29110

ISO 29119

ISO 9126

> ISO 12207

ISO 15288

ISO 15289

ISO 15504

ISO 16326

ISO 19011

ISO 19759

Best Practice proposte

Formazione

Breve storia dell'Ingegneria del software

 

System and software engineering - Software life cycle processes

La norma ha lo scopo principale di definire una struttura comune in modo che i professionisti coinvolti nello sviluppo del software (committenti, fornitori, sviluppatori, manutentori, operatori, manager e tecnici) possano utilizzare un linguaggio comune. Tale linguaggio comune è basato su di una struttura di processi, attività, compiti e risultati prodotti. Il modello è flessibile e modulare in modo che ciascuno possa personalizzarlo a seconda delle proprie esigenze organizzative dei singoli progetti software.

La norma, emessa nel 1995, è stata aggiornata nel 2008.

Lo standard stabilisce i processi presenti nel ciclo di vita del software e, per ciascuno di essi, le attività da svolgere e i risultati da produrre (outcomes).

Sono definiti 23 processi (43 processi a livello di sistema e di software), 95 attività , 325 compiti (tasks) e 224 risultati (outcomes).

I processi sono suddivisi dalla norma in tre categorie:

  1. Processi primari, comprendenti le attività direttamente legate allo sviluppo del software;

  2. Processi di supporto, che includono la gestione dei documenti e dei processi di controllo della qualità;

  3. Processi organizzativi, che coprono gli aspetti manageriali e di gestione delle risorse.

Per ciascun processo la norma evidenzia chiaramente:

  • obiettivo e responsabilità,

  • lista delle attività che lo compongono,

  • singoli compiti nei quali è suddivisa ogni attività.

1. Processi primari

I processi primari definiti dalla norma ISO 12207 indirizzano i seguenti processi produttivi e le relative attività:

Processes Activities

Acquisition

Il processo ha lo scopo di ottenere il prodotto/servizio che soddisfa le necessità del cliente (i requisiti concordati).

Il processo inizia con l'identificazione dei requisiti e termina con l'accettazione della fornitura.

Acquisition Preparation
Supplier Selection
Supplier Monitoring
Customer Acceptance
Supply
Il processo ha lo scopo di fornire al cliente il prodotto/servizio che soddisfa le sue necessità (i requisiti concordati).
Proposal Preparation
Contract
Planning
Execution and Control
Review and Evaluation
Release and Completion
Development
Il processo ha lo scopo di sviluppare un prodotto software, o un sistema basato sul software, che indirizzi le esigenze del cliente (cioè i requisiti concordati). Le attività del processo sono suddivise rispetto al ruolo dello sviluppatore e a quello del cliente.
Requirements Elicitation
System Requirements Analysis
System Architecture Design
Software Requirements Analysis
Software Architecture Design
Software Construction (Code and Unit Test)
Software Integration
Software Testing
System Integration
System Testing
Software Installation
Operation
La fase di Operation è svolte simultaneamente alla fase di Manutenzione.
Il processo ha lo scopo di mantenere operativo il sistema e di fornire il supporto agli utenti.
Operational Use
Customer Support
Maintenance
Le fase di Manutenzione è svolta  simultaneamente alla fase precedente di Operation.
Il processo ha lo scopo di modificare il prodotto software dopo il suo rilascio per correggere i difetti, migliorare le sue prestazioni o altri attributi o adattarlo a cambiamenti nell'ambiente operativo
Defect or Request for Change Analysis
Change Implementation
Review/Acceptance of Changes
Migration
Software Withdrow

Ciascun processo primario è definito e descritto dalla norma in termini di attività (activities) e compiti (tasks).

Ogni compito (task), a sua volta, indica cosa occorre fare ("what to do") e non "come" la si deve fare ("how to do").

In particolare, la norma fa uso dei seguenti "verbi" per indicare i diversi livelli di obbligatorietà:

  • dovrà, per la definizione dei requisiti;

  • dovrebbe, per specificare le raccomandazioni;

  • può, per indicare il permesso a fare qualcosa, o il fatto di essere in grado di farla;

  • qualunque altro (tempo presente), per descrivere un preambolo o per descrivere il contesto.

Per una descrizione completa e dettagliata della norma occorre fare riferimento alla norma stessa.

2. Processi di supporto

I processi di supporto definiti dalla norma ISO 12207 indirizzano le seguenti attività principali e di dettaglio:

Processes Activities
Documentation Il processo di "Gestione della documentazione" garantisce lo sviluppo e la manutenzione delle informazioni prodotte e registrate relativamente al prodotto software. 
Configuration Management Il processo di "Gestione della configurazione" ha lo scopo di definire e mantenere l'integrità di tutti i componenti della configurazione (Configuration Items) e di renderli accessibili a chi ne ha diritto.
Quality Assurance Il processo di "Assicurazione qualità" ha lo scopo di assicurare che tutti i prodotti di fase (work product) siano conformi con i piani e gli standard definiti.
Verification Il processo di "Verifica" ha lo scopo di confermare che ciascun work product o servizio realizzato da un processo soddisfi i requisiti specioficati.
Il processo di Verifica deve essere integrato nei processi di Sviluppo, Fornitura e Manutenzione.
Se la verifica viene eseguita da terzi, questa viene definita come "Processo di verifica indipendente".
Validation Il processo di "Validazione" ha lo scopo di confermare che i requisiti siano rispettati quando uno specifico work product (o componente software) sia utilizzato nell'ambiente destinatario.
Joint Review Il processo di "Revisione congiunta" ha lo scopo di rivedere con le parti interessate (stakeholders) i processi eseguiti rispetto agli obiettivi definiti negli accordi e le cose da fare per assicurare lo sviluppo di un prodotto che soddisfi i requisiti concordati.
Le revisioni sono svolte durante l'intero ciclo di vita, sia a livello di progetto che a livello tecnico.
La revisione congiunta è svolta tra gli stessi componenti del team (Peer Review) quando si revisioni un componente del prodotto oppure tra fornitore e committente quando si revisioni l'intero prodotto.
Audit Il processo di "Audit"  ha lo scopo di determinare in maniera indipendente la conformità di prodotti e processi selezionati ai requisiti, piani e accordi. L'attività di auditing è svolta da personale che non ha partecipato direttamente allo sviluppo dei prodotti, sei servizi o dei sistemi oggetto delle revisioni.
Problem Resolution Il processo di "Risoluzione dei problemi" ha lo scopo di assicurare che tutti i problemi individuati siano analizzati e risolti secondo andamenti (trend) riconosciuti.
Usability Il processo di "Usabilità" ha lo scopo di assicurare che siano prese in considerazione, ed  opportunamente indirizzate, le considerazioni espresse dalle parti interessate (stakeholders) relativamente alla facilità d'uso del prodotto finale da parte degli utenti cui è rivolto, al supporto che ne riceverà, alla formazione, all'incremento della produttività, alla qualità del lavoro, all'accettazione del prodotto stesso. 
Product Evaluation Il processo di "Valutazione del prodotto" ha lo scopo principale di assicurare, tramite esami e misure, che il prodotto soddisfi le necessità esplicite ed implicite degli utilizzatori del prodotto stesso.

I processi di supporto aiutano le attività di tutti gli altri processi dell'organizzazione a garantire il successo e la qualità del progetto.

Questi processi possono essere attivati da un processo primario o da un altro processo di supporto.

3. Processi organizzativi

I processi organizzativi definiti dalla norma ISO 12207 indirizzano le seguenti attività di gestionali:

Processes Activities
Management Il processo di "Gestione della documentazione" garantisce lo sviluppo e la manutenzione delle informazioni prodotte e registrate relativamente al prodotto software. 
Innfrastructure Il processo di "Gestione della configurazione" ha lo scopo di definire e mantenere l'integrità di tutti i componenti della configurazione (Configuration Items) e di renderli accessibili a chi ne ha diritto.
Improvement Il processo ha lo scopo di stabilire, valutare, misurare, controllare e migliorare il ciclo di vita del  software.
Human Resources Il processo ha lo scopo di fornire all'organizzazione risorse umane adeguate e di mantenere le loro competenze consistenti con le necessità del business.
Asset Management Il processo ha lo scopo di gestire gli elementi definiti come "asset" lungo l'intera loro vita.
Reuse Program Management Il processo ha lo scopo di pianificare, stabilire, gestire, controllare e monitorare il programma di riuso formulato dall'organizzazione e di utilizzare sistematicamente le opportunità di riuso identificate. 
Domain Engineering Il processo ha lo scopo principale di sviluppare e manutenere modelli, architetture e asset del dominio in cui opera il prodotto software sviluppato.

Tali processi eseguono funzioni a livello organizzativo aziendale, per supportare altri processi primari, di supporto o organizzativi.

I processi organizzativi aiutano nel definire, controllare e migliorare gli altri processi.

Per una descrizione completa e dettagliata della norma occorre fare riferimento ala norma stessa.

Miglioramento continuo

La norma fa proprio il ciclo di miglioramento dei processi basato sulla sequenza Plan-Do-Check-Act  (pianifica, esegui, controlla, attua eventuali modifiche).

L'AICQ-CI ha realizzato un apposito quaderno che tratta l'argomento e fornisce validi suggerimenti su come applicare la norma ISO 12207 nelle organizzazioni software.

"Quaderno N. 17. Settembre 2004. Modello dei processi ISO 9000 applicato in aziende di sviluppo software e fornitura di servizi IT. Aicq-ci"

News/Articoli/Libri

News

Collaudo e qualità del software

Professione IT oggi in Italia ...

 

Collaborazioni/Associazioni

Tesit Consulting

Tino Giannini

CPM Team Consulting

Felice Del Mauro

 

AICQ-ci

APCO

itSMF Italia

 

Indagine sull'utilizzo delle best practice

ISO/IEC 12207:2008

 

 

Ercole Colonese © 2005-2012 | Home | Mappa del sito | Pubblicazioni | Chi sono | Info |