Based on Size / Turnover

Abstract

Based Size Turnover

International process models and standards can be used in small organisations. However, application of these models requires attention in several aspects including use of resources, improvement priorities and targeted capability levels. This paper presents a framework for small organisations to be used in setting SPI priorities, conducting assessments and planning process improvement activities. The goal is to assist small software producers to rapidly start their SPI programmes. The framework has already been used with several companies.

Some widely known process models for software development are SPICE by ISO and CMMI by SEI. SPICE defines an 8-step process improvement framework and SEI has developed a model called IDEAL. Comprehensive models and standards are usually too complicated and laborious to be used as such in organisations with 10 or 20 employees. Models and standards assume process effectiveness metrics, which are difficult to measure in small organisations. Typically small companies' resources for SPI are part-time project managers instead of dedicated process teams. An investment in SPI has to pay back in months.

Organisations' needs and priorities regarding SPI are obtained by interviewing the management of the companies and by performing a quick process assessment in a summary fashion. The scope and sequence of process assessments is derived from the priorities. Process specific assessments provide detailed improvement ideas. The assessment process and its work products are tailored according to the needs of small companies. SPI plan describes the agreed actions to accomplish improvements of the selected processes. A short-term target is set for the improvements. The plan also defines how we can verify the improvement using capability metrics. Essential issues in the plan include training needs, roles and responsibilities, and control.

Keywords: software process improvement, process assessment

Software Process Improvement in Small & Medium Sized Companies in ASIAN Countries

Introduction

Software process improvement (SPI) in small enterprises or business units requires special attention when applying models and standards, which usually have been designed from the viewpoint of large organisations. Today the two publicly available, comprehensive models for software processes and process improvement are the Software Engineering Institute's Capability Maturity Model for Software (SW-CMM) and the International Standards Organisation's ISO/IEC 15504 Technical Report - Software Process Assessment (SPICE). Both models contain guidance for continuous software process improvement and have stepwise models to develop SPI programmes.

In the beginning of the SPI effort the maturity of small organisations is low. E.g. the strategies of the company might not be clearly stated. This makes it difficult to follow the standard approaches. In a project that helps small and medium sized enterprises in the software business to develop their operations a need arose to tailor the SPI programme planning. This study presents the tailored approach in a form of a SPI Initiation framework. Emphasis is on the step-by-step description of how we as external advisers have assisted eight small software organisations to start up their SPI activities.

The SPI Initiation framework covers the process improvement start-up from the examination of an organisations needs to the development and support of the SPI programme plan. The framework consists of three steps. First, the organisation needs to understand the possibilities of SPI in achieving its business goals. Secondly, software processes are assessed in a reliable manner. And thirdly, the SPI activities need to be planned and supported.

In practice, all the companies were assessed using BootCheck and an introduction to process thinking was provided. This helped to set the SPI priorities in sense of process areas and processes to be developed first. Next the scope of their first SPICE assessment was planned and the assessment was performed. Each of the participating companies initiated planning of their SPI activities.

In the first chapter this paper describes two well-known models for SPI and the environment, which originated the need to tailor these models. Chapter 2 presents the SPI Initiation framework in detail with activities related to each of the steps. Chapter 3 highlights the experiences in the use of the framework. The conclusion exposes the future work.

Background

Models for Software Process Improvement

SPICE by ISO [2] and CMMI by SEI [6] are today the best-known process models for software development. Both models also include supportive material for software process improvement (SPI). SPICE defines an 8-step process improvement framework and SEI has developed a model called IDEAL.

SPICE - Software Process Improvement and Capability Determination

SPICE is a so-called continuous model. Processes and their capabilities are in separate dimensions, which means that each process can be separately assessed and its capability determined. The process dimension of SPICE defines 40 processes and groups them into five process categories. Some of the processes are components of other processes and a process may be associated with other processes. The capability dimension consists of six capability levels: Incomplete, Performed, Managed, Established, Predictable and Optimizing. The capability levels have process attributes.

The SPICE model does not explicitly define the order in which processes should be improved. However, an analysis discloses certain bindings between the processes. For example the requirements for the Development process may be provided by the operation of the Acquisition process or the Requirements elicitation process. A process may also support the performance of the process attributes; e.g. Project management process supports the performance of the Level 2 Performance management attribute. [7]

The associations between processes and capability levels can be obtained from the SPICE Database [5]. Making a query into the SPICE Database provided the data in table 1.1: Which of the processes support the achievement of capability levels 2 and 3?

Capability level Id Supporting process
Level 2, Managed
SUP.1 Documentation
SUP.2 Configuration management
SUP.3 Quality assurance
SUP.4 Verification
SUP.6 Joint review
SUP.7 Audit
SUP.8 Problem resolution
MAN.1 Management
MAN.2 Project management
MAN.4 Risk management
Level 3, Established
ORG.2.1 Process establishment
ORG.3 Human resource management
ORG.4 Infrastructure
Table 1.1. Processes supporting achievement of a capability level

The SPICE Part 7 [4] presents a continuous process improvement model, which consists of eight steps, and provides guidelines for software process improvement. The steps are listed in the following table (table 1.2):

Step Description

  1. Examine the organization's needs and business goals
  2. Initiate process improvement
  3. Prepare for and conduct a process assessment
  4. Analyse assessment output and derive action plan
  5. Implement improvements
  6. Confirm improvements
  7. Sustain improvement gains
  8. Monitor performance
Table 1.2. Continuous SPI steps in SPICE

The flexible structure of SPICE makes it adaptable to even the smaller organisations - the improvement activities can be planned according to organisation's priorities and resources.

CMMI - Capability Maturity Model for Software, Version 1.1

The CMMI has five capability levels: Initial, Repeatable, Defined, Managed and Optimizing. The CMMI is a so-called staged model i.e. each capability level consists of a set of Key Process Areas (KPAs). In this way the CMMI also defines the order in which processes should be improved. An organisation starting from the initial level without systematic practices first has to consider the level 2 KPAs and then proceed to level 3 and so on. Level 2 consists of processes related to project management. The focus of level 3 is in engineering processes and organisational support. Corresponding key process areas are listed in table 1.3. The CMMI can be used as a process model and a guide for SPI programs even in small organisations.

Level Key Process Areas
Level 2, Repeatable
Requirements Management
Software Project Planning
Software Project Tracking & Oversight
Software Subcontract Management
Software Quality Assurance
Software Configuration Management
Level 3, Defined
Organization Process Focus
Organization Process Definition
Training Program
Integrated Software Management
Software Product Engineering
Intergroup Coordination
Peer Reviews
Table 1.3. Software-CMM levels 2 and 3 KPAs

The IDEAL model was developed to define the activities needed in a software process improvement programme and to help the organisations in the change management needed to implement the CMMI processes. The model is intended to support ongoing improvement work i.e. the five steps are repeated in a cycle. The following table (table 1.4) summarises the IDEAL stages and their purpose [9]:

Acronym Stage Main purpose
I Initiating Starting the improvement programme
D Diagnosing Assessing the current practice
E Establishing Setting the implementation strategy and action plans for the improvement programme
A Acting Executing the plans and recommended improvements
L Leveraging Analysing the lessons learned and the business results of the improvement effort, and revising the approach
Table 1.4. Purpose of IDEAL stages

The IDEAL model is appropriate in situations where an organisation has a clear vision and defined business goals and decisions can be implemented top-down.

Environment of the study

SataSPIN Project

A project to establish a software process improvement network (SPIN) in the Satakunta region in Western Finland was started in August 1998. The project is called SataSPIN. The core of the project is to help small and medium sized enterprises (SMEs) in the software business to develop their operations using international software process models. In the first phase of the project eight small software organisations are participating to improve their software processes. The project uses mainly ISO/IEC 15504 TR (SPICE) as the software process assessment and improvement framework.

The project provides the participating companies with training and consultation on subjects related to software processes. An essential part of the consultation activity is the process assessments. The companies can get assistance also in the planning and the implementation of improvements. Training activities within the project are targeted to support the improvement of software processes and to enhance the competencies of personnel. All the activities are tailored separately for each company to ensure flexibility in participation and alignment with business goals.

Small Organisations

Small software companies are usually very flexible, continuously, and often even spontaneously changing organisations. Typically small companies' resources for SPI are part-time project managers instead of dedicated process teams. To arouse the interest of the small company management an investment in SPI has to pay back in months.

In this study "a small company" means any software-producing organisation with less than 50 employees. Organisations can be e.g. independent enterprises, separate business units of larger enterprises or IT departments providing software as a part of the main business.

Typical for a small software company is that they are:

  • Flexible and fast to adopt new cultures
  • Highly concentrated to their main business i.e. they have only a few products
  • Lean organisations (some even without any administrative staff)
  • Extensively customer-oriented
  • Undertaking small projects (typically 6-18 person months)
  • Networked with other small companies
  • Dependant on skilful individuals
  • Overloaded with work but enthusiastic
  • With limited resources for business development or process improvement

The most common starting point for SPI in a small company is that they have realised the need for process improvement, and have understanding and experience of good practices. On the other hand they do not have an overall view of the company situation and do not know any process models. Some companies may have started to implement a quality system and through it they have analysed the processes, but nevertheless do not know how to improve processes effectively. [8]

SPI Initiation Framework

Comprehensive models and standards can be too complicated and laborious to be used as such in organisations with less than 20 employees. For instance, the SataSPIN project uses SPICE as the framework for software processes. SPICE Part 7 eight-step cycle for continuous software process improvement was the starting-point for companies' SPI programmes. However the characteristics and needs of the small organisations required tailoring of the model. The work resulted into this framework. The SPI initiation framework describes how the external advisers can assist small organisations to start their SPI programmes effectively.

Organisations' needs and priorities regarding SPI can be obtained by interviewing the management of the companies and by performing a quick process assessment in a summary fashion. In the following discussion with the company management the scope and sequence of process assessments is derived from the priorities. Selected processes are assessed with process specific assessments, which provide capability ratings and detailed improvement ideas.

The assessment process and its work products are tailored according to the needs of small companies. SPI plan describes the agreed actions to accomplish improvements of the selected processes. To ensure continuity of the SPI effort a short-term target is set for the improvements and appropriate support is provided.

The framework contains the joint activities of both external (consultants or project personnel) and internal (SME representatives) parties.

Figure 2.1. SPI Initiation Activity Architecture

Step 1 - Understand and Prioritise

First step aims at understanding the company needs and, on the other hand, possibilities of SPI in achieving the business goals of the company.

The SPI Introduction is provided by the SataSPIN project and it is a three-hour lecture about SPI related terminology, ideas and general goals. A large audience is desired so that most of the company employees get familiar with the concepts.

The Quick Assessment is conducted using BootCheck [1]. BootCheck is a SPICE conformant self-assessment tool sponsored by European Software Institute (ESI) and BOOTSTRAP Institute. BootCheck contains a number of questions for each of the five process categories with multiple pre-defined answering alternatives. The assessment takes about two hours including a brief discussion of the first impression of the organisations' process capabilities.

After the quick assessment results have been analysed and a report produced, a two-hour discussion to select the areas for SPI is organised. The company management selects process areas and prioritises the improvement goals using a predefined SPI priority sheet. The output supports preliminary process improvement program planning and guides the selection of processes for the SPICE assessment.

Figure 2.2. SPI Initiation step 1: Understanding and Priorities

Step 2 - Assess Processes

The selected processes are assessed in detail using SPICE Part 5 [3] compatible method. SPICE assessments are carried out using the assessment forms developed by Mr. Risto Nevalainen of STTF Oy and distributed by the Finnish Software Measurement Association (FiSMA). Assessors can be either external or internal (self-assessment) to the company.

In the Start-Up Session the team to be assessed gets information about the assessment, the goal and processes are revised, preliminary material is collected and the assessment schedule is closed.

An assessment session for each process takes about two hours. The assessors fill in the assessment forms, based on the discussions with the project group. The key results are the assessment ratings and improvement ideas.

The Feedback Session is held after the assessment report is finished, usually within two weeks after the assessment. The assessment reports contain improvement ideas and recommendations for the companies as a basis for improvement action planning. The session lasts typically two hours and participation of the management and the assessed team is advisable. The feedback is usually followed by a discussion about the SPI programme preparation start-up.

In addition the assessors need time to review the work products before the assessment and to prepare the assessment report.

Figure 2.3. SPI Initiation step 2: Assessment

Step 3 - Support SPI

Process specific assessments provide detailed improvement ideas. The ideas are developed into actions either by individuals or teams in the organisation, or with the help of outside consultants. SPI plan describes the agreed actions to accomplish the improvements of the selected processes.

SPI start-up meeting is often held together with the assessment feedback session. At least the company management and the assessed team participate in the meeting scheduled normally to take two hours. Key output is a SPI plan where at least one short-term target is set for the improvements. Other essential issues in the plan include training needs, roles and responsibilities, and control. The motivation for the short-term planning (less than six months) is to be able to show the effect of the SPI effort fast. Usually a simple and straightforward process improvement is selected as the first SPI target. The plan also defines how we can verify the improvements using capability metrics i.e. perform a re-assessment of the processes preferably not before 12 months after the first assessment.

The follow-up meetings are held once in two or three months to discuss the SPI actions in a company. One hour is usually enough to go through the performed actions, plan new tasks, and to check training and consultation needs. The companies have especially appreciated the participation of an external SPI expert in these meetings.

Figure 2.4. SPI Initiation step 3: SPI Support

EXPERIENCES IN USE

During the SataSPIN project several software projects of the participating companies have been assessed using the presented initiation model. Each company was assessed separately and the assessment results were reported in feedback sessions and in detailed assessment reports. All the assessed companies have also started up a SPI programme.

The SPI Initiation framework is light enough and adequate for the small organisations. It ensures the start-up of SPI and, for the present, all of the companies are continuing their SPI efforts.

Some weaknesses have also been noticed. First, difficulties in keeping the SPI timetables are common; on the other hand, it is typical for all projects in a low maturity organisation. Secondly, some companies tend to be content after achieving the first benefits of SPI and are not able to refocus their SPI effort. Thirdly, the inexperience in SPI makes it sometimes difficult to perceive the lack of abilities in executing the planned SPI actions.

The main motivation for the involved people seems to be the possibility of getting fast results. Unnecessarily modest goals - even though they are achieved - can weaken the motivation. Realism in the small companies is appreciated: so far they have never proposed too ambitious goals in their SPI programmes - except the sometimes optimistic timetables.

Conclusions

The experiences so far confirm that a lightweight SPI initiation model is needed and the presented model is appropriate for small organisations. The most positive result is that all of the eight companies continue with their SPI programmes. More emphasis is required to ensure that the continuous improvement cycle will be established. Additional material will be collected and provided to support the SPI activities and tasks in the SataSPIN companies.

The project is moving on to its second phase, in which more software companies in the Satakunta region will be involved. The experiences of the first phase, including the SPI initiation, will be used to assist the SPI efforts of the whole software industry in the region.

Next, some follow-up process assessments will be carried out to confirm the SPI achievements. Special attention will be paid to encouraging continuous self-assessments in the companies.

References
  • BOOTSTRAP Institute: BootCheck assessment tool, http://www.bootstrap-institute.com.
  • ISO/IEC TR 15504-2:1998 Information technology - Software process assessment - Part 2: A reference model for processes and process capability.
  • ISO/IEC TR 15504-5:1998 Information technology - Software process assessment - Part 5: An assessment model and indicator guidance.
  • ISO/IEC TR 15504-7:1998 Information technology - Software process assessment - Part 7: Guide for use in process improvement.
  • Makinen Timo, Varkoi Timo & Jaakkola Hannu: Database Implementation for a Software Process Assessment Model, Proceedings of the PICMET'99, Portland, Oregon, 1999.
  • Paulk M., Curtis B., Chrissis M. B. & Weber C.: Capability Maturity Model for Software, Version 1.1. Technical Report CMU/SEI-93-TR-24, SEI 1993
  • Varkoi Timo & Makinen Timo: Case Study of CMM and SPICE Comparison in Software Process Assessment, Proceedings of the IEMC'98, Puerto Rico, 1998.
  • Varkoi Timo, Makinen Timo & Jaakkola Hannu: Process Improvement Priorities in Small Software Companies, Proceedings of the PICMET'99, Portland, Oregon, 1999
  • Zahran S.: Software Process Improvement: Practical Guidelines for business success, Addison-Wesley, 1998.