QUALITY ORGANIZER: A SUPPORT TOOL IN USING MULTIPLE QUALITY APPROACHES



Similar documents
Software Engineering CSCI Class 50 Software Process Improvement. December 1, 2014

SOFTWARE PROCESS MATURITY AND CAPABILITY EVALUATION AND ITS IMPLEMENTATION IN THE AREAS OF E-LEARNING ORGANIZATIONS

RAMALA: A KNOWLEDGE BASE FOR SOFTWARE PROCESS IMPROVEMENT

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

Time Monitoring Tool Software Development Plan. Version <1.1>

The Complex Quality World

Using the CMMI Model to Determine the Quality of a Web Project

Software Process Improvement CMM

Data Management Maturity Model. Overview

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Applying Integrated Risk Management Scenarios for Improving Enterprise Governance

Chapter 4 Software Lifecycle and Performance Analysis

Quantitative Project Management Framework via Integrating

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

Developing CMMI in IT Projects with Considering other Development Models

The Advantages of Using CENTRE

Title: Basic Concepts and Technologies for Business Process Management

Software Development Life Cycle Models - Process Models. Week 2, Session 1

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

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

Engineering Standards in Support of

AN INVESTIGATION INTO TELECOMMUNICATIONS BILLING SYSTEM TESTING PROCESSES

A Lightweight Supplier Evaluation based on CMMI

CENTRE (Common Enterprise Resource)

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

Capability Maturity Model Integration (CMMI ) Version 1.2 Overview

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

Capability Maturity Model Integration (CMMI SM ) Fundamentals

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

Using Expert System in the Military Technology Research and Development

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

The Power of Classifying in SharePoint 2010

PERSONALIZED WEB MAP CUSTOMIZED SERVICE

Leveraging CMMI framework for Engineering Services

Program Lifecycle Methodology Version 1.7

Capability Maturity Model Integratoin (CMMI) and its Assessment Process

Increasing Development Knowledge with EPFC

Understanding High Maturity Organizations

Information Systems Development Process (Software Development Life Cycle)

Experiences Gained from Applying ISO/IEC to Small Software Companies in Brazil

BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4

EVALUATION FRAMEWORK FOR SERVICE CATALOG MATURITY IN INFORMATION TECHNOLOGY ORGANIZATIONS

Implementing CMMI for High-Performance

The Advantages and Disadvantages of Using Software Engineering Standards

Service Quality Analytics and Visualizations. SLA Suite

LUXOFT ADVANTAGES. International Quality Standards

Leveraging the power of social media & mobile applications

Software Process Improvement

Rapid Prototyping of Application-oriented Natural Language Interfaces

A QTI editor integrated into the netuniversité web portal using IMS LD

Software Process Maturity Model Study

APPLICATION OF INFORMATION TECHNOLOGY SERVICE MANAGEMENT WITHIN SELECTED LOGISTICS AND TRANSPORT SERVICES

Digital archiving of scientific information Czech experience

IT Governance using COBIT implemented in a High Public Educational Institution A Case Study

Design Document Version 0.0

LDAP Authentication Configuration Appendix

Software Development Process

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Component visualization methods for large legacy software in C/C++

< IMPACT > START ACCELERATE IMPACT

Risk Repository. Prepare for Risk Management (SG 1) Mitigate Risks (SG 3) Identify and Analyze Risks (SG 2)

Requirements Engineering: Elicitation Techniques

Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology

THE IMPACT OF E-COMMERCE ON THE INTERNAL CONTROL AND ON AUDITING PRACTICES

A knowledge base system for multidisciplinary model-based water management

Browsing the World Wide Web using Yahoo! s Directory

An Empirical Analysis of Performance Evaluation of University Teachers Based on KPI

Improving Interoperability in Mechatronic Product Developement. Dr. Alain Biahmou, Dr. Arnulf Fröhlich, Dr. Josip Stjepandic

Standard Glossary of Terms Used in Software Testing. Version 3.01

CMMI Version 1.2. SCAMPI SM A Appraisal Method Changes

Frameworks for IT Management

RTI Software Development Methodology and CMMI

A Mater Of Strategy. Your master wish is to be fully informed in order to make the crucial decisions on time.

The Implementation of Wiki-based Knowledge Management Systems for Small Research Groups


THE IMPLEMENTATION OF WEB-BASED TECHNOLOGIES IN ENGINEERING DATA MANAGEMENT

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

A QTI editor integrated into the netuniversité web portal using IMS LD

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote SSA-U Appendix 5 Testing and Approval Project: E-vote 2011

VDM vs. Programming Language Extensions or their Integration

Research Data Management Framework: Capability Maturity Guide


A Grid Architecture for Manufacturing Database System

CHAPTER 1 INTRODUCTION

Introduction to Macroscope. Version 5.0. April 2012

risks in the software projects [10,52], discussion platform, and COCOMO

CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING

Data Management Maturity Model. Overview

MISMO Software Compliance Certification Program Overview VERSION 4.0

Data mining analysis of defect data in Software Development Process

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

Graduate Business Programs SDSU College of Business Administration. MBA Program of Study Worksheet. Project Management Specialization

How To Improve A Test Process

How a Content Management System Can Help

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

Opening Event Devops and Engineering Best Practices. 25th November UPTEC

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

Basics Webmail versus Internet Mail

Transcription:

QUALITY ORGANIZER: A SUPPORT TOOL IN USING MULTIPLE QUALITY APPROACHES Zádor Dániel KELEMEN (1, 2), Dr. Katalin BALLA (1, 2) (1, 2), Gábor BÓKA (1) Department of Control Engineering and Information Technology, Budapest University of Technology and Economics (BUTE), Magyar tudósok körútja 2, 1117 Budapest, Hungary, zady@inf.bme.hu, {balla, bokusz}@iit.bme.hu (2) SQI Hungarian Software Quality Consulting Institute, József krt. 53, 1083. Budapest, Hungary, {kelemen.daniel, balla.katalin, boka.gabor}@sqi.hu Abstract: In this paper we describe the main elements of a theoretical quality framework and the first working prototype of a software tool supporting it. The theoretical framework helps to get a better understanding of the complex subject of software quality and to use multiple quality approaches in a synergic way. The supporting software can be used both to understand the company s actual maturity level, and to get a deeper insight into the relationships among existing quality models and standards, thus helping the company in choosing the right quality approach. Keywords: Software Quality Management, Software Process Improvement, Situationdependent software process improvement, CMMI 1 Introduction: the problem Doing professional quality management is a must for software developing companies trying to stay in the market. Besides the fact that quality certificates are sometimes required by business partners, software companies simply cannot afford to work in a chaotic way. The standards and models used in software industry are extremely various in their approach used. The process of producing software is being still very emphasized (by models like CMMI / SPICE, by ISO 9001:2000, AQAP, ISO 12207, by project management methodologies and software development methodologies). Approaches concentrating on software product characteristics and metrics (like ISO 9126 family) are also being more and more accepted, and the same statement can be made for models and

approaches stressing the importance of the human factor (e.g. P-CMM, PSP, TSP). As no approach, model or standard covers all the aspects of software quality (although new versions models are definitely broader in their scope than the earlier ones) companies will have to choose the right approach based on their business needs. Companies doing model-based software process improvement always face two difficult questions: which model to choose to best fit the company s needs and in which direction to move for a higher software quality? Answering these questions claims solid professionalism both in the field of software development s nature and actual state at a company, and existing quality models and standards. As there is no universally definable good quality, a software company, in order to do efficient software quality management, will have to understand its most important objects in software development and to choose the right quality approach to bring it to a higher level. This real-life problem was the starting point for a research and development done in Hungary. A theoretical framework and a software tool were developed to help companies identifying important objects of software production and position them against popular quality standards and models. Chapter 2 shortly presents the theoretical framework, while chapter 3 is about the software tool. In the end of this chapter we conclude with feedback obtained on the prototype, and possibilities of further of development. This paper was written within the project KKK-GVOP-2004-K+F-3-2-2. 2 QMIM: Quality through Managed Improvement and Measurement QMIM Quality through Managed Improvement and Measurement (described in detail in [Balla 2001]) is a framework helping to deal with software quality in its complexity. It gives guidance to software companies in identifying the most important elements of their software production and to find their way among the many models, standards, methods connected to software quality. The framework facilitates understanding, consciously selecting and applying models, standards and methods connected to software quality, and combining them in a way that fits best for own needs. QMIM is not a new approach or method towards software quality, but it acts like a navigator to clarify important objects of software quality and their interconnections, as well as to position any existing quality standard, approach or methodology against these objects. The framework has well defined elements, static and dynamic aspects. A representation of the framework can be seen in Figure 1. This representation shows the basic objects of software production: itself the software product, the processes that develop the product and the resources that execute the processes. Each object has some characteristics. It has to be defined in the actual situation, its quality attributes have to be identified and their values have to be measured (metric). QMIM guidelines have been developed to help making the QMIM framework operational. Having QMIM reference framework as a starting point, the guidelines provide aid in populating the quality framework and using it in the way that fits the company's goals in the best way. The guidelines, in fact, help a company in understanding its actual situation in terms of important elements of software production (eg. product characteristics, company maturity level or capability level for some important processes). After having

understood the actual situation, QMIM guidelines give aid in selection of the quality improvement approach best fitting the company s own needs. Popular software quality models and standards are positioned against the basic elements of the framework (see some examples in Figure 1). Using QMIM guidelines, one will understand that most important business goal is to define product quality metrics, and measurement process (definition). Next, eg. ISO 9126 will be chosen as an approach for product metrics, and CMMI Measurement and analysis process area (combined with GQM) will help in defining the company s measurement process. Using the guidelines step by step, the company will be able to use more quality approaches in a synergic way, always connected to its business needs. Figure 1 The QMIM framework While executing the activities suggested by the QMIM guidelines, one will generate different types of data. The quality manager will describe the project management and the technical processes, will identify different quality attributes and metrics to measure them, will record data regarding evolution of projects, results of measurements etc. Therefore, a static data model / view of QMIM framework was developed: the QMIM data model. 3 QMIM Quality Organizer The QMIM Quality Organizer is a software tool supporting the QMIM framework, which was developed by SQI - Hungarian Software Quality Institute together with the Technical University of Budapest and Technical University of Eindhoven within a project sponsored by the EU and the Hungarian Ministry of Trade (TST-GVOP-2004-04-0079/3), between 1.12.2004-1.12.2006. The software development was started by a rigorous requirements specification. The interesting disputes regarding the functionality of QMIM carried out between industrial and academic are mentioned in [Bóka 2006]. Partners agreed in the following basic functionality of the tool:

Assessment of the actual situation should be a self assessment, based on a popular quality model, the CMMI. The tool should have a self-assessment module, containing CMMI-requirements for the different processes (see 3.2) Quality Organizer should provide a knowledge base containing the most popular quality approaches, standards and models in a structured, easily searchable format (see 3.3). The tool should provide the complete description of QMIM guidelines. It should provide connection of different standards and models to the elements of the QMIM theoretical framework (showing eg. in what percentage a standard covers a certain element of the framework). The software tool was developed using modern technological solutions (see 3.1). After internal testing, it was presented to 3 Hungarian software companies. The feedback obtained is used to further development of the tool (see 3.4). In the following we present some elements of the project in more detail. 3.1 Some architectural and technological considerations Due to the number of employees performing the process improvement, the companies demand to gain multiple user access both for the CMMI self-assessment tool and for the knowledge base. One convenient solution is an intranet application. Therefore QMIM Quality Organizer is a client-server intranet web application (composed by a web server and a HTTP browser). Taking into account that different companies use various software environments, we designed a client-server software which could be integrated in any environment without additional financial investments of the organization. Satisfying this requirement, we developed the software to run on the free LAMP 1 architecture. As an addition, the data management layer was developed in a way permitting the companies to freely choose among many different types of database servers (some of them may already have their default DB solution). This facility was integrated by using the PEAR 2 DB_Data_Object package. Several up to date technologies were used, like AJAX, Yahoo! User Interface Library (YUI), and YUI-ext. 3.2 The self-assessment tool in brief The QMIM Quality Organizer offers a CMMI-based self assessment support 3, by which the companies could assess [SCAMPI 2001] their maturity or capability level [CMMI 2006] (the function of requirements rating can be seen in Figure 1). Using the tool, the companies can gather evidences connected to each CMMI requirement. As in CMMI projects need to be assessed, basic management of organizational and project data was added to the software. QMIM Quality Organizer creates an overview of the degree to which CMMI requirements are satisfied, based on objective evidences 4 and ratings. The overview shown 1 Further information at: http://www.onlamp.com/pub/a/onlamp/2001/01/25/lamp.html 2 Further information can be found at http://pear.php.net/. 3 This functionality is compliant with the SCAMPI C appraisal method [SCAMPI 2001]. 4 To prove the conformity to CMMI requirements, different types of evidences need to be collected.

in Figure 1 can be generated for different CMMI maturity and capability levels 5 (colors symbolize the degree of meeting requirements). By the end of an assessment, a report could be generated, in which the most important assessment data are included (assessed company, appraisal details, projects included, evidences attached to requirements, requirements satisfaction level etc.) Figure 2 CMMI self assessment overview (level 5, continuous representation) 3.3 Some features of the knowledge base Depending on the results given by the assessment tool, a situation-dependent improvement program can be started, concurrently using different quality approaches. Supporting this, the QMIM Quality Organizer offers a knowledge base that stores well known quality standards, best practices, models, definitions and other types of quality approaches. We categorized the quality elements into: guideline, case study, best practice, tutorial, lifecycle, template, definition, metric, quality attribute, software tool and certificate description. The detailed description of these categories can be found in [Bóka 2006]. Up to now, the knowledge base contains 25 quality elements: the description of: 3 ISO standards, 11 ISO-IEC standards, 9 Hungarian standards, CMMI model and browser, and a detailed description of QMIM framework. These quality documents are continuously upgraded and maintained by the developer SQI. The software shows all these quality approaches in connection to the QMIM framework. 5 By using the CMMI model we can choose between two different approaches: staged and continuous. Based on the approach chosen maturity or capability levels can be assessed.

All documents included in the software are converted to a common, searchable format. Additional details of approaches are included to QMMI Quality Organizer, as well as a common search function covering all the documents. Moreover, all definitions found in quality documents have been extracted and added to the database, so the definitions could be checked if needed (see Figure 2). 3.4 Feedback received Figure 3 Browsing a quality element in knowledge base Three, differently sized Hungarian software companies were surveyed for feedback on the first working prototype of QMIM Quality Organizer (details on the survey described in [Backer 2006]). Feedback shows that companies having already dealt with the organizational factors (like management commitment and staff involvement) could benefit from the knowledgebase, overview of relations between standards (with the help of the QMIM model) and the self-appraisal tool provided. It seems that it is the size of company that influences their choice of Quality Organizer functions. The size might also be related to the degree into which a company has already made progress in the field of quality management. The largest company has the most experience in quality improvement projects. Such a company is more interested in the selfappraisal functions, while the smaller companies are more focused on the knowledge base. 4 Conclusion Although, the number of companies surveyed is too small to draw global conclusions, there is a clear indication that QMIM Quality Organizer has added value for software engineering companies which are working on continuous software quality improvement. Further development on QMIM Quality Organizer is needed to build a competitive commercial product. Based on the feedback received, our intention is to continue the project by refining the actual version. By making the GUI more uniform, refining the

overview of self-appraisal and the generated report, as well as including furthermore calculations of maturity levels could be directions for improvement, as well as including further quality elements into the knowledge-base and linking different approaches (eg. including and linking PSP, TSP and GQM, linking CMMI and ISO9001:2000 (we already did research regarding the latter). Another interesting question would be the separation of the two main functionalities to two different products. 5 Acknowledgement We would like to thank Prof. dr. Rob J. Kusters and Dr.ir. Jos J.M. Trienekens for their indispensable scientific support. We would like to thank as well Peter Schroen, Dirk van Driel and Hans de Backer for their contribution in defining the requirements and getting feedbacks from Hungarian software companies. Their results were used while writing this paper. 6 References [BALLA 2001] BALLA K. 2001: The complex quality world. Developing quality management systems for software companies. Ph.D. thesis. Beta Books, Technische Universiteit Eindhoven, 2001. ISBN: 90-386-1003-3 [BÓKA 2006] Bóka G., Dr. BALLA K., Prof. dr. KUSTERS R., Dr.ir. TRIENEKENS, J. 2006: Towards Tool Support for Situation-Dependent Software Process Improvement. EuroSPI2006 Conference Proceedings, 9.1-9.11. [BACKER 2006] BACKER H., 2006: Practical Training Report [SCHROEN 2005] SCHROEN P. 2005: Modeling and Managing Software Quality, an elaboration on QMIM. TU/e Internal Research Report. TU Eindhoven, 2005. [CMMI 2006] CMMI for Development, Version 1.2 CMU/SEI-2006-TR-008 [SCAMPI 2001]: Standard CMMI Appraisal Method for Process Improvement (SCAMPISM),Version 1.1: Method Definition Document.