Software processes are assessed to ensure their ability to control the cost, time and quality of software. Assessment is done to improve the software process followed by an organization.
Software Process Improvement (SPI) Cycle includes:
- Process measurement
- Process analysis
- Process change
Different approaches towards process assessment include
CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration)
CMM was developed by SEI (Software Engineering Institute) and evolved into CMMI later. It is an approach based on which an organization’s process maturity is determined.
CMM’s five maturity levels:
- Initial Level: Processes are not organized and the success of a project depends only on the competence of the individual working on it. May not be able to repeat past successes in future projects. The probability of exceeding the estimated cost and schedule is high.
- Repeatable Level: In this level, successes of the past could be repeated because the organization uses project management techniques to track cost and schedule. Management according to a documented plan helps in the improved process.
- Defined Level: Organization’s set of standard processes are defined and are slightly modified to incorporate each project demands. This provides consistency throughout the works of the organization.
- Managed Level: Management of processes using quantitative techniques improves performance. Processes are assessed through data collection and analysis.
- Optimizing Level: Processes are monitored and improved through feedback from current work. Innovative techniques are applied to cope with changing business objectives and the environment.
CMMI maturity levels include:
- Quantitatively Managed.
CMMI capability levels include:
- Level 0: Incomplete – Incomplete processes are processes that are not performed or partially performed.
- Level 1: Performed – Specific goals are satisfied by processes and yet certain objectives related to quality, cost and schedule are not met. Useful work can be done.
- Level 2: Managed – Cost, quality and schedule are managed and processes are monitored by management techniques.
- Level 3: Defined – It includes management and additionally follow the organization’s specified set of standard processes which are altered for each project.
- Level 4: Quantitatively Managed – Statistical and quantitative techniques are used for the management of processes.
- Level 5: Optimized – It focuses on continuous improvement of Quantitatively Managed process through innovations and nature of processes.
Standard CMMI Appraisal Method for Process Improvement ( SCAMPI)
It is a method used by Software Engineering Institute (SEI) for providing quality ratings with respect to Capability Maturity Model Integration (CMMI). Assessment includes five phases initiating, diagnosing, establishing, acting and learning. The appraisal process includes preparation, on-site activities, findings and ratings, final reporting etc.
CMM Based Appraisal for Internal Process Improvement (CBA IPI)
It is an SEI CMM(Capability Maturity Model) based assessment method that provides diagnostics, enables and encourages an organization to understand its maturity. It gives the organization an insight into its software development capability by assessing the strength and weakness of the current process.
This standard is one of the joint mission of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). They assist organizations in developing an objective evaluation of the effectiveness of a software process and related business management functions.
It consists of six levels as:
- Not performed.
- Performed informally.
- Planned and tracked.
- Well defined.
- Quantitatively controlled.
- Continuously improved.
ISO 9001:2000 for software
It is applied to organizations aiming to improve the overall quality of product, process and services. They evaluate the ability of an organization to consistently provide products that meet customer requirements. Here the main aim of the organization should be enhancing customer satisfaction.
It follows Plan Do Check Act (PDCA) cycle which includes:
- Planning by defining the processes and their needs required to develop a better-quality product.
- Doing necessary actions according to the plan.
- Checking whether the actions for ensuring quality according to requirements are fulfilled.
- Acting on activities that are used to improve processes in the organization.