Software Product Quality Practices Quality Measurement and Evaluation using TL9000 and ISO/IEC 9126



Similar documents
An integrated life cycle quality model for general public market software products

Quality engineering process for the Program Design Phase of a generic software life cycle

TL 9000 and TS16949 Comparison

DRAFT TABLE OF CONTENTS 1. Software Quality Assurance By Dr. Claude Y Laporte and Dr. Alain April

ISO/IEC 90003:2004 covers all aspects

Application of software product quality international standards through software development life cycle

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

Software Maintenance Capability Maturity Model (SM-CMM): Process Performance Measurement

SC7-ISO20000 Alignment issues Aligning ITIL to existing ISO JTC1- SC7 Software Engineering Standards

Small tech firms. Seizing the benefits of software and systems engineering standards

Software Engineering Reference Framework

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Software Quality Assurance in an Undergraduate Software Engineering Program

ISO/IEC JTC1/SC7 N4098

ISO 9001/TL 9000 and CMMI Comparison

ISO 9000 Quality Management System and Accessibility. Sean MacCurtain ISO/CASCO Secretary

The Development of Systems Engineering International Standards and Support Tools for Very Small Enterprises

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

Software Quality. Unit9. Software Quality Standards

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization

The Role of Information Technology Studies in Software Product Quality Improvement

An Overview of Software Engineering Process and Its Improvement

Model of Resources Requirements for Software Product Quality Using ISO Standards

How To Create A Process Measurement System

Towards a standard approach to supply chain integrity. Claire Vishik September 2013

Chapter 4 Software Lifecycle and Performance Analysis

Verona: On-Time, On-Scope, On-Quality

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

TIPA : services based on standards

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Global Account Management for Sales Organization in Multinational Companies *

An Example of Using Key Performance Indicators for Software Development Process Efficiency Evaluation

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Project Models

Design Document Version 0.0

3SL. Requirements Definition and Management Using Cradle

Introduction to Software Engineering

Software Quality Management II

A Study of RE Across Different Software Development Lifecycle Models. Afiya Nusrat and Navreet Ghag CS 846 Spring 2015

System Development Life Cycle Guide

ISO/IEC Software Product Quality Model

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Working Group 5 Identity Management and Privacy Technologies within ISO/IEC JTC 1/SC 27 IT Security Techniques

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

A Software Engineering Model for Mobile App Development

Applying Integrated Risk Management Scenarios for Improving Enterprise Governance

The SWEBOK Initiative and Software Measurement Intentions

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS

V-Modell XT. Part 1: Fundamentals of the V-Modell

Draft Requirements Management Plan

The Role of Requirement Engineering in Software Development Life Cycle 1

The most suitable system methodology for the proposed system is drawn out.

11 Tips to make the requirements definition process more effective and results more usable

Methods Commission CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS. 30, rue Pierre Semard, PARIS

Software Production and Lifecycle Models

ISO/IEC 27002:2013 WHITEPAPER. When Recognition Matters

Measurement Information Model

Requirements engineering

TECHNICAL SUPPORT AS A BASIS OF HIGH AVAILABILITY LEVEL AND IT SYSTEM SERVICE QUALITY*

Configuration Management Practices

Fusion Engineering and Design

Reaching CMM Levels 2 and 3 with the Rational Unified Process

An Implementation Roadmap

Practical Agile Requirements Engineering

The Role and Task of the System Architect

- Table of Contents -

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

The IT Infrastructure Library (ITIL)

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Elite: A New Component-Based Software Development Model

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Principles of IT Governance

How to Upgrade SPICE-Compliant Processes for Functional Safety

The Emergence of Software Engineering Professionalism

ELECTROTECHNIQUE IEC INTERNATIONALE INTERNATIONAL ELECTROTECHNICAL

Quality in Use: Meeting User Needs for Quality

QUALITY ORGANIZER: A SUPPORT TOOL IN USING MULTIPLE QUALITY APPROACHES

Applying CMMI SM In Information Technology Organizations SEPG 2003

Transcription:

Software Practices Measurement and Evaluation using TL9000 and ISO/IEC 9126 Witold Suryn 1, Alain Abran 2, Pierre Bourque 3, Claude Laporte 4 Department of Electrical Engineering, École de Technologie Supérieure (ÉTS) Montréal, Québec, Canada, H3C 1K3 (aabran@ele.etsmtl.ca, wsuryn@ele.etsmtl.ca, pbourque@ele.etsmtl.ca, claporte@ele.etsmtl.ca) Fax: +1 (514) 396 8684 1 Witold Suryn is the executive co-editor and co-editor of ISO/IEC 9126, ISO/IEC 14598 and ISO/IEC SQuaRE series of standards 2 Alain Abran is the Secretary of ISO/IEC JTC 1/SC7 and Co-Executive Editor, SWEBOK Project 3 Pierre Bourque is 4 Claude Laporte is Abstract. This paper presents a combined, high level view of TL9000 Handbook and ISO/IEC 9126 in the process of defining, measuring, evaluating and finally achieving appropriate of user-centered software product. In its practices-related part this paper discusses the benefits, which the use of TL9000 product operational (in-thefield) can bring to setting up, measuring and evaluating the of the software product being developed, through its entire life cycle. Keywords: software product, operational,, evaluation, standards. 1. Identification of requirements For the users, a software product more and more often corresponds to a black box that must effectively support their business processes. In consequence of this natural approach business needs become a driving force of software product development. This in turn requires that operational and satisfaction of using a software product set the framework for software product development effort: at the beginning of the development process to elicit business-related software product requirements, while at the end - to allow a rigorous evaluation. This business view of is illustrated in Fig.1 REQUIRED And Satisfaction Definition Development Fig. 1 Business View of software product OBTAINED And Satisfaction in Use

Identifying requirements that can be elicited, formalized and further evaluated in each phase of full software product lifecycle thus becomes a crucial task in the process of building a high software product. The QUEST Forum s Handbooks are designed specifically for the telecommunications industry to document the industry s system requirements and. The TL 9000 System Requirements Handbook [1] establishes a common set of system requirements for suppliers of telecommunications products: hardware, software or services. The requirements are built upon existing industry standards, including ISO 9001. The System Measures Handbook [2] defines a minimum set of performance, cost and indicators to measure progress and evaluate results of system implementation., applicability in software product lifecycle is illustrated in Fig.2. Requirements Definition Development Measurements in Use Fig.2 Applicability of TL9000 standards in software product lifecycle In parallel the ISO/IEC Subcommittee 7 (SC7) on system and software engineering has developed set of standards for the full development process. These standards take the initial requirements into account during each of the development phases, allowing the planning, its design, monitoring and control. Software product can be evaluated by measuring internal attributes (typically static of intermediate products), or by measuring external attributes (typically by measuring the behaviour of the code when executed), or by measuring in use attributes. The objective is for the product to have the required effect in a particular context of use. To produce these effects measurement and evaluation of the of software product has to be present during all its lifecycle (Fig. 3). process software product effect of software product process process influences depends on internal attributes internal influences depends on external attributes external influences depends on Fig.3 ISO/IEC 9126 in lifecycle in use attributes in use Moreover, the proper measurement and evaluation methodologies have to be present and applied. ISO/IEC 9126 series of standards [3, 4, 5, 6] offers both broadly recognized models and appropriate measurements together with scales and measurement methods. ISO/IEC 14598 series of standards [7, 8, 9, 10, 11, 12] is a complementary set offering the support for software evaluation processes. Figure 4 presents how these ISO/IEC standards integrate to the TL9000. The practical use of these two combined sets of standards requires however a much more detailed view and, in order to define, plan and implement the, the precise identification of applicable standards and their particular documents for each phase of software development process. contexts of use

Requirements Definition SW Requirements Development ISO/IEC SC7 Standards for Software transition of requirements applicability of standards Fig.4. Integration between TL9000 and ISO/IEC SC7 standards Measurements in Use The ISO/IEC standards being further considered are: ISO/IEC 9126 series - Software and System Engineering Software Metrics. 1999-2002 [3, 4, 5, 6] ISO/IEC 14598 series Software and System Engineering Software Evaluation. 1996-2002 [7, 8, 9, 10, 11, 12] 2. measurement and evaluation practices For the simplicity of the following discussion the practical steps to follow correspond to software life cycle phases proposed in ISO/IEC 15288 [13]. Discovery Phase. In this phase three sets of requirements have to be identified and defined: Functional and non-functional requirements of the product (out of the scope of this paper) requirements, and in Use requirements It is important to note here, that according to the model of in software life cycle defined in ISO/IEC 9126-1 [3] the requirements of in Use contribute to specifying External requirements, which in turn contribute to specifying Internal requirements. This indicates that the attributes of in Use have the direct impact on technical and technological decisions that (will) have to be taken when the development process starts. This requires that in Use characteristics be analyzed, applicable identified and target values for each of them assigned. The ISO standard to be applied to complete this task is ISO/IEC 9126 Part 4: in Use Metrics [6]. The characteristics to be analyzed are: effectiveness productivity safety, and satisfaction in Use requirements help define success criteria of the new software product however alone they will not assure the product s long term success in the market. Such a success is achieved when in Use comes together with, among the others, fulfilled operational requirements. Again, this requires that operational requirements be analyzed, applicable identified and target values for each of them assigned. Management System Measurement Handbook [2] identifies

four (4) categories of requirements and/or measurements applicable to software products: common measurements referring to number of problems reported, response time, overdue problem responsiveness and on-time delivery hardware and software measurements referring to system outage software measurements referring to software installation and maintenance service measurement referring to service The final set of requirements and their targeted values, comprising of both operational and in Use requirements will then become the major milestone and contributor in the definition of functional and nonfunctional requirements of the future software product with the user perception of the software product already sewn into the overall definition. Requirements Analysis Phase. In this phase the applicable requirements define external and internal attributes of software product to be developed. The ISO standards applied in this phase are: ISO/IEC 9126 Part 2: External Metrics [4], and ISO/IEC 9126 Part 3: Internal Metrics [5] It has to be stressed here, that the attributes of both external and internal being defined in this phase make direct descendants of requirements previously set up in the Discovery phase, so the critic rule of traceability in software engineering is being conserved. Implementation Phase. This phase as the first in the whole life cycle creates a product that can be measured and evaluated. The created product is intermediate and changes many times before becoming a ready-to-use solution, but exactly due to this fact it is critical to measure and evaluate its. Every iteration with measured and evaluated produces indications yielding further improvements. Measurement, documentation and evaluation of Internal (and, if needed, External ) attributes defined in Requirements Analysis phase are supported by the procedure below: Measurements of Internal and External attributes. Documents to be used: ISO/IEC 9126 Part 2 and 3 [4, 5] Documentation of measurements. Document to be used: ISO/IEC 14598 Part 6 [12] Evaluation of the of the intermediate products. Documents to be used, depending on the position of the evaluating entity: ISO/IEC 14598 Part 3: Process for Developers [9], Part 4: Process for Acquirers [10] or Part 5: Process for Evaluators The results of measurements of Internal and External attributes are compared with target values assigned to them in previous phases and the conclusions are feed backed to development teams as the corrective of improvement. Verification Phase. The product is integrated and stakeholder s functional,

non-functional and External requirements have to be satisfied in this phase. The process of the evaluation of External requires a similar procedure as Internal evaluation in the previous phase and is being similarly well supported by standardization instruments. The results of measurements of External attributes are compared with target values assigned to them in previous phases. The resulting conclusions may be feed backed as the corrective of improvement. The feedback may be directed to different phases of the process depending on the level of the severity of discrepancies between required and obtained External. Validation Phase moves the software product to the business level, where the user validates its usefulness for conducting his business, usually with no regard to technicalities. This means that in Use requirements have to be satisfied here and now. The process of the evaluation of in Use requires the same procedure as External evaluation and is being equally well supported by standardization instruments. The only difference is in using ISO/IEC 9126 Part 4 [6] instead of ISO/IEC 9126 Part 2. The results of measurements of in Use attributes are compared with target values assigned to them in previous phases. The resulting conclusions may be feed backed as the corrective of improvement. The feedback may be directed to different phases of the process depending on the level of the severity of discrepancies between required and obtained in Use. Operation and Maintenance Phase is the phase where software product is finally evaluated in terms of operational and in Use. measurements require data, which to be representative have to be collected over relatively long period of time. In this case the procedure uses Management System Measurements Handbook [2] in order to perform needed calculations and evaluate obtained operational. Depending on the area of measurement and evaluation the results can be used immediately, f.e. for improvements of the service, or in next round of product development, if the evaluation indicates weaknesses of the product being in the field. Applying measurements and evaluation of in Use in Operation and Maintenance phase proves it very sense especially in cases of large and complicated software products. Validation phase, where in Use is being measured and evaluated for the first time makes a relatively short period with limited exploration opportunities (as f.e. limited number of users) while Operation and Maintenance phase offers natural circumstances with unlimited time and exhaustive conditions of exploitation. Thus the important question in this case would be how long? The structure product-user usually reaches its level of stability after few months of exploitation so it makes sense to conduct in Use measurements and evaluation through the similar period. Further measurement efforts would not most probably deliver substantial data due to the routinization of interaction between the user and the product. The

measurement and evaluation procedure for in Use in Operation and Maintenance phase would be the same as proposed for Validation phase. The evaluation results can be useful both immediately (evolutional role of maintenance process) and in long term perspective, when new product or its release will be considered. 3. Applicability considerations The process discussed in part 2 of this paper omits Architectural Design phase, Integration phase and Transition phase. The reasons for not considering these phases come from the fact that ISO/IEC standards address them poorly or do not address them at all. Both TL9000 and ISO/IEC standards offer the process support for identification, definition, measurement and evaluation of software product. In case of TL9000 Management System Requirements Handbook [1] the support processes are located on the corporate level. In case of ISO/IEC standards the support is placed on measurement process management level and is being offered through ISO/IEC 14598 Software Evaluation Part 2: Planning and management [8] Bibliography [1] TL9000 Management System Requirements Handbook, Release 3.0, QuEST Forum 2001 [2] TL9000 Management System Measurements Handbook, Release 3.0, QuEST Forum 2001 [3] ISO/IEC 9126 Software and System Engineering Part 1: model. 1999-2002 [4] ISO/IEC 9126 Software and System Engineering Part 2: External Metrics. 1999-2002 [5] ISO/IEC 9126 Software and System Engineering Part 3: Internal Metrics. 1999-2002 [6] ISO/IEC 9126 Software and System Engineering Part 4: in Use Metrics. 1999-2002 [7] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 1: General overview. 1999-2002 [8] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 2: Planning and management. 1999-2002 [9] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 3: Process for developers. 1999-2002 [10] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 4: Process for acquirers. 1999-2002 [11] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 5: Process for evaluators. 1999-2002 [12] ISO/IEC 14598 Software and System Engineering Software Evaluation Part 6: Documentation of evaluation modules. 1999-2002 [13] ISO/IEC 15288 - Software and System Engineering Life Cycle Management System Life Cycle Processes. 2002