• No results found

Chapter 3 BACKGROUND STUDY

3.3 Software Process

3.3.3 SPI Models and Standards

There are a number of SPI models and standards developed by the international organizations, industry consortia, large software purchasers and software developers. Capability Maturity Model Integration (CMMI) (CMMI Product Team, 2006), BootStrap (Haase et al., 1994) and Trillium (Zahran, 1998) are among the SPI models that have been produced. In addition, The International Organisation for Standardisation (ISO) also embarked on the programme to create a software process assessment standard. The ISO 9000 was developed by ISO, is a series of standards used to certify the quality system used by an organization (ISO, 2008). These standards provide organizations with guidance on managing quality system. Moreover, the ISO/IEC 15504 was developed by ISO for the software process improvement under the SPICE (Software Process Improvement and Capability dEtermination). SPICE was established as a project to develop draft standards, trial the developing standard and to promote awareness of developing standard (Rout, 2004). Furthermore, these standards include guidelines for developing assessment instruments and provide a reference models and rating scheme (Zahran, 1998).

The Capability Maturity Model Integration (CMMI)

According to CMMI Product Team (2006), CMMI provides two views of capability: a staged view and a continuous view. The staged view gives 5 levels of evolution towards organizational maturity. The levels are Initial, Managed, Defined, Quantitatively managed and Optimizing. The continuous view provides six levels of process capability. The levels are Incomplete, Performed, Managed, Defined, Quantitatively managed and Optimizing. The SEI claims the CMMI model and CMMI best practices enable organizations to do the following:

• link management and engineering activities more explicitly to business

objectives,

• expand the scope of and visibility into product lifecycle and engineering

activities to ensure that the product or service meets customer expectations. • incorporate lessons learned from additional area of best practice

• implement more robust high- maturity practices

• more fully comply with the relevant international standards such as ISO9000 and ISO/IEC 15504 (Chrissis et al., 2003; CMMI Product Team 2002; CMMI Product Team, 2006).

ISO 9000

ISO 9000 was developed by the International Organisation for Standardisation (ISO). ISO does a series of standard used to certify the quality systems used in an organisation (International Organisation for Standardisation, 2000). According to ISO, the standards are intended to provide generic core of quality system standard applicable to a broad range of industry and economic sector. The ISO series are referring the ISO family which is a set of recognised standards of a quality management which include ISO 9001, ISO 9002, ISO 9003 and ISO 9004. Moreover in latest ISO standard shows that all three standards 9001, 9002, and 9003 are combines into one, called 9001 (ISO 9001:2000, 2001). According to ISO (ISO 9001:2000, 2001), ISO 9001, 9002 and 9003 are model for the external quality assurance. They specify the set of requirements and also as a based for certification or registration for the organization which demonstrate conformance to these requirement. Furthermore, the ISO 9004 series consist of standard of internal use by

the organisation (Stelzer et al., 1996). They added that there are two different situations that the ISO series mainly used:

• to provide quality for quality management and

• as a framework for third party certification or registration.

Like CMMI, ISO 9000 series standards have a common concern of quality and process management. ISO 9001 is more concern with software development and maintenance and identified minimum requirements for quality systems (ISO 9001:2008) but CMMI is more concerned about the need for continuous improvement (Coleman, 2006). Paulk (1994) also added that the ISO 9001 have a broader scope that focus on hardware, software, processes material and service as compare to CMMI which is focuses strictly on software (Chrissis et al., 2003; CMMI Product Team, 2006). Unlike CMMI, ISO 9000 does not provide a road map for improvement beyond the quality of adherence to quality management document (Coleman, 2006).

ISO/IEC 15504 (SPICE)

There are two dimension of the ISO/IEC 15504 (SPICE) reference model, the process dimension and the process capability dimension (Zahran, 1998). Process dimension is characterized by process purposes. It includes measurable objectives for each process and relates to the process life cycle model (ISO 12207). The ISO/IEC 15504 technical report divided the process dimension into five categories: customer-supplier, engineering, support, management and organisation. Process capability dimension is characterized by a series of process attribute. It is measured by capability levels. According to (Zahran, 1998), “capability level is a set of attribute(s) that work together to enhance capability to perform a process. Each level provides a major enhancement of capability in the performance of the process”. ISO/IEC 15504 specifies process capability dimension is divided in to six capability levels. The level is from incomplete through performed, managed, established, predictable to optimising. These capability levels represent milestones along the road to software process improvement.

ISO/IEC 29110

In general most of SPI standards and models are more prone to a larger organization compare to medium and small organization (Hauck et al., 2008). In addition, some of them have developed and created their own software development process model, but most are adapting and referring to the commercial standard such as CMMI and SPICE (Laporte et al., 2008a; Von Wangheim et al., 2006). However these situation are different in the majority of small software organization which are not adapting any standard and perceived that those models as being oriented toward the large organization (Laporte et al., 2008; Von Wangheim et al., 2006). Some studies have shown that this negative perception on the software process model was drove by a negative view of cost, documentation and bureaucracy (Laporte et al., 2006; Pino et al, 2008). Moreover, it has been reported that the small software organization found that it is difficult to relate the existing standards (e.g. CMMI, ISO 12207) to their business need and justified the international standard in their business operation (Laporte et al., 2006) . Laporte et al., (2008a) added that most of the small software organization which have few employees cannot afford to establish and follow the software process as defined by the current standard.

Therefore to overcome the above issues, ISO is currently developing a new lightweight standard in order to encourage small software organization to actively assess the development process (Laporte et. a., 2006). This lightweight process and practice have been proposed in the ISO/IEC JTC1/SC7’s international software engineering standards (Laporte et al., 2008b). This new lightweight standard has specifically developed for VSE is currently being developed and has been form as ISO/IEC 29110. The main objective of ISO 29110 is to assist and encourage small software organization (which has less than 25 employees) in assessing and improving their software process (Laporte et al., 2008a).

Agile Methods

According to Beck (2000) and Cockburn (2002) agile software development method or agile method was evolved in the late 1990s as part of a reaction against a complex rigidly methods within the existing process and process improvement

model. It deals with the unstable and volatile requirements by using a number of techniques (Huo et al., 2004). They added that there are four characteristic in agile methods: simple planning, short iterative, short release and frequent customer feedback. Larman (2004) and Larman and Basili (2003) argues that agile methods are subset of iterative and evolutionary methods. It also based on iterative enhancement (Basili and Turner, 1975) and opportunistic development processes (Curtis, 1989). In all iteration product, each iteration process is a self contained, mini project with activities that span requirement, analysis, design, and implementation and test (Larman, 2004).

Agile methods emphasize real time communication such as face to face rather than written documents (Sfetsos et al., 2006). Most agile team are collocated and include all necessary people in order to finish the project. Viscontil and Cook (2004) emphasized, working software is a primary measure of progress in agile methods. Some agile software development methods are including Extreme Programming (XP) (Beck, 2000), Scrum (Schwaber and Beedle, 2002), Feature Driven Development (FDD) (Palmer and Felsing, 2002), Crystal (Cockburn, 2000) and Adaptive Software Development (ASD) (Hughsmith, 2000).

Therefore from this part, researchers could understand that there are several different models and standards that could apply in SPI. The literatures also have shown that in general the purpose of the models and standards is to guide software companies in producing a quality system. In addition, the CMMI and ISO are the main official standards that shape the software quality standard in software organization and prone to the large companies. CMMI is provides organizations with the essential elements of effective processes that ultimately improve their performance. While ISO standards are intended to provide generic core of quality system standard applicable to a broad range of industry and economic sector Moreover, the existing of new ISO standard (ISO/IEC 29110) is predicted to overcome this gap and help small companies to seriously involve in assesses their current development process which usually follows the agile software development method.