ISO/IEC 15504, also called Software Process Improvement and Capability Determination (SPICE), is an international standard developed jointly by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) to provide organizations a means for improving their software development process and for measuring its capability or maturity. It can also be used to assess the process of vendors’ services, such as consulting, systems integration and outsourced software development.
ISO/IEC 15504 consists of two parts, namely ISO/IEC 15504-1 and ISO/IEC 15504-2. The first part defines the concepts, principles and models that are essential to process improvement and measurement. The models provide references for evaluating both process and product attributes, hence forming a basis for determining the quality of the process and products. Specifically the process model is used to determine six primary process-capability metrics related to planning, engineering and managing the development life-cycle. And the product model helps to identify quality attributes that are actually important to users versus those attributes that are proposed by developers and on-site process assessors.
The second part (ISO/IEC 15504-2) of the standard defines a set of practices and probes (called Capability Level Attributes) for assessing individual processes and process groups based on the ISO/IEC 15504-1 capability model. These probes, when conducted during the assessment of organizational processes, help to identify weaknesses and classifies the maturity of the process according to eight capability levels from 0 to 7.
The eight capability levels, as described in ISO/IEC 15504-1, are:
Level 0: Incomplete: There is no evidence of process performance.
Level 1: Performed: Process activities are performed.
Level 2: Managed: Process activities are managed.
Level 3: Established: Process activities are established.
Level 4: Predictable: Process performance is predictable.
Level 5: Optimizing: Process performance is improving.
Level 6: Defined: Process activities are managed and measured.
Level 7: Ultra-Performing: Process performance is optimized.
ISO/IEC 15504 plays an important role in software process improvement and assessment because it provides a standard by which process quality can be measured at a particular level of maturity. The standard provides a clear reference for assessing both process and product quality, and provides organizations with the necessary resources for determining their capability level. Also, by helping organizations understand their process maturity, it gives them direction and guidance in their process improvement efforts. Lastly, it provides an internationally recognizable standard by which process assessors can evaluate the quality of software processes.