Implementing Internal Software Process Assessment: An Experience at a Mid-Size IT Company

Implementing Internal Software Process Assessment: An Experience at a Mid-Size IT Company

Shukor Sanim Mohd Fauzi (Universiti Teknologi Mara, Malaysia), Nuraminah Ramli (Universiti Pendidikan Sultan Idris, Malaysia) and Mustafa Kamal Mohd Noor (University of Malaya, Malaysia)
DOI: 10.4018/978-1-61350-141-2.ch005
OnDemand PDF Download:
No Current Special Offers


Software process assessments have become commonplace in the software industry because the software industry usually does not recognize the level of their software process. From the time software is developed, a phenomenon called software crisis exists subsuming wrong schedules and cost estimates, low productivity of people, as well as low productivity. A promising approach out of this crisis is now growing up in the software engineering community. One of the approaches is Software Process Assessment. We present our experience in implementing internal software process assessment at one of the mid-size Information Technology (IT) company by using the customized SPA method. The customized model is basically based on Standard CMMI Appraisal Method for Process Improvement (SCAMPI).
Chapter Preview


Software engineering body of knowledge (SWeBOK) has identified ten areas that is fall under software engineering field (Abran et al., 2004). It includes software requirements, software design, software construction, software testing, software maintenance, software configuration management, software engineering management, software engineering tools and methods and software quality. Other area includes software engineering process. Software engineering process can be alienated into two categories. The first category encompasses the technical and managerial activities; whereas the second category is refer to meta-level. Meta-level category concerned with the definition, implementation, assessment, measurement, management, change and improvement of the software life cycle. Next paragraph will discuss more on meta-level category, focusing on software process assessment (SPA) and software process improvement (SPI).

Software engineering process can be interpreted as a set of process involved to accomplish certain activities in software development (Singh, 1996). Another researcher define software engineering process itself as a process or a set of processes used by an organization or project to plan, manage, execute, monitor, control and improve its software related activities (Zahran, 1998). It is usually understood as a combination of activities like system and software requirement analysis, software design, software implementation, testing and maintenance. Software process improvement means the action taken to change an organization’s business needs and achieve its business goals more effectively. The objective of SPI is to improve an organization’s capability to produce better products. In order to improve software processes, an organization needs to know what the current state of processes is. This is where SPA plays a part. SPA is a disciplined evaluation of an organization’s software processes against an process model (Zahran, 1998). One of the main objectives of SPA includes identifying the maturity level of the processes in an organization and also to identify the highest priority areas for improvement and to provide guidance on how to make the improvements. Other main objectives of SPA as mentioned by (Zahran, 1998) are as follows:

  • To understand and determine the organization’s current software engineering practices, and to learn how the whole organization works.

  • To identify strengths, major weaknesses and key areas for software process improvement.

  • To facilitate the initiation of process improvement activities and enroll opinion leaders in the change process.

  • To provide a framework for process improvement actions.

  • To help obtain sponsorship and support for action through following a participative approach to the assessment.

SPA also helps software organizations improve themselves by identifying their critical problems and establishing improvement priorities (Humphrey, Kitson, & Kasse, 1989). It is conducted to find out which processed need to be changed as it provides a baseline of the current status of the prevailing software practices in the organization. SPA will leads to capability determination, which uses a set of criteria in order to identify, analyze and quantify strengths, weaknesses and particularly risks. Software process capability determination is used in the selection of suppliers but also can be used internally within the organization (Dorling, 1993).

Software process assessment and improvement is recognized as an important part of the software development life cycle (Figure 1). Several contemporary models have been developed to assist organizations evaluate and improve their software development processes and capabilities.

Figure 1.

Relationship between software process assessment, software process improvement and capability determination (Jung & Hunter, 2001)


Complete Chapter List

Search this Book: