SPICE im ISO-Dschungel
Ich muss zugeben, ich hatte es nie wirklich durchdrungen, den Zusammenhang von SPICE und diverser ISO-Normen und es macht Sinn, sich das mal kurz zu vergegenwärtigen.
ISO 15504 beschreibt Anforderungen an Assessments
Da gibt es also eine ISO 15504, die beschreibt, wie man Prozesse bewerten kann; man spricht in der Regel auch im Deutschen von Assessments. Diese ISO 15504 ist SPICE, und SPICE steht für Software Process Improvement and Capability Determination. Etwas unglücklich beim letzten Wort den zweiten Buchstaben für das Akronym zu verwenden, aber SPICD spricht sich einfach nicht so gut :-)
ISO 15504 unterteilt sich in zehn Teile
Die Norm unterteilt sich inwischen in zehn Teile. Davon beschreibt Teil 2 ganz allgemein die Anforderungen, die an die Durchführung eines Assessments gestellt werden. Teil 3 macht es etwas konkreter.
Grundsätzlich geht SPICE davon aus, dass in einem Process Reference Model (PRM) die in einem Unternehmen angewandten Prozesse beschrieben sind. Darauf aufbauend wird dann ein Process Assessment Model (PAM) definiert, mit dem man das PRM bewerten kann. Das PAM muss dabei den Anforderungen aus Teil 2 erfüllen. Zum Bewerten der Prozesse definiert es Indikatoren, wie etwas erwartete Praktiken und Arbeitsergebnisse.
Die Teile 5, 6, und 8 definieren Beispiel-Assessment-Methoden
Damit das nicht alles so unglaublich generisch bleibt, beschreiben die informativen Teile 5, 6 und 8 der Norm nun Beispiel-PAMs, die auf Basis anderer geltender Normen entstanden sind (siehe Abbildung). Diese Teile lassen sich also für Assessments direkt als Bewertungsmethoden verwenden. Wenn also irgendwo ein SPICE-Assessment durchgeführt wird, wird man in der Regel etwa nach ISO 15504 Teil 5 bewertet. Dieser Teil beschreibt erwartete Outcomes sowie Generic Practices und Base Practices für jeden Prozess, der in der ISO 12207 beschrieben ist.
Die ISO 12207 beschreibt sinnvolle Prozesse in der System- und Software-Entwicklung, jeweils mit Purpose und Outcomes, sowie einzelnen Tasks, die in Activities gruppiert sind. Abschließend hier nochmal ein Überblick der in ISO 12207 definierten Prozesse.
ISO 12207 Prozesse des System-Lebenszyklus‘
- 6.1 Agreement Processes
- 6.1.1 Acquisition
- 6.1.2 Supply
- 6.2 Organizational Project-Enabling Processes
- 6.2.1 Life Cycle Model Management
- 6.2.2 Infrastructure Management
- 6.2.3 Project Portfolio
- 6.2.4 Human Resource Management
- 6.2.5 Quality Management
- 6.3 Project Processes
- 6.3.1 Project Planning
- 6.3.2 Project Assessment and Control
- 6.3.3 Decision Management
- 6.3.4 Risk Management
- 6.3.5 Configuration Management
- 6.3.6 Information Management
- 6.3.7 Measurement
- 6.4 Technical Processes
- 6.4.1 Stakeholder Requirements Definition
- 6.4.2 System Requirements Analysis
- 6.4.3 System Architectural Design
- 6.4.4 Implementation
- 6.4.5 System Integration
- 6.4.6 System Qualification Testing
- 6.4.7 Software Installation
- 6.4.8 Software Acceptance Support
- 6.4.9 Software Operation
- 6.4.10 Software Maintanance
- 6.4.11 Software Disposal
ISO 12207 Software-spezifische Prozesse
- 7.1 Software Implementation Processes
- 7.1.1 Software Implementation
- 7.1.2 Software Requirements Analysis
- 7.1.3 Software Architectural Design
- 7.1.4 Software Detailed Design
- 7.1.5 Software Construction
- 7.1.6 Software Integration
- 7.1.7 Software Qualification Testing
- 7.2 Software Support Processes
- 7.2.1 Software Documentation Management
- 7.2.2 Software Configuration Management
- 7.2.3 Software Quality Assurance
- 7.2.4 Software Verification
- 7.2.5 Software Validation
- 7.2.6 Software Review
- 7.2.7 Software Audit
- 7.3 Software Reuse Processes
- 7.3.1 Domain Engineering
- 7.3.2 Reuse Asset Management
- 7.3.3 Reuse Program Management
ISO 12207 zu CMMI Mapping
- Software Operation Process
- Software Maintanance Process
- Software Disposal Process
- alle Software Reuse Processes