Software Process Improvement and Assessment

In order to remain competitive, organizations have to be prepared to produce quality software products and services that meet requirements on schedule and within budget. In order to improve the quality of a software product and project performance, organizations are implementing software process improvement initiatives.

Software Process Improvement (SPI) are actions taken to change the processes of an organization so that they achieve more effectively their business goals. Typically, software process and assessment are guided by a maturity level or a process capability profile based on capability/maturity model(s).

Software Process Capability/Maturity Models (SPCMMs) are models describing best practices for software life cycle processes, based on good engineering and process management principles, consisting of a set of process attributes comprising capability/maturity aspects, suitable for the purpose of assessing and/or improving processes. These models are used to guide process assessment and improvement by determining the current situation of an object, and based on this to determine and prioritize improvement actions and to monitor and control the impact of these improvement actions.

Various capability/maturity models have been developed by the software engineering community and their use for software process improvement and assessment is well established in practice. Yet, as generic models intend to cover a wide range of diverse types of software products and services, processes, technologies, etc., we can observe a current trend to the development of customizations of those generic process models for different domains, applications or techniques.

How to tailor SPCMMs?

Examples of tailored SPCMMs

Software process assessment in small software organizations