ISO/IEC 12207 è uno standard dell'ISO per la gestione del ciclo di vita del software. Si propone di diventare lo standard di riferimento definendo tutte le attività svolte nel processo di sviluppo e mantenimento del software.
Lo standard ISO 12207 stabilisce un processo di ciclo di vita del software, compreso processi ed attività relative alle specifiche ed alla configurazione di un sistema. Ad ogni processo corrisponde un insieme di risultati (outcome): in totale ci sono 43 processi, 133 attività, 325 sottoattività e 236 risultati (la nuova ISO/IEC 12207:2008 definisce 43 sistemi e processi software).
Lo standard ha come obiettivo principale quello di fornire una struttura comune che permetta a clienti, fornitori, sviluppatori, tecnici, manager di usare gli stessi termini e lo stesso linguaggio per definire gli stessi processi. La struttura dello standard è stata concepita per essere flessibile e modulare in modo che sia adattabile alle necessità di chiunque lo utilizzi. Lo standard è basato su due principi fondamentali:
- Modularità significa definire processi con il minimo accoppiamento e la massima coesione.
- Responsabilità significa stabilire un responsabile per ogni processo.
L'insieme di processi, attività e compiti può essere adattato in base al tipo di progetto software su cui deve essere usato.
Esistono tre tipi di processi:
processi base, processi di supporto e processi di organizzazione.
Gli ultimi due tipi devono esistere in modo indipendente da come sono svolte le attività dell'organizzazione e del progetto. I processi base, invece, sono realizzati in base alla situazione.