1. OWPL: A Gradual Approach for Software Process Improvement in SMEs
This approach is based on a three-stage software process improvement framework.
Stage 1: Micro-assessment. At this stage, a very simplified questionnaire called the micro-evaluation is used to collect information about the current software practices in small structures and to make people aware of the importance of software quality aspects.
Stage 2: OWPL evaluation. As micro-evaluation’s main goal is to give a first analysis, an in-depth analysis is achieved through this step. The OWPL evaluation covers 10 process areas and requires more than one person to be interviewed for each process. Each process is described by its goal along with its description and a list of practices that compose the process.
Stage 3: SPICE assessment. Bigger companies with medium/high quality level are eventually invited to undertake an ISO/IEC15504 or a CMMI evaluation if this appears appropriate.
2. Software Process Matrix (SPM) Model
This model helps the organization in finding the relative importance of software processes. For the high priority processes, the practices that need to be worked on are determined by Software Process Matrix (SPM). SPM is based on Quality Function Deployment (QFD). In QFD, the ‘voice of the customer’ is collected, and the relative importance of each customer requirement is measured. In the house of quality matrix, these requirements are used to identify design characteristics which have the greatest impact on customer requirements.
3. An Approach for Software Process Establishment in Micro and Small Companies (ASPE-MSC)
An Approach for Software Process Establishment in Micro and Small Companies (ASPE-MSC) is defined by integrating and adapting existing approaches to the characteristics of small software companies. The principal phases of the approach are:
• Planning. In the beginning, the process establishment is planned on a high level. Later on, during strategic analysis, the plan is revised, completed and adapted in accordance to the decisions made.
i. Phase 1, Diagnosis. The objective of this phase is to contextualize the organization and to obtain a high-level snapshot of the actual software process in place.
ii. Phase 2, Strategic analysis. The objective of this phase is to specify the scope and to prioritize candidate processes to be established based on the results of the diagnosis and in accordance with the organization’s business and improvement goals.
iii. Phase 3, Definition. The objective of this phase is to define the selected software process in the form of a process guide in order to support process performers.
iv. Phase 4, Implementation. First, the evaluation of the defined process is planned in parallel to their implementation. This includes the revision and/or definition of measures in order to monitor and determine the effectiveness and suitability of the process and whether the expected benefits are achieved.
• Monitoring & Control. The complete establishment of the process is monitored and controlled. Therefore, data is collected and analyzed by the process engineer and assistant. If required, corrective actions are initiated and the plan is updated.
• Post-mortem. Once a complete process establishment cycle is terminated, the process establishment approach is evaluated as a basis for continuous improvement. This is done by collecting and analyzing feedback from process performers, sponsors, and the process engineer and assistant in a feedback meeting or by questionnaires.
4. PRISMS: An Approach to Software Process Improvement for Small to Medium Enterprises
PRISMS is an action research project, with a team of three researchers from Leeds Metropolitan University, working alongside managers and developers in participating companies advising and assisting with the planning and implementation of software process improvement programmers, over a three-year period.
The key features of the process are:
• The existing informal process is examined, and if resources permit, an explicit model is created.
• In the PRISMS program, the business goals are defined earlier by management. These goals drive much of the subsequent activity, especially the selection and prioritization of key process areas for improvement and the selection of measurements.
• A consultation exercise is carried out, involving all members of development teams. A brainstorming session, and/or questionnaire based survey help the developer’s team to take ownership of the SPI program, and to be involved in the program from the earliest stage.
• A tailored version of the CMM assessment is carried out by members of the research team, primarily to help identify key process areas (KPAs) for improvement.
• Using these inputs, the KPAs for improvement are identified and prioritized. The main criteria here should be the extent to which the KPAs are likely to contribute to the identified business goals. One company has found a weighted selection approach of the type described by Martin to be useful. The process/practice matrix approach described by Richardson could also be used.
• Measurements are defined as an integral part of the SPI planning process. Managers are generally keen to have more precise ways of tracking key resource and quality indicators. The Goal Question Metric paradigm can be used to measure selected attributes based on the business goals defined for the SPI program.
• The SPI plan is periodically reviewed, and there is provision to collect feedback from stakeholders.
5. Improvement Framework Utilizing Light Weight Assessment and Improvement Planning (iFLAP)
iFlap may be used to evaluate a single process area or it can be scaled so that any or all process areas can be assessed 67. iFlap consists of three main steps:
Step 1: Selection. It is important to select the right people as participants in the study from the organization so that assessment and improvement phases reflect the opinion of the entire staff.
Step 2: Assessment. In this step, improvement issues are gathered from the organization through interviews with practitioners. The improvement issues gathered are triangulated against project and process documentation for confirmation. An assessment consists of two main parts: a project study, scrutinizing one or more projects, and a line study, that examines the relevant parts of the organization that are not part of a particular project.
Step 3: Improvement Planning. Firstly, selection of company’s representatives, who are going to take part in this step, is done. Practitioners who took part in the assessment step can be retained for this step also but roles not directly associated with system development may be removed. As the risks and cost of implementing all improvements at once are too high it is important that improvement effort focuses on a limited number of issues at a time taking evolutionary steps. So, improvement issues are prioritized based on factors such as business goals, practical restrictions and cost of implementation etc. Lastly, packaging of improvement issues is done in order to guide planning and implementation of changes in the process.
MESOPYME has been defined, taking into account a generic SPI model defined by ISPI in four stages—whose objectives are similar to those of the IDEAL model from the SEI. The key features of MESOPYME are as follows:
Stage 1: Commitment to improvement. Its objective is to obtain the support of senior management to carry out the improvement project.
Stage 2: Software process assessment. Its objective is to obtain strengths and weaknesses of the process assessed with respect to a software process model— CMM (Capability Maturity Model). From this assessment, processes (usually 1 to 3) to be improved are selected.
Stage 3: Improvement solution. Its objective is to provide the needed infrastructure to carry out improvement (in selected processes), and to create the plan to follow in order to define and implement improvement in these selected processes. The improvement solution stage is performed through the application of a generic set of components that we have called an Action Package. An Action Package is a general solution to a particular software process area that should be customized to a company, taking into account its business goals and assessment results. An action package is implemented in some selected pilot projects.
Stage 4: Institutionalize. Finally, improvement must be institutionalized