ISO/IEC 12207
# ISO/IEC 12207

Ziel der 1995 veröffentlichten Norm ISO/IEC 12207 („Systems and software engineering - Software life cycle processes“) ist ein besseres Verständnis der Produktion von Software und der zugehörigen Serviceleistungen. Durch das verbesserte Verständnis sollten Verhandlungen und Verträge zwischen Kunden und Lieferanten von Projekten zur Entwicklung, zum Betrieb und zur Wartung von Softwaresystemen vereinfacht werden.

## Beschreibung

ISO/IEC 12207 stellt einen Rahmen für Prozesse im Lebenszyklus von Software (Software Life-Cycle Processes) dar. Er beschreibt auf hoher Ebene alle wichtigen Prozesse des Lebenszyklus von der Ideenfindung bis zur Stilllegung und ihre Beziehungen untereinander. Prozesse bestehen aus Aktivitäten und diese wiederum aus einzelnen Aufgaben. ISO/IEC 12207 definiert eine Prozessstruktur unter Verwendung einer allgemein akzeptierten Terminologie, sie legt sich nicht fest auf ein bestimmtes Lebenszyklusmodell oder eine bestimmte Entwicklungsmethode. Es werden keine Details bezüglich des „Wie“ bei der Durchführung der Aktivitäten und Aufgaben und auch keine Vorschriften bezüglich Namen, Formaten oder Inhalten von Dokumenten vorgegeben.
Zusätzlich beschreibt ISO/IEC 12207, wie die Norm auf eine bestimmte Organisation oder auf ein konkretes Projektvorhaben zugeschnitten werden kann.
2008 wurde eine neue Version der Norm verabschiedet. Die Zusammenfassung nach Prozessgebieten wurde neu definiert und der Bezug zur Software wird deutlicher. 2017 wurde die Version von 2008 abgelöst. Die Zusammenfassung nach Prozessgebieten wurde erneut überarbeitet.

## Prozesse nach ISO/IEC 12207:1995

Unterschieden werden folgende Prozesse:

### Primärprozesse

* Beschaffung (Aktivitäten des Beschaffers von Software und Dienstleistungen),
* Lieferung (Aktivitäten des Lieferers von Software und Dienstleistungen),
* Entwicklung (Aktivitäten des Softwareentwicklers),
* Betrieb (dazu zählen Aktivitäten wie Systemeinführung, -test und Benutzerunterstützung) und
* Wartung (Fehler- und Mängelbehebung, Durchsatzverbesserung, Anpassung an verändertes Umfeld, …).

### Unterstützende Prozesse

* Dokumentation
* Konfigurationsmanagement
* Qualitätssicherung
* formale Überprüfung der Prozesse (Verifizierung, „Wird das Produkt korrekt, also nach Vorgabe, entwickelt?“)
* inhaltliche Überprüfung (Validierung, „Wird das richtige Produkt entwickelt? Entspricht es den Erwartungen?“)
* Abstimmung zwischen Kunde und Lieferant (Joint Review)
* Audit und Problembehebung.

### Organisatorische Prozesse

Zu den organisatorischen Prozessen gehören Management, Infrastruktur (Aktivitäten zur Bereitstellung der notwendigen Infrastruktur, z. B. Hardware, Software, Standards, Werkzeuge), Optimierung (Messen, Überprüfen und Verbessern der Lebenszyklusprozesse) und Schulungsmaßnahmen.

## Prozesse nach ISO/IEC 12207:2008

In der Version 2008 wurden die Prozessgebiete vollständig neu sortiert. Die sieben Gebiete sind mehr als vorher speziell für die Software-Entwicklung definiert.
* Einigungsprozesse (Agreement Processes)
* Organisatorische Prozesse zur Projektunterstützung (Organizational Project-Enabling Processes)
* Projektbezogene Prozesse (Project Processes)
* Technische Prozesse (Technical Processes)
* Software Entwicklungsprozesse (Software Implementation Processes)
* Software Unterstützungsprozesse (Software Support Processes)
* Software Wiederverwendungsprozesse (Software Reuse Processes)

## Prozesse nach ISO/IEC/IEEE 12207:2017

Auch in der Version 2017 wurden die Prozessgebiete neu sortiert und überarbeitet. Die 4 Gebiete lauten:
* Einigungsprozesse (Agreement Processes)
* Organisatorische Prozesse zur Projektunterstützung (Organizational Project-Enabling Processes)
* Technische Managementprozesse (Technical Management Processes)
* Technische Prozesse (Technical Processes)