A Unified Framework for Software Engineering Process Improvement ...

1 downloads 0 Views 65KB Size Report
tailored to the discipline-specific framework. Keywords-software engineering process improvement, process improvement framework, unified process, taxonomy, ...
2011 5th Malaysian Software Engineering Conference (MySEC)

A Unified Framework for Software Engineering Process Improvement – A Taxonomy Comparative Analysis Aedah Abd Rahman Software Engineering Section, MIIT Universiti Kuala Lumpur Kuala Lumpur, Malaysia

Abstract—Concurrent adoption of software engineering process improvement frameworks have been widely practiced by the software organizations. The software development organizations leverage these frameworks to better address process improvement challenges. This paper develops an integrated framework for software engineering process improvement practices and unifies the theories in process definition and establishment. The unified framework provides a set of formal descriptions for software engineering process improvement frameworks. Requirements and architectures for software engineering process improvement frameworks are investigated. The main challenge in the integration is the interoperability of the frameworks. Inaccurate integration approach results in inefficiency of the integration process. Common interoperability issues in the integration of current process models and methodologies are addressed. In addition to this, omissions, differences and gaps can be identified and further examined for development of new unified framework. Taxonomy for software engineering process framework is used to support the understanding and comparison of diverse software quality frameworks. The taxonomy should be based on discipline-specific framework. Besides, other alternative approaches for comparing the software engineering process improvement framework are presented. The research outcome is expected to identify the structural relationships among the frameworks. Derivation from the taxonomy includes characteristics and categories of attributes tailored to the discipline-specific framework. Keywords-software engineering process improvement, process improvement framework, unified process, taxonomy, software quality

I.

INTRODUCTION

Concurrent adoption of software engineering process improvement frameworks have been widely practiced by the software organizations. The software development companies adopt these frameworks to improve product quality. Moreover, throughout the years, the combination practice of different software engineering process improvement frameworks is increasing. This practice promotes better address process improvement challenges. As much as possible, the software development organization should select the best integration approach, in order to ensure proper integration of these models. Depending on the organization and project goal, the adoption

Shamsul Sahibuddin and Suhaimi Ibrahim Faculty of Computer Science & Information Systems Universiti Teknologi Malaysia Johor, Malaysia

of software engineering process improvement frameworks maybe in single or multiple modes. The frameworks differ in various aspects and direction. Due to this issue, we conclude that the frameworks are difficult to be compared, interpreted and understood. We support this issue by determining the requirements and architectures for the frameworks. Another issue or problem that arises is finding an appropriate method to perform the comparison, which we decide to use the taxonomy comparative analysis approach. This paper investigates the issues in an integrated framework for software engineering process improvement practices and unifies the theories in process definition and establishment. The proposed unified framework contains a set of formal descriptions for software engineering process improvement frameworks. Requirements and architectures for software engineering process improvement frameworks will be discussed. The most important issue in the integration process is the interoperability of the frameworks. Accurate integration approach ensures efficiency in the integration process. Thus, common interoperability issues, omissions, differences and gaps will be identified for use in the development of new unified framework. The goal of this paper is to derive the comparison of software engineering process improvement in a convenient and systematic way by using taxonomy approach. Taxonomy for software engineering process framework is used to support the understanding and comparison of diverse software quality frameworks. The taxonomy is based on discipline-specific for each framework. Apart from taxonomy approach, other alternative approaches for comparing the software engineering process improvement framework are presented. As a result of this research work, the structural relationships among the frameworks will be derived. The taxonomy comparison generates a set of characteristics and categories of attributes tailored to the discipline-specific framework. Many different quality initiatives are available in the software industry throughout the world. The rationale of the organizations embarking into these practices is due to the need to achieve competence in the processes and to better manage their organization’s businesses. The second reason is to increase customer satisfaction in the software products and

services. Finally, organizations need to be able to achieve competitive advantage in the software industry. The quality initiatives can be software specific or non-software specific. The adoption of the quality initiatives depends on the goals of the organization. Quality initiatives can be realized through the adoption and implementation of software engineering process frameworks. In this paper we focus on the issues of the unified framework for software engineering process improvement. The structure of the paper is as follows: section II explains the recent researches in software engineering process improvement. The comparison method and taxonomy of software engineering process frameworks are discussed. Section III discusses about the research approach. Section IV describes about the results and discussion. The paper concluded with discussion of the taxonomy comparative analysis. II.

RELATED RESEARCH WORK

Software engineering process improvement efforts receive consistent attention by the software development organisations. The organizations’ aim on achieving high competitive advantage and customer satisfaction, increase product and service quality and cost reduction pushes the need to adopt the software engineering process improvement frameworks and best practices. These frameworks help in improving the organizations quality system. Despite the adoption of single quality initiative, there are also organizations that practice multiple adoptions. There are many different quality and process improvement approaches are adopted in the industry. The need to strengthen and improvise certain software engineering process requires the usage of multiple quality initiatives. Some software organizations that practices quality invest on adoption of these frameworks. This certainly arises from the needs to improve the software processes and products. Research works on quality has begun since 1931 by Shewart. Recent works on software engineering processes, quality and process improvements have been discussed by many researchers and software engineers [1-3]. The following Table I provide the summary of early research and works on quality and process improvement frameworks. TABLE I.

SELECTED EARLY WORKS ON QUALITY AND PROCESS IMPROVEMENT (PI) INITIATIVES

Attributes Shewart [4] Deming [5,6] Juran [7] Ishikawa [8] Crosby [9] Humphrey [10] Paulk, Weber, Curtis and Chrissis [11] Paulk, Weber, Curtis and Chrissis [12]

Quality and PI Initiatives Control chart, Statistical quality control Plan-Do-Check-Action Cycle Quality control Total Quality Control (TQC) Concept on zero defect Managing the s/w process, Personal Software Process (PSP), Team Software Process (TSP) Capability Maturity Model for Software (SW-CMM) Capability Maturity Model (CMM)

Among the successful international software engineering process improvement frameworks are Capability Maturity Model for Software (SW-CMM) [11], Capability Maturity Model (CMM) [12], Capability Maturity Model Integration (CMMI) [13-15], BOOTSTRAP [16], AMI approach [17], Trillium [18], IDEAL [19], Iterative Quality Improvement Paradigm (QIP) [20], and Six Sigma. Some software engineering process improvement frameworks are developed to improve development processes and some frameworks focus on services [21,22]. ISO 9001 [23] define general requirements for an organization and they can be used for any industry type. Thus, ISO 9001 is not software-specific. The guidelines on applying ISO 9001 to computer systems are defined in [24]. Another example of the standard is ISO 9000 [25]. ISO/IEC 12207 [26] is software-specific. ISO/IEC 15504 [27, 39] is used as a standard for automotive, software and other domains. There are many literatures comparing the frameworks available. Various comparison methods have been adopted. The mostly used method is the framework mapping. Several works by software engineering practitioners and researchers have used this technique. The effort to harmonize the many different software engineering process improvement frameworks that existed was discussed in [28]. Rout and Tuffley [28] presented about harmonizing two frameworks: CMMI and ISO/IEC 15504. Moore [29] reported on the existence of different quality initiatives. Tingey [30] performed comparison on CMM, ISO 9000 and the Malcolm Bridge National Quality Award. El Emam, Drouin and Melo [31] have mapped between two frameworks: SPICE and ISO 9000 standard. Haase [32] discussed about the comparison on assessment concepts. Some comparisons have been performed on CMMI to other frameworks such as ISO 9001, Team Software Process (TSP), SPICE and IEEE software engineering standards. The rationale behind the proposed unified framework for software engineering process improvement frameworks are based on the recent researches. Recent research works on the multiple usages of software engineering process improvement frameworks have been conducted by [28-30]. They focus on performing harmonization and mapping. This paper will be focusing on unification of selected frameworks. Single frameworks may differ in focus direction, composition structure, detail level, terminology and granularity. Thus, this is another reason is to reduce the difficulties of the organizations to implement the frameworks successfully. A. Capability Maturity Model Integration (CMMI), ISO/IEC 12207, ISO/IEC 15504 and ISO/IEC 20000 Four software engineering process improvement frameworks: CMMI, ISO/IEC 12207, ISO/IEC 15504 and ISO/IEC 20000 are explained further. CMMI framework provides process improvement path for organizations [13-15]. CMMI gives description of specific goals and practices that should be attained by an organisation in order to achieve a level of capability and maturity. CMMI has been replaced by CMMI v1.3. CMMI v1.2 has three constellations: development, acquisition and services. Researches related to CMMI have been conducted by Kasse, Kulpa and Johnson [33,34]. CMMI provides staged and continuous representations

(reps.) as presented in Table II. The former contains file maturity levels: Initial, Managed, Defined, Quantitatively Managed and Optimizing. The latter allows an organization to perform improvement work for a selected process [15]. It contains the following categories: Process Management (5 process areas (PAs)), Project Management (6 PAs), Engineering (6 PAs) and Support (5 PAs). TABLE II. CMMI Reps. Staged

Continuous

CMMI STRUCTURE

Levels, Categories and Processes 1.Initial 2.Managed : Configuration Mgt (CM), Measurement & Analysis (MA), Project Monitoring & Control (PMC), Project Planning (PP), Process & Product Quality Assurance (PPQA), Req. Mgt (REQM), Supplier Agreement Mgt (SAM) 3.Defined : Decision Analysis & Resolution (DAR), Integrated Project Mgt (IPM), Organizational Process Definition (OPD), Organizational Process Focus (OPF), Organizational Training (OT), Product Integration (PI), Reqs. Development (RD), Risk Mgt (RSKM), Technical Solution (TS), Validation (VAL), Verification (VER) 4.Quantitatively Managed : Quantitative Project Mgt (QPM), Org. Process Performance (OPP) 5.Optimizing : Causal Analysis & Resolution (CAR), Org. Innovation & Deployment (OID) Process Mgt : OID, OPP, OPD, OPF, OT Project Mgt : OPM, IPM, RSKM, PMC, PP, SAM Eng. Mgt: PI, RD, TS, VAL, VER, REQM Support: CAR, DAR, CM, MA, PPQA

ISO/IEC 12207 is a standard that covers all aspect of the architecture of software life cycle processes. The software processes are defined as a set of organized activities. The framework covers acquisition of software systems, products and services for the supply, development, operation and maintenance of software products and organization [26]. The following Table III shows the structure of ISO/IEC 12207. TABLE III.

ISO/IEC 12207 STRUCTURE – SYSTEM & SOFTWARE LIFE CYCLE

ISO/IEC 12207 structure on System Life Cycle and Software Life Cycle is shown in Table III. It establishes a common framework for software life cycle processes and become the reference for software industries. The processes in System Life Cycle are Agreement Processes, Organizational Project-Enabling Processes, and Technical Processes. Software Life Cycle Processes consist of Software Implementation Processes, Software Support Process, and Software Reuse Processes. Each process consists of set of activities and set of tasks. ISO/IEC 15504 is a process improvement and assessment standard originated from a special project called SPICE (Software Process Improvement and Capability dEtermination). ISO/IEC 15504 standard is aligned with the ISO/IEC 12207. ISO/IEC 15504 is developed to harmonize the existence of variety of approaches in software process assessment. Authors of Capability Maturity Model (CMM), Trillium and BOOTSTRAP process quality models describe ISO/IEC 15504 as the most comprehensive process reference model. ISO/IEC 15504 defines three categories: Primary life cycle processes, Organization life cycle processes and Supporting life cycle processes. ISO/IEC 15504-7 [35] adds to the existing process reference model (IS0/IEC 15504-2 1998) and assessment model (ISO 15504-5 1998). The following Table IV indicates the structure of ISO/IEC 15504 showing the process groups (PG) and processes. TABLE IV.

PG Acquisition Supply Engineering

Operation

System Life Cycle Processes Processes

Agreement Organizational Project-Enabling Project

Technical

Activities/Tasks

Acquisition, Supply Life Cycle Model Mgt, Infrastructure Mgt, Project Portfolio Mgt, Human Resource Mgt, Quality Mgt Project Planning, Project Assessment & Control, Decision Mgt, Risk Mgt, Conf. Mgt, Information Mgt, Measurement Stakeholder Requirements. Definition, Sys. Reqs. Analysis, System Arch. Design, Implementation, System Integration, System Qualification Testing, S/w Installation, S/w Acceptance Support, S/w Operation, S/w Maintenance, S/w Disposal Software (S/w) Life Cycle Processes

Processes

Activities/Tasks

S/w Implementation

S/w Implementation (Impl.), S/w Reqs. Analysis, S/w Arch. Design, S/w Detailed Design, S/w Construction, S/w Integration, S/w Qualification Testing S/w Doc. Mgt, S/w Conf. Mgt, S/w Quality Assurance, S/w Verification, S/w Validation, S/w Review, S/w Audit, S/w Prob. Resolution Domain Eng., Reuse Asset Mgt, Reuse Program Mgt

S/w Support

S/w Reuse

PG Management Process Improvement Resource & Infrastructure Reuse Supporting

ISO/IEC 15504 STRUCTURE

Primary Life Cycle Processes Processes Acquisition preparation, Supplier selection, Contract agreement, Supplier monitoring, Customer acceptance Supplier tendering, Product release, Product acceptance support Requirements elicitation, System requirements analysis, System architectural design, Software req. analysis, Software design, Software construction, Software integration, Software testing, System integration, System testing, Software installation, Software & System maintenance Operational use, Customer support Organizational Life Cycle Processes Processes Organization alignment, Organizational mgt, Project mgt, Quality mgt, Risk mgt, Measurement Process establishment, Process assessment, Process improvement Human resource mgt, Training, Knowledge mgt, Infrastructure Asset mgt, Reuse program mgt, Domain engineering Supporting Life Cycle Processes Quality assurance, Verification, Validation, Joint review, Audit, Product evaluation, Documentation, Configuration mgt, Problem resolution mgt, Change request mgt

The frameworks for software services such as CMMI–SVC and IT Service Management (ISO/IEC 20000) have been developed by some organizations. Hochstein, Tamm and Brenner [36] identified the issues on services management with respect to the benefit, cost and success factors. ISO/IEC 20000 is the international standard for IT Service Management, which

consists of ISO/IEC 20000-1 and ISO/IEC 20000-2 [21,22]. The process groups and processes are listed in Table V below: TABLE V.

IV.

ISO/IEC 20000 STRUCTURE

Process Groups Relationship

Processes Supplier Mgt, Business Relationship Mgt

Resolution Release Control Service Delivery

Problem Mgt, Incident Mgt Release Mgt Change Mgt, Configuration Mgt Capacity Mgt, Availability & Continuity Mgt, Service Level Mgt, Service Reporting, Information Security Mgt, Budgeting & Accounting for IT Services

III.

comparison is performed on existing framework analysing the content and focus of the frameworks.

RESEARCH APPROACH

The research approach focuses on the theoretical part. Figure 1 illustrates the research approach. The first step using the theoretical literature on a critical review process based on the available literatures. The second step focuses on analyzing the requirements and architectures for software engineering process improvement frameworks. Among the architecture attributes include contents, components, size, structures of the existing multiple software engineering process improvement frameworks. The third step is the taxonomy comparative analysis of the multiple frameworks. Literature study

Analysis of requirements and architectures of multiple frameworks

This paper reviewed recent studies in software engineering process improvement frameworks. The results obtained from the critical review process are identification of relevant characteristics and properties from the taxonomy comparative analysis. A.

Taxonomy Comparative Analysis The taxonomy comparative analysis is performed on several improvement frameworks with the defined attributes. Paulk [37] defined three categories for the taxonomy for the comparison purpose, which are the user community for the framework and its improvement drivers and strategy; the framework architecture and structure; and infrastructure. He categorized the first category into four attributes: target, workorientation, support infrastructure and drivers for adoption. Framework architecture and structure comprised of rating, scale and standardized content. The third category, includes diagnostic method, improvement method and certification schemes. This research uses mapping comparison method by selecting and determining several attributes for the taxonomy based on the frameworks selected. •

Discipline and work orientation (Improvement Focus) – The direction and focus of the improvement framework.



Improvement Paradigm - El Emam and Goldenson [38] determines two types of general paradigm for software process improvement, the analytic paradigm and benchmarking paradigm.



Improvement Entity – The primary target for the improvement frameworks such as the organization, enterprise, project, engagement, team or individual.



Rating Scale - The rating scale is categorized as binary, point scale, organizational maturity, process capability and organizational capability.



Certification Schemes – Certification of the improvement framework at individual level or organization level.



Qualification Schemes



Structural Components

Taxonomy comparative analysis Figure 1. Research approach.

We proposed the use of taxonomy to identify the characteristic and properties of various software engineering process improvement frameworks. The result will be used as input foundation for the unified framework of software engineering process improvement. We derive the similarities and differences and expect to further clarify the integration and unification issues. The proposed taxonomy will be applied to the following software engineering process improvement frameworks. •

Capability Maturity Model Integration (CMMI)



ISO/IEC 15504 (SPICE)



ISO/IEC 20000

We discuss on comparing of software engineering process improvement frameworks. Many organizations are also involved in a situation to use more than one framework, rather than a single framework. The organization understands that every framework have their own strength and direction. Based on our discussion above, we suggest the following comparison method: attribute mapping and framework mapping. Attribute mapping comparison is performed in taxonomy by defining list of attributes presented in table format. Framework mapping

RESULTS AND DISCUSSION

Taxonomy of selected software engineering process improvement frameworks is presented in Table VI. Based on the taxonomy below, we derive a brief discussion and presentation so as to clarify the mapping of the models structure. CMMI works towards various domains several domains such as software, acquisition and services. ISO/IEC 15504 works towards automotive, software, space and medical systems. The discipline of CMMI and ISO/IEC 15504 is process assessment and improvement unlike ISO/IEC 20000 which is focusing on service management. Since CMMI and ISO/IEC 15504 is an approach for process improvement, it is

considered as having benchmark paradigm unlike ISO/IEC 20000. CMMI and ISO/IEC 15504 are said to have an assessment-based approach providing the roadmap for improvement path. Although ISO/IEC 20000 is considered as non-assessment approach, it is an example of framework-based approach just like CMMI and ISO/IEC 15504. CMMI provide the improvement roadmaps through the staged and continuous representation. The representations are ranked using maturity levels and capability levels. The use of these levels is to assist in identifying and evaluating the progress of improvement status. CMMI also promotes the use of systematic guidelines on process improvement. Other taxonomy attributes such as improvement entity, rating scale, certification and qualification schemes and structural component also varies among the frameworks as stated in Table VI.

ISO/IEC 15504 can be explained through its reference model, processes and maturity levels. It is a two dimensional process reference model (PRM) which contains process dimension and capability dimension. The process dimension defines the processes which are divided into the following life cycle processes: primary, organizational and supporting as presented in Table IV. The process dimension contains of processes and each process is defined in terms of its purpose and outcomes. ISO/IEC 15504 defines six capability levels with process attributes are assigned at each level. Capability levels 1 to 5 defines the aspect of process capability which states the achievements to be implemented. The summary of the capability levels (CLs) and process attributes (PAs) for ISO/IEC 15504 and CMMI are listed in Table VII. TABLE VII.

TABLE VI. TAXONOMY OF SOFTWARE ENGINEERING PROCESS IMPROVEMENT FRAMEWORKS Attributes

CMMI

Discipline & work orientation

Process assessment & improvement, software, acquisition & services

ISO/IEC 15504 (SPICE)

ISO/IEC 20000

Process assessment & improvement & capability determination for many domains Benchmark paradigm

Information technology service mgt

Improvement Paradigm

Benchmark paradigm

Improvement Entity

Organization, Project, Division

Organization

Enterprise, Organization,

Rating Scale

Uses ordinal scale for measuring Maturity level (15) Capability level (05)

Capability level (0- 5) Process Attributes: (up to 15% Not achieved (N), more than 15% 50% Partially achieved (P), more than 50%-85% Largely achieved (L), more than 85% Fully achieved (F)

None

Certification and Qualification Schemes (Sch.) Structural component

Rating elements: Specific & generic goals (SGs & GGs) which depends on specific & generic practices (SPs & GPs) Organization

2 representations: staged & continuous; SGs and GGs SPs and GPs; 22 process areas

Nonbenchmark paradigm

None Outcomes & achievements of processes

Organization

Cert. Sch. Organization Qual. Sch.: Individual

Consists of 5 parts [39] 3 lifecycle processes

5 process groups & 13 processes

COMPARISON OF CMMI AND ISO/IEC 15504 CAPABILITY LEVELS (CAP. LEVELS)

CMMI CLs 0.Incomplete 1.Initial 2.Managed

ISO/IEC 15504 CLs 0.Incomplete 1.Performed 2.Managed

3.Defined

3.Established

4.Quantitatively Managed 5.Optimizing

4.Predictable 5.Optimizing

ISO/IEC 15504 PAs None Process performance Performance management Work product management Process definition Process deployment Process measurement Process control Process innovation Continuous optimization

CMMI defines five maturity levels (MLs) from initial (level 1) to optimizing (level 5). Each ML consists of a group of process areas which forms a basis for the next process improvement stage as indicated in Table II. Capability dimension defines six capability levels from incomplete process (level 0) to optimizing process (level 5) as stated in Table VII. CMMI rating elements are the specific and generic goals. The rating of goals is performed based on the evidence recorded against each specific and generic practice. Practices are indicators of process performance and capability. As a result of comparison between CMMI and ISO/IEC 15504, the specific and generic practices of CMMI are mapped to outcomes and achievements of ISO/IEC 15504. The taxonomy comparison among the frameworks indicates the interoperability issues. The interoperability issues arise when organizations tend to adopt more than one framework. Consider CMMI, ISO/IEC 15504 and ISO/IEC 20000, where frameworks that focus on development and services are adopted. There is a need to synergy the flow between both frameworks through the concept of unified framework. The interoperability issues require interfaces among these frameworks to be unified. Thus, identification of selected process groups in the multiple frameworks that will be included in the unified framework need to be prioritized. Since only CMMI and ISO/IEC 15504 only have an improvement roadmap, and not ISO/IEC 20000, there is a need to find a solution. From the structural aspect, the frameworks should have an identical structure thus requires elimination of certain processes and definitions.

V.

CONCLUSION

This paper has reviewed recent studies in various software engineering process improvement frameworks as basis for our roadmap to develop a unified framework. Researches on the use of taxonomy as the method for comparing the frameworks have been explored. The selection of taxonomy attributes have been selected from the current taxonomy approach and tailored for this research purpose. The results from the taxonomy derived are essential for the development of unified framework of software engineering process improvement. This taxonomy provides understanding of the characteristics and definition of structural relationships of the improvement frameworks. The frameworks’ interoperability issues also have been derived and discussed. ACKNOWLEDGMENT Authors wish to thank Universiti Kuala Lumpur and Universiti Teknologi Malaysia for the research support. REFERENCES [1] [2] [3] [4]

[5] [6]

[7] [8] [9] [10] [11]

[12]

[13]

[14]

[15]

I. Sommerville, Software Engineering, 9th ed, England: Pearson Education Limited, 2010. R.A. Khan, K. Mustafa, and S.I. Ahson, Software Quality – Concepts and Practices, Oxford, UK: Alpha Science, 2006. R. Pressman, Software Engineering: A Practitioner’s Approach, 7th ed, New York: McGraw-Hill International, 2009 W.A. Shewart, “Statistical method from the viewpoint of quality control”, The Graduate School, George Washington University, Washington D.C., 1939. W.E. Deming, Elementary principles of the statistical control of quality. JUSE, 1950. W.E. Deming, “Out of crisis: Quality, productivity and competitive position”, MIT Center for Advanced Engineering Study, Cambridge, MA, 1986. J.M. Juran, “Early SQC: A historical supplement”, Quality Progress, vol. 30(9), pp. 73-81, 1997. K. Ishikawa, What is Total Quality Control? The Japanese Way. Prentice-Hall, N.J: Eaglewood Cliffs, 1985. P.B. Crosby, “Quality is Free”, New York: McGraw-Hill, 1979. W.S. Humphrey, Managing the Software Process, Reading, Massachusetts: Addison-Wesley, 1989. M.C. Paulk, C. Weber, B. Curtis, and M.B. Chrissis, “Capability Maturity Model for Software, Version 1.1”, Technical Report, Software Engineering Institute, Carnegie Mellon University, CMU/SEI-93-TR-024 ESC-TR-93-177, 1993. M.C. Paulk, C. Weber, B. Curtis, and M.B. Chrissis, “The Capability Maturity Model: Guidelines for improving the software process, Version 1.1”, Boston: Addison Wesley, 1995. CMMI Product Team, “Capability Maturity Model Integration, Version 1.1, CMMI-SW/SE/IPPD/SS, Staged Representation”, Technical Note, CMU/SEI-2002-TR-011, 2002. CMMI Product Team, “Capability Maturity Model Integration, Version 1.1, CMMI-SW/SE/IPPD/SS, Continuous Representation”, Technical Note, CMU/SEI-2002-TR-012, 2002. CMMI Product Team, “CMMI for Development (CMMI-DEV 1.2)”, CMU/SEI-2006 TR-008, Software Engineering Institute, Carnegie Mellon University, 2006.

[16] P. Kuvaja, J. Simila, A. Krzanik, S. Saukkonen, and G. Kochi, “Software Process Assessment and Improvement – The BOOTSTRAP Approach”, Oxford, UK: Blackwell Publisher, 1994. [17] K. Pulford, A. Kuntzmann-Combelles, and S. Shirlaw, A Quantitative Approach to Software Management: The AMI Handbook, Reading, Massachusetts: Addison-Wesley, 1996. [18] A. April, F. Coallier, and Q. Bell Canada, “Trillium: A model for the assessment of telecom software system development and maintenance capability”, Proceedings of Software Engineering Standards Symposium, IEEE, 1995. [19] B. McFeeley, “IDEALSM: A user’s guide for software process improvement”, CMU/SEI-96-HB-001, Pittsburg, Pennsylvania, 1996. [20] V.R. Basili and F. McGarry, “The Experience Factory – How to build and run one”, Proceedings of International Conference on Software Engineering, Boston, MA: ACM, pp. 643-644, 1997. [21] ISO/IEC 20000-1, “ISO/IEC 20000-1: 2005 Information Technology – Service Management – Part 1: Specification”, International Standard Organisation, Geneva, Switzerland, 2005. [22] ISO/IEC 20000-2, “ISO/IEC 20000-2: 2005 Information Technology – Service Management – Part 2: Code of Practice”, International Standard Organisation, Geneva, Switzerland, 2005. [23] ISO 9001, “ISO 9001:2008 Quality management systems Requirements”, 2008. [24] ISO 9000-3, “ISO 9000-3:1997 Guidelines for the application of ISO 9001:1994 to the development, supply, installation and maintenance of computer software”, 1997. [25] ISO 9000, “ISO 9000:2000 Quality Mgt System – Fundamentals and vocabulary”, 2000. [26] ISO/IEC 12207: 2008, “System and Software Engineering – Software life cycle processes”, Geneva, Switzerland, 2008. [27] ISO/IEC 15504-5, “ISO/IEC 15504-5: 1998 Information Technology – Software Process Assessment – Part 5, An assessment model and indicator guidance”, Technical Report Type 2, 1998. [28] T.P. Rout and A. Tuffley, “A harmonizing ISO/IEC 15504 and CMMI”, Software Process Improvement and Practice, 12(4), pp. 361-371, 2007. [29] J. Moore, “An integrated collection of software engineering standards”, IEEE Software, vol. 16(6), pp. 51-57, 1999. [30] M.O. Tingey, “Comparing ISO 9000, Malcolm Bridge and the SEI CMM for Software: A reference and selection guide, Upper Saddle River: Prentice-Hall, 1997. [31] K.E. Emam, J.N Drouin, and W. Melo, “SPICE – The theory and practice of Software Process Improvement and Capability dEtermination, IEEE CS-Press, 1997, pp 450. [32] V. Haase, “Software process assessment concepts”, Journal of Systems Architecture, Elsevier, vol. 42(8), pp. 621-631, 1996. [33] T. Kasse, Practical Insight into CMMI, Norwood, MA: Artech House, 2004. [34] M.K. Kulpa and K.A. Johnson, Interpreting the CMMI: A Process Improvement Approach, Auerbach Publications, 2003. [35] ISO/IEC 15504-7, “Information Technology – Software Process Assessment – Part 7, Guide for use in process improvement”, Technical Report Type 2, 1998. [36] A. Hochstein, G. Tamm, and W. Brenner, “Service-oriented IT Management: Benefit, cost and success factors”, European Conference on Information Systems (ECIS 2005), Proceedings 13, Regensburg, Germany, 2005. [37] M.C. Paulk, “A taxonomy for improvement frameworks”, Fourth World Congress for Software Quality, 2008 [38] K.E. Emam and D.R. Goldenson, “An empirical review of software process assessments”, Advances in Computers, vol. 53, issue C, pp. 319423, 2000. [39] ISO/IEC 15504, “ISO/IEC 15504-5:2006 Information Technology – Process Assessment – Part 5, An Exemplar Process Assessment Model”, 1996