What do you think? Definitions of Quality



Similar documents
Software Engineering: Analysis and Design - CSE3308

Comparative Analysis of Different Software Quality Models

CSC 408F/CSC2105F Lecture Notes

Darshan Institute of Engineering & Technology Unit : 7

Software Engineering Compiled By: Roshani Ghimire Page 1

The Personal Software Process 1 by Watts S. Humphrey watts@sei.cmu.edu Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Manufacturing View. User View. Product View. User View Models. Product View Models

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Introduction to Software Engineering. 8. Software Quality

Plan-Driven Methodologies

Chap 1. Software Quality Management

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

The Personal Software Process (PSP) Tutorial

CENTRE (Common Enterprise Resource)

Fundamentals of Measurements

Software Quality Assurance: VI Standards

Quality Management. Objectives

Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1

Lecture 1: Introduction to Software Quality Assurance

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Lecture 8 About Quality and Quality Management Systems

Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control

Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR. Annex 2 SYSTEM AND SOFTWARE QUALITY

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management

The Capability Maturity Model for Software, Version 1.1

Implementing a Personal Software Process (PSP SM ) Course: A Case Study

CENTRE (Common Enterprise Resource)


CENTRE (Common Enterprise Resource)

Maturity Model. March Version 1.0. P2MM Version 1.0 The OGC logo is a Registered Trade Mark of the Office of Government Commerce

Software Production and Lifecycle Models

CMMI Version 1.2. SCAMPI SM A Appraisal Method Changes

CENTRE (Common Enterprise Resource)

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

Software Quality Assurance. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

Process Improvement. From the Software Engineering Institute:

The Personal Software Process SM (PSP SM )

Toward Quantitative Process Management With Exploratory Data Analysis

Quality Management. Lecture 12 Software quality management

CORPORATE QUALITY MANUAL

Quality Management. Managing the quality of the software process and products

Software Engineering 9.1. Quality Control

MTAT Software Engineering Management

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Basic Principles and Concepts for Achieving Quality

Chapter 7. Project Quality 7-2

The Role of Information Technology Studies in Software Product Quality Improvement

The Advantages of Using CENTRE

Process Models and Metrics

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI. Y.Batu Salman, Adem Karahoca

Quantitative Project Management Framework via Integrating

Verification and Validation of Software Components and Component Based Software Systems

Learning outcomes. Systems Engineering. Software Quality Management. Product reflects Process. Lecture 5. Introduction to Software Quality Management

Software Test Plan (STP) Template

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Page 1 of 7 Effective Date: 12/18/03 Software Supplier Process Requirements

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

Example Software Development Process.

Quality Management Subcontractor QM Guide-Section Two

How To Write Software

Understanding High Maturity Organizations

International Journal of Advance Research in Computer Science and Management Studies

Chapter 8: Project Quality Management

Project Quality Management. Project Management for IT

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Software Metrics & Software Metrology. Alain Abran. Chapter 4 Quantification and Measurement are Not the Same!

Developing CMMI in IT Projects with Considering other Development Models

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

ITIL A guide to release and deployment management

<name of project> Software Project Management Plan

Knowledge Infrastructure for Project Management 1

Project Management. Week 9 Quality Assurance. Quality Assurance. Lecture Overview

Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

An Enterprise View to Running the Business of IT

Total Quality. 1) Quality

Certification Authorities Software Team (CAST) Position Paper CAST-26

CDC UNIFIED PROCESS JOB AID

Achieving ISO 9001 Certification for an XP Company

Software Engineering Question Bank

A Comparative Study of Software Quality Models

PROJECT QUALITY MANAGEMENT

NEOXEN MODUS METHODOLOGY

IT/Software Project Management Core Functions

Software engineering: a quality management perspective John McManus University of Lincoln, Lincoln, UK, and

Eagle Machining, Inc. Quality Management System

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

SOFTWARE ASSURANCE STANDARD

Quality in Use: Meeting User Needs for Quality

Certification of Externally Developed Software Craig A. Schiller Payoff

Quality Management. What is quality? Managing the quality of the software process and products ISO 9000

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1

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

DEC STD ISO Quality Systems - Model for Quality Assurance in Production and Installation

EPA Classification No.: CIO P-01.1 CIO Approval Date: 06/10/2013 CIO Transmittal No.: Review Date: 06/10/2016

V&V and QA throughout the M&S Life Cycle

Transcription:

What do you think? What is your definition of Quality? Would you recognise good quality bad quality Does quality simple apply to a products or does it apply to services as well? Does any company epitomise quality in your mind? What would you consider to be quality control Who should be in charge of quality? Who graduates and then goes into quality? Definitions of Quality Quality is fitness for use - Juran those product features which meet the needs of the customers and thereby provide product satisfaction freedom from deficiencies Quality is conformance to requirements and zero defects - Crosby Quality is the totality of characteristics that bear upon its ability to satisfy stated or implied needs - ISO9000 stated needs - specified as requirements by a customer implied needs - identified and defined by the company providing the product Page 1

Defining Software Quality Software Quality is conformance to: explicitly stated functional and performance requirements explicitly documented development standards implicit characteristics that are expected of all professionally developed software Software Quality is ambiguous, subjective and multidimensional This makes it difficult to implement The need for more detailed measures of quality Previous definitions are high-level and difficult to measure Requirements are difficult to specify Requirements are usually incomplete Next Experiment: Compare software warranties with hardware warranties Page 2

The Hardware Warranty Company X warrants that the products it manufactures and sells are free from defects in materials and workmanship. If any product fails to operate properly, the company will repair the defective product and restore it to normal operation without charge The Software Warranty Company X s sole obligation under this warranty will be to provide support services described in our current software support policy. The company does not warrant that the licensed software is free from defects or that the support services will correct any defects that might exist. Page 3

The ilities -Software Quality Attributes (1) Product Operation Correctness Does it do what I want? Tool - Use Cases Reliability Does it do it accurately all of the time? Tool - Formal methods Efficiency Will it run on my hardware as well as it can? Tool Good algorithmic design, appropriate language (even Assembler in some cases) Integrity Is it secure? Tool - Java Useability Is it designed for the user? Tool - User-centred design The ilities -Software Quality Attributes (2) Product Revision Maintainability Can I fix it? Tool - Encapsulation Flexibility Can I change it? Tool - Encapsulation Testability Can I test it? Tool - Interfaces Page 4

The ilities -Software Quality Attributes (3) Product Transition Portability Will I be able to use it on another machine? Tool - Java, ANSI C, (and other emerging technologies) Reusability Will I be able to reuse some of the software? Tool - OO class libraries (e.g. GUI components), function libraries (e.g. Numerical Recipes in C) Interoperability Will I be able to interface it with another system? Tool - CORBA, DCOM Metrics for Quality /1 Many quality factors are difficult or impossible to measure directly Need to develop indicative measures of the quality factors Unfortunately many of these measures are still subjective Two methods are: McCall s checklist approach Hewlett-Packard s FURPS.. Page 5

Metrics for Quality /2 Two methods are: Hewlett-Packard s FURPS Functionality feature set, capabilities of program, generality of delivered functions, security of overall system Useability human factors, overall aesthetics, consistency and documentation Reliability frequency and severity of failure, accuracy of output, MTTF, ability to recover from failure, predictability Performance processing speed, response time, resource consumption, throughput, efficiency Supportability extensibility, adaptability, serviceability testability, compatibility, configurability, ease of installation, ease of problem localization Software Quality Activities A - Quality Assurance The production of organisational procedures and standards which lead to high-quality software B - Quality Planning Choosing appropriate procedures and standards and tailoring them for a specific software project C - Quality Control Ensuring that procedures and standards are followed by the software development team Which of these is the most important? Page 6

Software Quality Assurance How an organisation defines the methods by which it will achieve quality Organisation must define or select standards Quality of the product is influenced by the quality of the process Standards need to be embedded in the software development process All this will be documented in a Quality Manual The relationship between software process and product quality is complex and poorly understood Assuring Quality Need to ask four questions WHAT attributes of the product manifest quality in your context? HOW is quality to be measured? WHEN do we evaluate the product and the process? WHO is responsible for carrying out the process? Quality relies on people, but we can greatly help or hinder people from producing quality Page 7

Quality Principles Try to prevent defects from being introduced Ensure that defects that get in are detected and corrected as early as possible Establish and eliminate the causes as well as the symptoms of defects Measure quality characteristics Independently audit work for compliance with standards and procedures The Quality Plan Is specific to a project Produced early in the life of a project Should set out desired product qualities Should define how the quality is to be assessed Should indicate which standards are to be applied Indicate how compliance to the standards is monitored and assured May define new standards Page 8

Contents of Software Quality Plan from ISO9000 Management responsibility Quality system Contract review Design control Quality control Purchasing Customer supplied info Configuration management Process control Inspection and testing Inspection and testing equipment Control of non-conforming product Corrective action Handling, storage, packing and delivery Quality records Internal quality audits Training Software maintenance Statistical techniques Control of the development environment Quality Control Ensuring that all of the above gets done! Tyranny is not effective in ensuring that the work is done People must see a clear benefit to them in performing the above activities Embedding the procedures in day-to-day work is essential Reviews are one of the major tools for quality control Page 9

Quality Standards Major standards ISO9000 international set of standards ISO9000-3 is a specific subset aimed at software development Aims to document the work practices of the organisation Quality Standards (2) Organisations must be certified to be granted ISO9000 status Certification is granted by independent auditing groups Certification is not cheap (approximately $500,000 for a medium-sized company) Certification need not bring any benefits to the company in terms of quality, but only in terms of marketing Certification is an on-going process; audits are carried out annually Page 10

Quality Standards (3) To get benefits from quality standards must use sound management techniques must aim to improve the process employees must participate actively Quality standards are of greatest value to those organisations which don t already have formal development processes They don t replace individual skills and abilities They can only be as good as the work practices which they document Page 11

Beyond Quality Standards Quality standards are only a necessary first step towards a software development environment which produces quality software We need to define what sub-processes are necessary in the overall process The Capability Maturity Model (CMM) documents this for organisations The Personal Software Process (PSP) does this for individual developers The Capability Maturity Model Developed by the Software Engineering Institute (SEI), based on work by Watts Humphrey American Government initiative More Later.. Personal Software Process For you Page 12

The Personal Software Process Mirrors the CMM for an individual designed to help you become a better software engineer requires research, motivation and study to work Framework for why you make errors and how you find them determining the quality of your reviews determining the types of errors you make Developed by Watts Humphrey PSP0 PSP0 - Baseline Process your current process with some basic measurements and a reporting format time recording defect recording defect type standard PSP0.1 a coding standard size measurement process improvement proposal Page 13

PSP1 PSP1.0 - Personal Planning Process adds planning steps to PSP0: PSP1.1 test report size and resource estimation to establish a performance rate for future planning PSP1.0 enhanced by adding: task planning schedule planning PSP2 PSP2.0 Personal Quality Management Process adds review techniques to PSP1 to help you find defects early: design reviews code reviews defect rates are typically 1 per 5-12 lines of code, do you know what yours is? PSP2.1 establishes design completeness criteria: design templates Page 14

PSP3 PSP3 - Cyclic Personal Process For large programs - 10,000 LOC Sub-divide into PSP2-sized modules Enhance the base module in iterative cycles In each iteration do a complete PSP2 including design, code, compile, test Effectively scale up from base module to large program, if each increment is of high quality Overview of CMM and PSP CMM sets out the principal practices for managing the processes in large-scale software development PSP sets out the principal practices for defining, measuring and analysing an individual s own processes Page 15

References Pressman, Roger S., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2000 (Ch. 19). Capability Maturity Model for Software (SW- CMM ), The Software Engineering Institute (SEI), Carnegie Mellon University. http://www.sei.cmu.edu/cmm/cmm.html The Personal Software Process SM (PSP SM ), The Software Engineering Institute (SEI), Carnegie Mellon University. http://www.sei.cmu.edu/tsp/psp.html Page 16