SPICE (Software Process Improvement and Capability Determination) in software engineering
CHAPTER 1: INTRODUCTION TO SPICE
Software is the set of instructions within the sort of programs to control the PC system and to process the hardware components. To produce a software product the set of activities is employed. This set is named a software process.
There are four basic key process activities:
1. Specifications:
In this process, software is defined and detailed description of a software system to be developed with its functional and non-functional requirements.
2. Development:
In this process, designing, programming, documenting, testing, and bug fixing is completed.
3. Validation:
In this process, evaluation software product is completed to make sure that the software meets the business requirements as well as the end users needs.
4. Evolution:
It is a process of developing software initially, then timely updating it according to customer or market requirements.
1. 1 INTRODUCTION
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
SPICE (Software Process Improvement and Capability Determination) is an international framework for assessment of software processes developed jointly by the ISO (International Organization for Standardization) and the IEC (International Electrotechnical Commission). SPICE is laid out in ISO/IEC 15504. It’s a group of technical standards documents for the pc software development process and related business management functions.
The process is assessed to guage methods, tools, and practices, which are wont to develop and test the software. The aim of process assessment is to spot the areas for improvement and suggest an idea for creating that improvement. The main focus areas of process assessment are listed below
• Obtaining guidance for enhancing software development and test processes
• Obtaining an independent and impartial review of the process
• Obtaining a baseline (defined as a group of software components and documents that are formerly reviewed and accepted; that is the idea for further development) for improving quality and productivity of processes.
The functions of SPICE (ISO/IEC 15504) are listed below
• To develop process-rating profiles rather than pass or fail criteria
• To consider the environment during which the assessed process operates
• To facilitate self assessment
- To ensure suitability for all applications and all sizes of organizations.
1.2 HISTORY
A working party was formed in 1993 to draft the international standard and used the acronym SPICE. SPICE initially stood for Software Process Improvement and Capability Evaluation, but in consideration of French concerns over the meaning of evaluation, SPICE has now been renamed Software Process Improvement and Capability Determination. SPICE continues to be used for the user group of the standard, and therefore the title for the annual conference.
The initial versions of the standard focused exclusively on software development processes. This was expanded to cover all related processes during a software business, for instance project management, configuration management, quality assurance, and so on. The list of processes covered grew to cover six business areas: organizational, management, engineering, acquisition supply, support, and operations.
1.3 WHY AN INTERNATIONAL STANDARD IS NEEDED?
To improve quality and productivity, management must somehow measure the method utilized in development. Process assessment is often a robust and effective driver for process improvement. An international standard will provide the subsequent benefits to software industry:
• Software suppliers will undergo only one process assessment scheme (presently numerous schemes are used).
• Software development organizations will have a tool to initiate and sustain a continual process improvement.
• Program managers will have a way to make sure that their software development is aligned with, and supports, the business needs of the organization.
Practically it implies that companies can get far better situation within the competitive world-wide markets once they use internationally standardized software process assessment framework. Companies participating the SPICE development make sure that they’re at the forefront of this technology when it’ll reach the international standard.
1.4 OVERVIEW
ISO/IEC 15504 is the results of efforts of SPICE project. Initially, SPICE had 9 parts.
1. Part 1-Concepts and introductory guide
2. Part 2-A model for process management
3. Part 3-Rating process
4. Part 4-Guide to conducting assessment
5. Part 5-Construction, selection and use of assessment instruments and tools
6. Part 6-Qualification and training of assessors
7. Part 7-Guide to be used in process improvement
8. Part 8-Guide to be used in determining supplier process capability
9. Part 9-Vocabulary
However, in 2004, after a significant revision, to the draft standard, the 9 parts were reduced to five. Later on, ISO/IEC 15504 was extended further to 7 parts. (Explained later)
1. Part 1- Concepts and vocabulary
2. Part 2-Performing an assessment
3. Part 3- Guidance on performing an assessment
4. Part 4- Guidance on use for process improvement and process capability determination
5. Part 5-An exemplar process assessment model
6. Part 6- An exemplar system life cycle process assessment model
7. Part 7- Assessment of organizational maturity
Process is examined by process assessment that results in process improvement and capability determination. Process improvement identifies changes to process. Capability determination motivates process improvement and identifies capability and risks of process.
Software process assessment check out whether the software processes are effective and efficient in accomplishing the goals. This is often determined by the potential of selected software processes. The potential of a process determines whether a process with some variations is capable of meeting user’s requirements. Additionally, it measures the extent to which the software process meets the user’s requirements. Process assessment is beneficial to the organization because it helps in improving the prevailing processes. Additionally, it determines the strengths, weaknesses and the risks involved within the processes.
The process assessment results in process capability determination and process improvement. Process capability determination is an organized assessment, which analyzes the software processes in an organization. Additionally, process capability determination identifies the capabilities of a process and therefore the risks involved in it. The process improvement identifies the changes to be made within the software processes. The software capability determination motivates the organization to implement software process improvement.
Process is examined by process assessment that results in process improvement and capability determination. Process improvement identifies changes to process. Capability determination motivates process improvement and identifies capability and risks of process.
CHAPTER 2: REFERENCE MODEL
2.1 INTRODUCTION
ISO/IEC 15504 contains a reference model. The two dimensional process reference model (PRM) defines a process dimension and a capability dimension.
· Process dimension — contains processes in groups
· Process Capability dimension — allows the potential of every process to be measured independently
-> Process dimension –
o characterized by set of purpose statements which describe in measurable terms what must be achieved so as to achieve the defined purpose of the process
-> Process capability dimension –
o characterizes the extent of capability that an organization unit has attained for a specific process,
o May be employed by the organization as a target to be attained
o Represent measurable characteristics necessary to manage a process and improve its capability to perform
ISO/IEC 15504 is standardized around a reference model that is divided into two dimensions: a process dimension and a capability dimension. Processes are divided into 5 categories: customer-supplier, engineering, supporting, management and organization. Processes also are determined on capability levels numbered from 0 to 5, where 0 describes an incomplete process, 1 a performed process, and so on, with 5 equating to an optimizing process. Process capabilities also can take process attributes, numbered c.x, where c is that the capability level (1 for performed process, 2 for managed process and so forth), and x is a number related to a particular related attribute, so that 2.1 represents performance management, while 2.2 represents work product management.
Spice develops a maturity model for process improvement. This model is known as SPICE reference model. It is applicable for all processes and comprises following six levels.
1. Not performed: At this level, the processes are unable to accomplish the specified outcomes. Thus, no identifiable products are created.
2. Performed informally: At this level, the implemented process attains the defined outcomes. It is not planned and tracked; rather it depends on personal knowledge and identifiable products.
3. Planned and tracked: At this level, the defined process delivers products consistent with quality requirements within a specified time. The processes and products are verified in line with the procedures, standards, and requirements.
4. Well-defined: At this level, the processes supported software engineering principles which are efficient of achieving defined outcomes are used.
5. Quantitatively controlled: At this level, the performance measures, prediction capability and objective management are evaluated quantitatively. Additionally, existing processes perform consistently within the defined limits to accomplish the specified outputs.
6. Continuously improved: At this level, the prevailing processes adapt to satisfy future business goals. For continuous improvement, various sorts of statistical methods are used
ISO 16604 is linked to ISO 9000:2000.
2.1.1 Quality management system
ISO (International Organization for Standardization) established a standard referred to as ISO 9001:2000 to work out the wants of quality management systems.
ISO 9001:2000 is a non-industry specific certification that indicates that provides guidelines and requirements on the way to implement and maintain a top quality management system. The standard lists clauses associated with topics like documentation and personnel dedication required to sustain a licensed quality management system.
A quality management system refers to the activities within an organization, which satisfies the quality related expectations of consumers. Organizations make sure that they need a top quality management system by demonstrating their conformance to the ISO 9001:2000 standard. The main advantage of this standard is that it achieves a far better understanding and consistency of all quality practices throughout the organization. Additionally, it strengthens the customer’s confidence within the product. This standard follows a plan-do-check-act (PDCA) cycle, which incorporates a collection of activities that are listed below.
1. Plan: Determines the processes and resources which are required to develop a top quality product in keeping with the user’s satisfaction.
2. Do: Performs activities in keeping with the plan to create the specified product.
3. Check: Measures whether the activities for establishing quality management consistent with the necessities are accomplished. Additionally, it monitors the processes and takes corrective actions to enhance them.
4. Act: Initiates activities which constantly improve processes within the organization.
2.2 PROCESSES
The process dimension determines processes divided into the five process categories of:
1. customer-supplier- processes that directly impact the customer, support development and transition of the software to the customer, and supply for its correct operation and use
2. engineering- processes that directly specify, implement, or manage a system and software product and its user documentation
3. supporting- processes which create the project, and co-ordinate and manage its resources to supply a product or provide a service which satisfies the customer
4. management- processes which enable and support the performance of the other processes on a project
5. organization- processes which establish the business goals of the organization and develop process, product, and resource assets which can help the organization achieve its business goals
With new parts being issued, the process categories will expand, particularly for IT service process categories and enterprise process categories.
2.2.1 Capability levels and process attributes
For each process, ISO/IEC 15504 defines a capability level on the subsequent scale.
Capability levels provide two benefits:
1. Acknowledging dependencies among the practices of a process.
2. Help an organization to spot which improvements it would perform first.
Level 0
Incomplete process
Level 1
Performed process- Base practices of the process are performed unplanned and poorly controlled. Work products of the process are identifiable
Level 2
Managed process- Base practices of the process are planned and followed. Products are conformed to standards and requirements.
Level 3
Established process- the process is managed and performed employing a defined process. Projects are employing a tailored version of the quality process
Level 4
Predictable process- the process is performed consistently in practice with defined control limits. The quality of labor products is quantitatively known.
Level 5
Optimizing process- the process performance is optimized to fulfill current and future business needs.
The capability of processes is measured adopting process attributes. The international standard defines nine process attributes:
• 1.1 Process performance
• 2.1 Performance management
• 2.2 Work product management
• 3.1 Process definition
• 3.2 Process deployment
• 4.1 Process measurement
• 4.2 Process control
• 5.1 Process innovation
• 5.2 Process optimization
Each process attribute consists of 1 or more generic practices, which are further elaborated into practice indicators to assist assessment performance.
2.2.2 Rating scale of process attribute
Each process attribute (PA) is assessed on a four-point (N-P-L-F) rating scale:
• Not achieved (0–15%)
There are not any or only very limited indications of PA fulfillment.
• Partially achieved (>15–50%)
There are some indicators that the PA is implemented to the measured extent. In some aspects the process remains unpredictable, though.
• Largely achieved (>50–85%)
There is evidence that the PA is implemented to the measured extend in an exceedingly useful and systematic way. Process performance might still show some weakness.
• Fully achieved (>85–100%)
There is evidence for a whole and systematic PA execution to the measured extent. Process performance doesn’t show any significant shortcomings because of analyzed processes
The rating relies upon evidence collected against the practice indicators, which demonstrate fulfillment of the process attribute.
CHAPTER 3: ASSESSMENTS
Essentially, ISO/IEC 15504 constitutes a guide to operating an assessment for software development projects. It includes an outline of this assessment process, a model for performing an assessment, an outline of tools that may be used as a part of the assessment process and a discussion of things that contribute to the success of such an assessment.
ISO/IEC 15504 provides a guide for operating an assessment.
This includes:
• the assessment process
• the model for the assessment
• any tools utilized in the assessment
3.1 THE GOALS OF PROCESS ASSESSMENT AND IMPROVEMENT
The SPICE standard seeks to describe the well-liked order during which activities should occur in a software development project, with particular emphasis on an organization’s management and process definition structures. The ultimate target of ISO/IEC 15504 is to obtain process improvement within a technology organization, supported rigorous definition of objectives and programs to assist attain them.
The goal of an improvement is to alter an organization’s processes in order that they achieve a better ability to fulfill its business goals.
Assessments deliver the input for any improvement by detecting strength and weaknesses within the organization processes.
3.2 ASSESSMENT PROCESS
Part 2 and part 3 of ISO/IEC 15504 provides guidelines for performing assessment.
One of the necessities is to use a conformant assessment method for the assessment process. the actual method isn’t laid out in the standard although the standard places requirements on the method, method developers and assessors using the method. The standard provides general guidance to assessors and this must be build up by undergoing formal training and detailed guidance during initial assessments.
3.3 ASSESSMENT MODEL
The process assessment model (PAM) is the precise model used for an actual assessment. that is often an amplification of the process reference model (PRM) provided by the process lifecycle standards.
The following steps show the generalized steps of process assessment.
• assessment sponsor
• Assessment team and assessor are selected
• Assessment is planned (resources put aside, targets / goals identified etc.)
• pre-assessment briefing
• start data collection
• start data validation
• process rating supporting guidelines
• reporting the assessment result
An assessor can gather data on a process by various means, including interviews with persons performing the process, collecting documents and quality records, and collecting statistical process data. The assessor validates this data to make sure it’s accurate and completely covers the assessment scope. The assessor assesses this data (using his expert judgment) against a process’s base practices and therefore the capability dimension’s generic practices within the process rating step.
Process rating requires some exercising of expert judgment on the part of the assessor and this is often the rationale that there are requirements on assessor qualifications and competency.
The process rating is then presented as a preliminary finding to the sponsor (and preferably also to the persons assessed) to make sure that they agree that the assessment is accurate. In a few cases, there could also be feedback requiring further assessment before a final process rating is formed.
• Assessment input
o Purpose
o Scope
o Constraints
o Qualified assessor
o Extended process definition
• Assessment model
o Process purpose
o Practices
• Assessment instrument
o Process indicators
o Process management indicators
• Assessment output
o Process capability level ratings
o Assessment record
CHAPTER 4: STRUCTURE OF THE STANDARAD
At the instant, ISO/IEC 15504 consists of seven parts. Another part, part eight, is currently under development. These parts are stated as under.
Part 1: ISO/IEC 15504–1:2004 (Concepts and vocabulary)
This part is that the most vital a part of the quality because it defines the terms, twin contexts of process improvement and process capability determination and therefore the concepts of process assessment.
Process is examined by process assessment that results in process improvement and capability determination. Process improvement identifies changes to process. Capability determination motivates process improvement and identifies capability and risks of process.
There are different benefits from using SPICE in an organization. Most vital are listed below:
For acquirers:
• An ability to work out the present and potential capability of a supplier’s software processes
For suppliers:
• An ability to work out the present and potential capability of their own software processes
• A ability to describe areas and priorities for software process improvement
• A framework that describes a road map for software process improvement
For assessors:
• A framework that describes all aspects of conducting assessments.
SPICE is often utilized in various contexts. Before using SPICE, the organization must first define the key determinant of why SPICE is required . There are three choices:
• To understand the software process used
• To support process improvement
• To support process capability determination
Part 2: ISO/IEC 15504–2:2003 (Performing an assessment)
The actual requirements for performing process assessment are described during this part. These requirements should be used as a basis to be used in process improvement and capability determination.
The process improvement requirements in ISO/IEC 15504–2:2003 helps to:
• facilitate self-assessment;
• provide a basis to be used in process improvement and capability determination;
• produces a process rating;
• specialize in the power of the method to realize its purpose;
• be applicable across all application domains and distinct sizes of organizations
• Provide an objective benchmark between organizations.
The assessment contains eight stages. The stages are:
1. Assessment input review
2. Process instance selection
3. Preparations
4. Information collection and verification
5. Determination of actual ratings
6. Determination of derived ratings
7. Rating validation
8. Presenting the assessment output
Part 3: ISO/IEC 15504–3:2004 (Guidance on performing an assessment)
This part gives detailed steps regarding the way to meet the minimum requirements for performing an assessment presented in ISO/IEC 15504–2:2003.
This guidance, utilized in software assessment for process improvement, covers the following:
• Invoking a software process assessment
• Using the produces of a software process assessment
• Measuring software process effectiveness and improvement effectiveness
• Identifying improvement actions aligned to business goals
• Using the method model in document 2 as a route map for improvement
• Cultural issues within the context of software process improvement
• handling with management issues for software process improvement
Part 4: ISO/IEC 15504–4:2004 (Guidance on use for process improvement and process capability determination)
ISO/IEC 15504–4:2004 gives directions regarding the efficient utilization of conformant process assessment within a process improvement or process capability determination project.
This process improvement guide includes the following:
• An overview of process improvement- the factors which drive software process improvement and general principles which underpin it
• A methodology for process improvement- an eight step model for improving software processes within endless improvement cycle
• Cultural issues- aspects of organizational culture that’s critical for successful process improvement
• Management- software process improvement from a management perspective including an overall framework for process measurement
Part 5: ISO/IEC 15504–5:2006(An exemplar process assessment model)
Guidance is provided during this part on the character and structure of process assessment models (PAM), and on the objective of process performance and capability indicators.
The process assessment model (PAM) is the precise model used for an actual assessment. this is often an amplification of the process reference model (PRM) provided by the process lifecycle standards.
Part 6: ISO/IEC 15504–6:2008 (An exemplar system life cycle process assessment model)
Based on the need PAM of system life cycle processes in ISO/IEC 15504–2, exemplar guidance is provided during this part. This part also describes the general structure of the PAM and therefore the capability dimension from ISO/IEC 15288 and ISO/IEC 15504–2 respectively.
Apart from this, this part also provides detailed descriptions of labor products and steps for outlining additional assessment indicators.
Part 7: ISO/IEC TR 15504–7:2008(Assessment of organizational maturity)
Organizational maturity relates to the degree the organization implements processes, so as to realize its business goals, within an outlined scope. ISO/IEC TR 15504–7:2008 describes the conditions for the assessment of organizational maturity and provides a framework which helps to conduct assessment of organizational maturity.
CONCLUSION
This paper introduced the theory of SPICE, Software Process Improvement and Capability Determination. SPICE is a major international initiative to support the evolution of an international standard for software process assessment. It contains seven separated documents, which is used for process improvement and process capability determination. This paper discussed those documents, their purpose and therefore the most vital contents related to SPICE.
REFERENCES
https://en.wikipedia.org/wiki/ISO/IEC_15504#cite_note-8
https://www.cs.helsinki.fi/u/paakki/Pyhajarvi.pdf
http://ecomputernotes.com/software-engineering/software-process-assessment
https://www.slideshare.net/oanafeidi/spice-8000999/3
Books
Software Engineering — Roger S. Pressman
Software Engineering — Ian Sommerville