applying iso 9001 and cmmi in quality-orientated … · systems engineering capability maturity...

12
140 International Journal of Electronic Business Management, Vol. 2, No. 2, pp. 140-151 (2004) APPLYING ISO 9001 AND CMMI IN QUALITY-ORIENTED KNOWLEDGE MANAGEMENT FOR SOFTWARE PROCESS IMPROVEMENT Yin-Ho Yao 1* and Hsin-Kuo Lee 2 1 Department of Industrial Engineering & Management Ta-Hwa Institute of Technology 2 Department of Industrial Engineering & Engineering Management National Tsing Hua University Hsinchu (300), Taiwan ABSTRACT ISO 9001 Quality Management System (QMS) and Capability Maturity Model Integration (CMMI) are quality management technologies, which can be applied to the software industry. This paper adopts these two management technologies to improve software process quality. ISO 9001 stresses the importance of building a QMS complying with the ISO guidelines of documation. CMMI stresses the importance of building a process improvement model following the CMMI documentation guidelines. In addition, knowledge management (KM) technology transforms these quality-related documents into valuable knowledge that can be utilized effectively and efficiently throughout the entire software organization. The objective of this paper is to apply and integrate ISO 9001 and CMMI in a quality-orientated knowledge management system for software process improvement (SPI). Focusing on the combined approaches and methodologies, the software process of a real software company is analyzed for designing a web-based prototyping quality-orientated KM system. The main functional modules of the system include creating, archiving, querying and managing the ISO and CMMI based quality system document. With the prototyping system, this paper confirms the benefits and synergies of the quality system for software development and process improvement. This paper also provides the transformation guidelines from ISO 9001 to CMMI for software companies to enhance the quality-orientated knowledge management of software processes. Keywords: ISO 9001, Capability Maturity Model Integration (CMMI), Software Process Improvement (SPI), Knowledge Management (KM) 1. INTRODUCTION * Owing to more complex software development processes in software development projects, software problems such as poor quality, budget overrun, unimplemented functionality, and cancelled projects become worse. Software organizations, like software companies and information departments of enterprises and governments, start to pay more attention to software quality management technology to improve software quality. The term ‘Software Process Improvement’ (SPI) denotes the “changes implemented to a software process that bring about improvements” [11]. The software process can be defined as “a set of activities, methods, practices, and * Corresponding author: [email protected] transformations that people use to develop and maintain software and the associated products such as project plans, design documents, code, test cases, and user manuals” [12, 16]. The objectives of SPI are to improve software product quality, increasing productivity and decreasing the cycle time for product development [13]. In other words, SPI aims at achieving competitive advantage for software developers [15]. There are various approaches to implement SPI. European firms tend to use the ISO 9000 family to enhance software process capabilities and quality. North American companies seem to prefer CMM [12], now CMMI. Both ISO 9001 and CMMI are synergistic SPI technologies. Using either one as a basis will help process improvement. Whereas the CMMI is designed exclusively for software processes, the ISO 9001 standards are not limited to software

Upload: trinhxuyen

Post on 10-Dec-2018

234 views

Category:

Documents


3 download

TRANSCRIPT

140 International Journal of Electronic Business Management, Vol. 2, No. 2, pp. 140-151 (2004)

APPLYING ISO 9001 AND CMMI IN QUALITY-ORIENTED KNOWLEDGE

MANAGEMENT FOR SOFTWARE PROCESS IMPROVEMENT

Yin-Ho Yao1* and Hsin-Kuo Lee2

1Department of Industrial Engineering & Management Ta-Hwa Institute of Technology

2Department of Industrial Engineering & Engineering Management National Tsing Hua University

Hsinchu (300), Taiwan

ABSTRACT ISO 9001 Quality Management System (QMS) and Capability Maturity Model Integration (CMMI) are quality management technologies, which can be applied to the software industry. This paper adopts these two management technologies to improve software process quality. ISO 9001 stresses the importance of building a QMS complying with the ISO guidelines of documation. CMMI stresses the importance of building a process improvement model following the CMMI documentation guidelines. In addition, knowledge management (KM) technology transforms these quality-related documents into valuable knowledge that can be utilized effectively and efficiently throughout the entire software organization. The objective of this paper is to apply and integrate ISO 9001 and CMMI in a quality-orientated knowledge management system for software process improvement (SPI). Focusing on the combined approaches and methodologies, the software process of a real software company is analyzed for designing a web-based prototyping quality-orientated KM system. The main functional modules of the system include creating, archiving, querying and managing the ISO and CMMI based quality system document. With the prototyping system, this paper confirms the benefits and synergies of the quality system for software development and process improvement. This paper also provides the transformation guidelines from ISO 9001 to CMMI for software companies to enhance the quality-orientated knowledge management of software processes. Keywords: ISO 9001, Capability Maturity Model Integration (CMMI), Software Process Improvement (SPI), Knowledge Management (KM)

1. INTRODUCTION

*

Owing to more complex software development processes in software development projects, software problems such as poor quality, budget overrun, unimplemented functionality, and cancelled projects become worse. Software organizations, like software companies and information departments of enterprises and governments, start to pay more attention to software quality management technology to improve software quality. The term ‘Software Process Improvement’ (SPI) denotes the “changes implemented to a software process that bring about improvements” [11]. The software process can be defined as “a set of activities, methods, practices, and

* Corresponding author: [email protected]

transformations that people use to develop and maintain software and the associated products such as project plans, design documents, code, test cases, and user manuals” [12, 16].

The objectives of SPI are to improve software product quality, increasing productivity and decreasing the cycle time for product development [13]. In other words, SPI aims at achieving competitive advantage for software developers [15]. There are various approaches to implement SPI. European firms tend to use the ISO 9000 family to enhance software process capabilities and quality. North American companies seem to prefer CMM [12], now CMMI. Both ISO 9001 and CMMI are synergistic SPI technologies. Using either one as a basis will help process improvement. Whereas the CMMI is designed exclusively for software processes, the ISO 9001 standards are not limited to software

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 141

production. Many software companies realize that they need

to improve their software processes using more than one assessment model, e.g., ISO 9001 or CMMI. But, if they do not compare the differences carefully, it will cause an increase in the cost of running their business. In fact, the cost can be minimized by understanding where these assessment models overlap and how they differ from one another [17].

First, based on the above concepts, an overview and detailed analysis of each model is provided in this paper. Then a complete translation of the requirements of the models into software process quality documentation is offered. Third, a web-based prototyping quality-orientated KM system is designed. Finally, this study suggests transition steps from ISO 9001 to CMMI to enhance the quality-orientated knowledge management of software processes.

2. BACKGROUND

There are both production and service processes

in a generic software development process. For differentiating them from the hardware manufacturing process, we define software development process as “software process” [4] in this paper. Because the quality of software is closely related to overall software process, experience has shown that successful quality management must be orientated to process improvement rather than control of the final product alone. Hence, it is important to improve software quality by means of improving software processes [10].

It is impossible to create a comprehensive quality management system (QMS) without a universally acceptable standard or model to follow, therefore we need an acceptable standard or model as reference. Fortunately, both ISO 9001 and CMMI can help us solve this problem. ISO 9000 series of standards, developed by the International Organization for Standardization (ISO), and CMMI [1], developed by the Software Engineering Institute (SEI), have a common concern of quality and process management. Although they are driven by similar

issues and are intuitively correlated, they differ in their underlying philosophies: ISO 9001 identifies the minimal requirements for a QMS, while CMMI underlines the need for continual process improvement. However, some aspects are not covered in ISO or CMMI, as illustrated in Table 1. Table 1: Aspects not covered in ISO 9001 and CMMI

ISO 9001 CMMI No explicit requirements for: Institutionalization Creating/maintaining organization assets (repository/database) Process areas

No explicit requirements for: Customer focus and customer satisfaction Management representative responsible for quality management Infrastructure (buildings, workspace, equipment, etc.) Control of monitoring and measuring devices

ISO 9000 family is a set of internationally

recognized standards on quality management. The standards are intended “to provide a generic core of quality system standards applicable to broad range of industry and economic sectors”. A major purpose of quality management is “to improve the systems and processes so that continual improvement of quality can be achieved”.

Before the year 2000, software developers were advised to use ISO 9000-3 [7] due to the specialization of software as a product. At 15 Dec. 2000, ISO published a revised ISO 9000 series. The ISO 9000 family is based on the assumption that all work is accomplished by a process. Accordingly, quality management means managing all processes in an overall organization. Table 2 gives an overview of the ISO 9000:2000 standards. Software organizations can use the standards to build and maintain the QMS to assure the software process conforming to the requirements specified in ISO 9001.

Table 2: Overview of the ISO 9000:2000 standards Standards and guidelines Purposes

ISO 9000:2000, Quality management systems - Fundamentals and vocabulary [6]

Establishes a starting point for understanding the standards and defines the fundamental terms and definitions used in the ISO 9000 family which you need to avoid misunderstandings in their use.

ISO 9001:2000, Quality management systems – Requirements [8]

This is the requirement standard you use to assess your ability to meet customer and applicable regulatory requirements and thereby address customer satisfaction. It is now the only standard in the ISO 9000 family against which third-party certification can be carried.

ISO 9004:2000, Quality management systems - Guidelines for performance improvements [9]

This guideline standard provides guidance for continual improvement of your quality management system to benefit all parties through sustained customer satisfaction.

142 International Journal of Electronic Business Management, Vol. 2, No. 2 (2004)

A quality system is a set of “organizational structures, procedures, processes and resources needed to implement quality management”. ISO 9004 is a guideline for performance improvement. ISO 9001 is the only model for external quality assurance specifying a set of requirements. The demonstration of conformance to these requirements is called certification or registration. Although the implementation of an ISO 9001 QMS does not necessarily require a certification, most software organizations are seeking certification when they have installed a QMS. The average time software organizations need to implement an ISO 9001 QMS is 1.5 years.

ISO 9001 provides customers with confidence when delivering conforming products/services. It offers a framework for developing a well documented and continually improved QMS based process, which meets customer requirements. The general approach of ISO 9001 is to assure quality by improving processes. The process-orientated framework of ISO9001 QMS is illustrated in Figure 1.

Continual Improvement of the QMSContinual Improvement of the QMS

Product

CustomerCustomerCustomerCustomer

Value-added activitiesInformation flow

Requirements

Satisfaction

ManagementResponsibilityManagementResponsibility

ResourceManagementResource

ManagementMeasurement,

Analysis,and Improvement

Measurement,Analysis,

and Improvement

ProductRealization

ProductRealizationProductRealization

ProductRealization

input output

Figure 1: Process-orientated framework of ISO 9001

The CMMI Product Suite provides industries

and governments with a set of integrated products to

support process and product improvement. By reducing redundancy and complexity with the separate use of multiple Capability Maturity Models (CMMs) and related CMMI-Models, companies could improve efficiency and the return on investment for process improvement. The resulting CMMI products will be adaptable to an organization’s mission/business objectives.

The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University. The models that the SEI are currently involved with in developing, expanding, or maintaining include the following: Capability Maturity Model Integration (CMMI) Capability Maturity Model for Software

(SW-CMM) People Capability Maturity Model (P-CMM) Software Acquisition Capability Maturity Model

(SA-CMM) Systems Engineering Capability Maturity Model

(SE-CMM) Integrated Product Development Capability

Maturity Model (IPD-CMM) The SEI continues to advocate the adoption of

CMMI models as the best process improvement models available for product and service development and maintenance. These models build on and extend the best practices of the SW-CMM, SECM, and IPD-CMM. The newest CMMI model is CMMI-SE/SW/IPPD/SS Version 1.1 [2], released at March 1, 2002. This model includes systems engineering, software engineering, integrated product and process development, and supplier sourcing. History of the CMMI series is shown in Figure 2.

SEI and Mitre

CorporationProcessMaturity

Framework

1986.11

SEI and Mitre

CorporationProcessMaturity

Framework

1986.11

SEI

Description ofProcess MaturityFramework and

MaturityQuestionnaire

( SEI-87-TR-24 )

1987.9

SEI

Description ofProcess MaturityFramework and

MaturityQuestionnaire

( SEI-87-TR-24 )

1987.9

Watts

Humphrey’sManaging

the SoftwareProcess

1989

Watts

Humphrey’sManaging

the SoftwareProcess

1989

SEI

CapabilityMaturityModel

( V 1.0 )

1991

SEI

CapabilityMaturityModel

( V 1.0 )

1991

SEI

CapabilityMaturityModel

( V 1.1 )

1993.2

SEI

CapabilityMaturityModel

( V 1.1 )

1993.2

SEI

CapabilityMaturityModel

( V 0.2 )

1990

SEI

CapabilityMaturityModel

( V 0.2 )

1990

SEI

CapabilityMaturityModel

Integration( V 1.0~V 1.1 )

2000~2002

SEI

CapabilityMaturityModel

Integration( V 1.0~V 1.1 )

2000~2002

Figure 2: History of CMMI

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 143

CMMI offers a framework that describes the key elements of an effective software process, which support the measurement of the software process. The CMMI describes a process maturity framework of five maturity levels (initial, managed, defined, quantitatively and optimizing level), as illustrated in Figure 3.

Disciplined process

Standard process

Predictable process

Continually improving process

Quantitatively ManagedQuantitatively Managed

OptimizingOptimizing

DefinedDefined

ManagedManaged

InitialInitial

Figure 3: Framework of CMMI maturity levels

The purposes of the CMMI are to:

Describe good management and engineering practices as structured by the maturity framework.

Support organizations to improve their processes. The CMMI provides two representations

(continuous representation and organizational maturity approach) to facilitate users to become familiar with either approach, i.e. process capability approach or organizational maturity approach. Software organizations have to choose one before implementing CMMI: 1. Process capability approach - continuous

representation: Choose order of improvement based on business

objectives, areas of risk. Enable comparisons based on process areas or

maturity levels. Enable comparison to ISO 15504 (SPICE)

2. Organizational maturity approach - staged representation:

Follow proven sequence of improvements, beginning with basic management practices.

Enable comparisons based on maturity levels. Migrate from CMM for Software (SW-CMM).

Because most software organizations have adopted ISO 9001 or SW-CMM, they should have some experiences on QMS or process maturity improvement. Hence, CMMI staged representation will be the better one to most software organizations. The CMMI staged representation is composed of 5 maturity levels, 24 Process Areas (PA), 54 Specific Goals (SP), 24 Generic Goals (GG), 181 Specific Practices (SP), and 274 Generic Practices (GP), as illustrated in Figure 4.

Although one might expect that a QMS in a big software organization is more expensive than a QMS in a small one, the costs of implementing and certifying a QMS do not correlate with the size of the organization. The organizational structures of larger organizations are usually well documented and more clearly defined. This makes it much easier to install an ISO 9001 or CMMI QMS. Some common benefits for implementing ISO 9001 and CMMI are positive cultural change, increased productivity, better communications and improved customer satisfaction. Yet, it is also important to distinguish between the ISO9001 and CMMI. Following are some major differences between ISO 9001 and CMMI, as illustrated in Table 3.

Maturity levelMaturity level

Process Area 1Process Area 1 Process Area 2Process Area 2 Process Area nProcess Area n

Specific GoalSpecific Goal Generic GoalGeneric Goal

Specific PracticesSpecific Practices

Generic PracticesGeneric Practices

Commitmentto Perform

Abilityto Perform

DirectingImplementation

VerifyingImplementation

(Common Feature)

× 24

× 24× 54

× 181

× 274

‧‧‧

Figure 4: Structure of CMMI composition

Table 3: Major differences between ISO 9001 and CMMI ISO 9001 CMMI

Focus: Its primary focus is the customer-supplier relationship toreduce a customer’s risk in choosing a supplier.

Focus: Its focus is on the supplier to improve the internal software process.

Objectives: It is written for a wide range of industry other than software. Documents are more abstract. It identifies only the minimal requirement for a QMS.

Objectives: It is written specifically for software industry. Documents are detailed. It describes the software process in detail.

Concept: It is to follow a set of standards to make successrepeatable.

It emphasizes on achieving “maturity” and improving its process continuously.

Structure: It means that some basic practices are in place and the challenge is only to maintain certification.

Concept: It emphasizes on continual improvement, even at the last level.

Internal appraisal: It requires auditors, such that the value of certification depends on the expertise and experience of the auditors.

Internal appraisal: It allows self-assessment followon the CMMI requirements.

Time needed: It takes about one and a half years to obtain ISO 9001 certification.

Time needed:It takes an average of two years to move between levels of the CMMI.

144 International Journal of Electronic Business Management, Vol. 2, No. 2 (2004)

3. ANALYSIS OF INTEGRATED ISO 9001 AND CMMI

ARCHITECTURE In this section, software processes based on ISO

9001 requirements, CMMI requirements, and ISO 9001-CMMI-integration requirements are analyzed successively. The analytical results are detailed in three process matrices as described below. 3.1 Software Process Analysis

With the ISO 9001-based process matrix analysis framework (as illustrated in Figure 5), we use five quality management principles (i.e., resource management, management responsibility, product realization, measurement and process improvement) as the vertical dimension, and business roles (including customer, management level, Quality Assurance representative, business department, technique department, quality assurance and supplier) as the horizontal dimension. The aims of the framework are: (1) to demonstrate that there are close relationships between software development processes and other business processes, (2) to provide a basis for ISO 9000 documentation and quality-orientated knowledge management, (3) to emphasize the importance of PDCA (Plan, Do, Check, Action) cycle, roles/duties assignments, and continual process improvement for meeting the software project quality.

With the CMMI-based process matrix analysis framework (as illustrated in Figure 6), we use a project management process and a software engineering process as the vertical dimension, and roles of business as the horizontal dimension. The purposes of the framework are: (1) to demonstrate the close relationships between project management processes and software development processes, (2) to provide a basis for CMMI documentation and knowledge management.

According ISO 9001 and CMMI process requirements, this study integrates the ISO-based 9001 and CMMI-based software process matrix. The integrative framework (as illustrated in Figure 7) provides a guideline for analyzing the gap between the existing software process and ISO-based/CMMI-based software process, which will aid in designing and implementing quality-orientated knowledge management systems for software process improvement.

Software organizations should look for the synergy between ISO 9001 and CMMI. Most software organizations could start with ISO 9001 then add CMMI, some might start with CMMI then ISO 9001. So, it is better to determine the process improvement status of the organization based on either ISO 9001 or CMMI, and then develop a transition plan. Transforming from ISO 9001 to CMMI enhances the quality-orientated knowledge management of software processes, as illustrated in Figure 8.

System analysis

System design

Program design

Software Q

A

System implement

System maintenance

Project planning

Technique DepartmentCustomer Management

LevelQA

RepresentativeBusiness

Department QA SupplierTechnique DepartmentCustomer Management

LevelQA

RepresentativeBusiness

Department QA SupplierProvision of resource/Human resources/Infrastructure/Work environment

Management commitment/Customer focus/Quality policy/Quality planning/Responsibility, authority and communication/Management review

Market survey

Customer information Customer development

Customer requirement Contract review

sign a contract

Purchasing

Finance

Outsourcing management

Monitoring and measurement/Control of nonconforming product/Analysis of data

Continual improvement/Corrective action/Preventive action

Internal audit

Management review

Pay

Compliant

Customer requirement confirm

Product validation

Resourcemanagement

ManagementResponsibility

Quality m

anagement system

Measurement,Analysis

Improvement

Product Realization

P

D

CA

Resourcemanagement

ManagementResponsibility

Quality m

anagement system

Measurement,Analysis

Improvement

Product Realization

P

D

CA

Requirement confirm

Software development

System test

Figure 5: ISO 9001-based process matrix analysis

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 145

Yes

TechniquedepartmentCustomer Management

levelBusiness

department QA Supplier

Project team

TechniquedepartmentCustomer Management

levelBusiness

department QA Supplier

Project team

Measurem

ent and analysis,Process and product quality assurance

Risk management

Customer requirement Contract review

Sign a contractRequirement confirm

Project planning

PM start point

Integrated PM for IPPD, Integrated team, Supplier agreement management

Project monitoring and control

Re-planning

Software engineering start point

Requirem

ent development,

Technical solution,product integration

Yes

No

No

System analysis

System design

Program design

System implement

System maintenance

System test

Requirement management, Configuration management, Verification, Validation

Software engineering end point

PostmortemPM end point

Projectmanagement

process

Softwareengineering

process

Projectmanagement

process

Softwareengineering

process

Project approvalUpdate historical database

Update historical database

CMMI document

Update historical database

Update historical database

CMMI document

Requirementconfirm

Software development

Figure 6: CMMI-based process matrix analysis

SE engineering end pt.

Project team

Monitoring and measurement/Control of nonconforming product/Analysis of data

Continual improvement, Corrective action, Preventive action

Internal audit

Customercompliant

Resourcemanagement

ManagementResponsibility

Quality m

anagement system

Measurement,Analysis

Improvement

Product Realization

Resourcemanagement

ManagementResponsibility

Quality m

anagement system

Measurement,Analysis

Improvement

Product Realization

PM process

SE process

PM process

SE process

Integrated PM for IPPD, Integrated team, Supplier agreement managementPostmortem

PM end pt.

Yes

Measurement and analysis,Process and product

quality assurance

Risk management

Customer requirement Contract reviewSign a contractRequirement confirm

Project planningPM start pt.

Project monitoring and control

Re-planningSE process start pt.

Yes

No

No

System analysis

System design

Program design

System implement

System maintenance

System test

Requirement management, Configuration management, Verification, Validation

Update historical database

Update historical database

Project approval

Requirement confirm

Software development

PurchaseFinance

Outsourcing management

Payment

Product realization

Requirement development,Technical solution,product integration

Market survey

Customer informatin Customer development

Document database

Technique DepartmentCustomer Management

LevelQA

RepresentativeBusiness

Department QA SupplierTechnique DepartmentCustomer Management

LevelQA

RepresentativeBusiness

Department QA Supplier

Provision of resource/Human resources/Infrastructure/Work environmentManagement commitment/Customer focus/Quality policy/Quality planning/Responsibility, authority and communication/Management review

Management review

Figure 7: Integrative ISO 9001/CMMI-based process matrix analysis

Initialize •Organize•Train

•Organize•Train

EstablishISO 9001 QMS

EstablishISO 9001 QMS

EstablishISO Document

EstablishISO Document

Internally auditInternally audit AuditAudit

Review once half a year to one year

Strategicallyanalyze

Strategicallyanalyze

Set goaland planSet goaland plan

AssessAssess Assess gap(IDEAL)

Assess gap(IDEAL)

•Organize•Train

•Organize•Train

DevelopprocessesDevelopprocesses

PilotPilotAssess pilotAssess pilot

InstitutionalizeInstitutionalize

Strategic transform stepCMMI adoption and assessment step

Process improvement

ISO 9001 adoption and audit step

Continually improve process

Figure 8: Transformation from ISO 9001 to

CMMI

3.2 Software Process Quality Knowledge Content Analysis

The basic function of knowledge management is to manage knowledge contents. Knowledge content can be defined as documents that have been written by knowledge workers that outline a re-usable area of know-how (procedures, processes etc.) or know-why [3]. The major knowledge contents for software process quality are ISO documents and CMMI documents.

ISO documents are usually classified on four levels, namely, Quality Manual (QM), Operation Procedures (OP), Work Instructions (WI), and Quality Record or Form, as illustrated in Figure 9.

International Journal of Electronic Business Management, Vol. 2, No. 2 (2004) 146

Quality Manual: states the quality policy and describes the quality system in accordance with the policy [5].

Operating Procedures: The procedures often include detailed business processes, related activities, as well as management and personnel’s responsibilities and authorities with respect to specific activities [5, 14].

Work instructions: which provide the detailed information (step-by-step instructions) on how to perform a particular task.

Quality records and forms: provide the evidence (records or proofs) of what have been accomplished to comply with the quality system.

[I]Quality Manual

(QM)[II]

Operation Process(OP)[III]

Work Instructions(WI)Quality

Plan[IV]

Quality Record(From and record)

Figure 9: ISO document level

The organization’s process asset library is a

collection of items (such as processes descriptions, life cycle models description and process-related documentation) maintained by the organization, which support process improvement by allowing the sharing of knowledge learned across the organization. CMMI documents can be derived from process assets of CMMI including standard processes, life cycle models, process tailoring guidelines or criteria, organizational measurement repository (which contains both product and process measures that are related to the organization’s set of standard processes) and a library of process-related documentation.

4. IMPLEMENTING

QUALITY-ORIENTATED KM SYSTEM FOR SOFTWARE PROCESS IMPROVEMENT

In this section, an implemented ISO

9000/CMMI based quality-orientated KM system for software process improvement is discussed. First, data flow diagrams (DFDs) for the KM system and managing the knowledge contents are

presented. Then, the implementation system environment (HW/SW), system framework and system function tree (depicted as system structure chart) are demonstrated. Finally, the database structure with entities relationship diagrams and part of data dictionaries are described.

4.1 Quality-Orientated KM System Analysis and Design

It is necessary to define the mission/goal of the system and then analyze and establish the ISO 9001 QMS/CMMI model before implementing KMS (Knowledge Management System), as illustrated in Figure 10. Figure 10 shows the strategic KMS implementation steps including strategy analysis steps, ISO9001 QMS/CMMI modeling steps for software process quality management and implementation KMS steps.

External analysisOpportunity & Threat

External analysisOpportunity & Threat

Internal analysisStrength & Weakness

Internal analysisStrength & Weakness

Define mission and goalDefine mission and goal

Select strategy ofsystem integrationSelect strategy ofsystem integration

Establish ISO 9001 QMSEstablish ISO 9001 QMS

Establish KMS prototypeEstablish KMS prototype

Establish CMMI modelEstablish CMMI model

Enrich KMS contentEnrich KMS content

Totally implement KMSTotally implement KMS

Strategy analysis step

Establish software processquality management step

Implement KMS step

Figure 10: Strategic KMS implementation steps

In this research, data flow diagrams are used as a process description tool to document the details of the functional primitive, processes steps and logic of the KM system. The KM processes include managing knowledge content, community communication, resource sharing, online learning, security management etc. The KM data flow diagram is illustrated in Figure 11. Data flow diagram of managing knowledge content is depicted in Figure 12.

3.0Community

communication

4.0Business

intelligence

5.0Statisticalanalysis

6.0Information

sharing

7.0Onlinelearing

2.0Knowledge

content

8.0Security

management

1.0My

homepage

System securitymanagement

User

0.0Knowledgemanagement

system

Systemmanagement

User Identification

User data management

Online learning

Click resource sharing

Click BusinessintelligenceCommunity

Communication

Add, D

elete, Modify K

nowledge C

ontent

Customized individualdemand modules

Acknowledgement

User

Acknowledgement

ID acknowledgement ID acknowledgement

User Identification

Acknowledgement

Acknowledgement

AcknowledgementAcknowledgement

Acknowledgement

Acknowledgement

Acknowledgement

Statistical Analysis

Figure 11: KMS data flow diagram

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 147

2.1Manage

ISO documents

User 2.2CMMI documents

2.3Knowledge

Management

ISO Documents

CMMI Documents

Knowledge File

ISO documents query

Add, Delete, ModifyISO documents

CMMI documents query

Add, Delete, ModifyCMMI documents

Knowledge documents query

Add, Delete, Modifyknowledge content

Knowledge documentsmanagement

CMMI documentsmanagement

ISO documents management

Acknowledgement

Acknowledgement

Acknowledgement

Figure 12: Managing knowledge content data flow

diagram

Entity relationship diagram (ERD) is often used as a means to describe the structure of a database. The main database structure of the KM system is depicted in an integrative ERD. The integrated ERD is composed of four entities (data tables) relationships including ISO document table, knowledge document table, CMMI document table and user data table, as illustrated in Figure 13, 14, 15, 16.

PK DOC. LevelNo.

DOC. level

PK Author No

Author

Doc. level table

PK Authoringdepartment No

Authoringdepartment

Authoringdepartment table

Author table

PKApprover

department NoApprover

department

Approverdepartment table

ISO doc. table

ISO doc. NumberPK

FK1,11FK2,11FK3,11

FK7FK6,11FK4,11

FK5,11

ISO doc. nameDoc. levelAuthoring departmentAuthorApprover nameApprover departmentKeeping departmentIssue dateVersionWorkflow statusKeeping department NoWorkflow status No.Approving departmentNo.Approver NoPK Approver No.

Approver name

Approver

PK Keepingdepartment No

Keepingdepartment

Keepingdepartments table

PKWorkflow status

No

Workflow status

Workflow statusNo

Figure 13: ISO document relationships tables

PK Category No

Category

PK Project No

Project

Category table

Project table

Knowledge filetable

Knowledge file No.PK

FK1,11FK2,11FK3,11 FK4,11FK5,11

FK6,11

Knowledge file nameCategoryProjectAuthoring departmentAuthorApprover departmentissue dateversionworkflow status

PK Approverdepartment No

Approverdepartment

Approverdepartment table

PK Workflowstatus No

Workflowstatus

Workflow statustable

PK Authoringdepartment No

Authoringdepartment

Authoringdepartment table

PK Author No

Author

Author Table

Figure 14: Knowledge file relationships tables

International Journal of Electronic Business Management, Vol. 2, No. 2 (2004) 148

CMMI doc. table

CMMI doc. NoPK

FK1,11FK3,11FK2,11FK4,11FK5,11

CMMI doc.Standard processLife-cycle modelTailoring CriteriaMeasure RepositoryProcess doc.

PK Standard process No

Standard process

Standards process table

PK Tailoringcriteria No

Tailoringcriteria

Tailoring Criteria table

PK Measurementrepository No.Measurement

Repository

Measurement Repositorytable

PK Life-cycle model No

Life-cycle model

Life-cycle model table

PK Process doc.No

Process doc.

Process doc. table

Figure 15: CMMI document relationships tables

PK DepartmentNo

Department

PK Group No

Group

Department table

PK Rank code

Rank

Rank table

Group table

PK Sex codeSex

Sex table

User data table

User NoPK

FK1,11

FK2,11FK3,11

FK4,11

PasswordGroupNameDepartmentRankBirthdaySexAddressTelephoneMobile phoneE-mail

Figure 16: User data relationships tables

Data dictionaries are used to collect, define,

describes and organize specific facts about the KM system, including the contents of data flows, data stores (entities or tables), and processes. Part of the data dictionary that defines and describes

combinations of data elements taken into tables including a user table, the ISO document table, CMMI document table, and a knowledge file table are illustrated as Table 4.

Table 4: Partial data dictionary of the KM system

Table Name Data Element

tbUser UserNo+Password+Group+User+Dept+Title+Birthday+Sex+Address+Telephone+

Cellphone+Email

tbISODoc ISODocNo+ISODoc+Level+AuthorDept+Author+Approver+CosignDept+KeepDept

+IssueNo+IssueDate+Version+WfStatus

tbCMMIDoc CMMIDocNo+CMMIDoc+StdProcess+LifeCycle+TailorCriteria+

MeasurementRepository+ProcessDoc

tbKFile KFileNo+KFile+Category+Project+AuthorDept+Author+CosignDept+IssueDate+

Version+WfStatus

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 149

4.2 System Implementation The KM system development environment is a

web-based three-tier system, as illustrated in Figure 17. The first tier is the client tier used for the presentation of data, receiving user events and controlling the user interface. The second tier is the application server tier. The third tier, namely database server tier is responsible for data storage. The architecture of the KM system is illustrated in Figure 18. The function tree of the KM system is depicted as a system structure chart is illustrated as Figure 19. The main functions or modules of the implemented system includes: Knowledge content management module: ISO

9000 document management, CMMI document management and knowledge file management.

Community communication module: Partner calendar sharing, new message, opinion exchange, online communication etc.

Statistical analysis module: includes knowledge sharing list, service records statistics.

Resource sharing module: includes sharing of product information, department information, tool information, customer information, resource reservation etc.

Online learning module. Security management module.

User/Administrator Web server/System module Database

Web Web

Knowledge filedatabase

CMMI documentdatabase

Web server DBMS

Workflow management system

ISO documentdatabase

UserDatabase

ISO documentmanagement

system

CMMI documentmanagement

system

1st tier 2nd tier 3rd tier

Knowledge filemanagement

system

Figure 17: Web-based three-tier system architecture

System front-end Browser (KM portal)

Firework (Security Management)

KM

ISO documentsmanagement

CMMI documentsmanagement

Knowledgedocuments

managements

Community

Calendar sharing

Newest information

discussion group

improvement proposal

Collaboration

IntelligenceExpert system

Decision support

Technology service

Technologyinformation

Online Learning

On-line course

Skill evaluation

KM toolslearning

Statical Analysis

KM Sharing list

Quality heckingstatistics

Customer servicesstatistics

Knowledge retrieve

Document driver Data driver

Document index Data index

Database

Internet (infrastructure)

C

Workflow groupware

System rear-end

Figure 18: The KM system architecture

International Journal of Electronic Business Management, Vol. 2, No. 2 (2004) 150

Informationsharing

Toolinformation

Facilitiesinformation

Factoryinformation

Customerinformation

LifeInformation

ResourceReservation

Onlinelearing

Securitymanagement

On-linecourse

Account datamanagement

Skillevaluation

Groups datamanagement

KM toolslearning

Knowledgemanagement

system

Myhomepage

Knowledgecontent

Communicat-ion

community

Businessintelligence

Statisticalanalysis

Accountmanagement

ISOdocument

Calendarsharing

Expentsystem

KM Sharinglist

Favoriteknowledge

CMMIdocument

Companycalender

Decisionsupport

Qualityheckingstatistics

Awaitingwork lists

Knowledgefile

Colleagecalender

Technologyservice

Customerservices statistics

E-mail Newestinformation

Technologyinformation

Calendar Opinionsharing

Books &magannizes

Mailing list Collaboration Technologymaganizes

Workingmemos

E-mail Softwaretools

Viedoconference

On-linecommunication

Productinformation

Departmentinformation

Figure 19: System structure chart

5. CONCLUSION

There are several possible ways for software

organizations to transit from older quality management models to newer ones, that is, from ISO 9001:1994 to ISO 9001:2000, and from CMM to CMMI. Software organizations should also look at the synergy between ISO 9001 and CMMI model. Most software organizations can start with ISO 9001 then add CMMI, some might start with CMMI then ISO 9001. So, it is better to determine the process improvement status of the organization based on either ISO 9001 or CMMI, and then develop a transition plan. ISO 9001 identifies only minimal requirements for a QMS. When a software organization aims to achieve software process improvement, it is necessary to address more aspects, likes CMMI.

This paper applies and integrates ISO9001/CMMI in a quality-orientated KMS and provides the guidelines for transformation from ISO 9001 to CMMI in order to enhance the quality-orientated knowledge management of software process improvement. A prototyping quality-orientated KM system is implemented to

show the benefits and synergies of the knowledge management in the context of ISO 9000 and the CMMI model. This system demonstrates that combinations of ISO 9000/CMMI models requirements can facilitate software organizations to manage and share quality-related documents/knowledge effectively. The research results demonstrate the feasibility and benefits of combining ISO 9001 and CMMI based quality management systems for software process improvement.

REFERENCES 1. CMU/SEI, CMU/SEI-2002-TR-012, 2002,

Capability Maturity Model Integration (CMMI-SE/SW/IPPD/SS), Staged Representation, V1.1, Carnegie Mellon University/Software Engineering Institute, MA.

2. CMU/SEI, CMU/SEI-96-HB-001, 1996, IDEAL-A User’s Guide for Software Process Improvement, V1.1, Carnegie Mellon University/Software Engineering Institute, MA.

3. Eppler, M. J., 2004, Managing Knowledge

Y. H. Yao and H. K. Lee: Applying ISO 9001 and CMMI in Quality-Orientated Knowledge Management 151

Content Quality–Lessons from IT Analysts, http://www.analyst-academy.org/relatedarticles.

4. Florac, W. A. and Carleton, A. D., 1999, Measuring the Software Process: Statistical Process Control for Software Process Improvement, Addison-Wesley, MA.

5. ISO 10013, 1995, Guidelines for Developing Quality Manuals, Geneva, Switzerland: International Organization for Standardization.

6. ISO 9000, 2000, Quality Management Systems - Fundamentals and Vocabulary, International Organization for Standardization, Geneva, Switzerland.

7. ISO 9000-3, 1997, Guidelines for the Implementation for ISO 9001 for the Development of Software, International Standards Organization, Geneva, Switzerland.

8. ISO 9001, 2000, Quality Management Systems - Requirements, International Organization for Standardization, Geneva, Switzerland.

9. ISO 9004, 2000, Quality Management Systems - Guidelines for Performance Improvements, International Organization for Standardization, Geneva, Switzerland.

10. Jovanovic, V. and Shoemaker, D., 1997, “ISO 9001 standard and software quality improvement,” Benchmarking for Quality Management & Technology, Vol. 4, No. 2, pp. 148-159.

11. Olson, T., Humphrey, W. and Kitson, D., 1989, CMU/SEI-89-TR-7, Conducting SEI-Assisted Software Process Assessments, Pennsylvania.

12. Paulk, M., 1993, CMU/SEI-93-TR-024, Capability, Maturity Model for Software (SW-CMM), V1.1, Pennsylvania.

13. Paulk, M., 1993, CMU/SEI-93-TR-025, Key Practices of Capability Maturity Model, V1.1, Pennsylvania.

14. Peach, R. W., 1997, The ISO 9000 Handbook, 3rd edition, New York: McGraw-Hill Companies,

Inc. 15. Stelzer, D., Mellis, W. and Herzwurm, G. 1996,

“Software process improvement via ISO 9000? results of two surveys among software houses,” Proceedings of the 29th Annual Hawaii Internal Conference on System Sciences, Hawaii, pp. 703-712.

16. Stelzer, D. and Mellis, W., 1999, “Success factors of organizational change in software process improvement,” Software Process Improvement and Practice, Vol. 4, No. 4, pp. 2-4.

17. Tingey, M. O., 1997, Comparing ISO 9000, Malcolm Baldrige, and the SEI CMM for Software, Prentice-Hall, New Jersey.

ABOUT THE AUTHORS

Yin-Ho Yao received his doctoral degree in industrial engineering and engineering management at National Tsing Hua University. He is currently an associate professor and head of the IEM department at the Ta Hwa Institute of Technology and Commerce. He has participated in several NSC projects and CSD projects. His research areas are in the electronic document management, information system analysis and design, business process reengineering and e-commerce. Hsin-Kuo Lee received his master degree from the department of industrial engineering and engineering management at National Tsing Hua University. His research interest including electronic document management, ISO 9000 quality management system and CMMI. (Received July 2004, revised September 2004, accepted October 2004)