Lecture 8 About Quality and Quality Management Systems



Similar documents
Software Quality Management

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

Software Quality Assurance: VI Standards

A Report on The Capability Maturity Model

Software Quality Management II

MTAT Software Engineering Management

LUXOFT ADVANTAGES. International Quality Standards

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

Software Engineering: Analysis and Design - CSE3308

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

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

Frameworks for IT Management

Software Engineering Compiled By: Roshani Ghimire Page 1

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

Darshan Institute of Engineering & Technology Unit : 7

Leveraging CMMI framework for Engineering Services

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

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

Applied Software Project Management

Lecture Softwareengineering-Vertiefung

Developing CMMI in IT Projects with Considering other Development Models

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

The Role of Information Technology Studies in Software Product Quality Improvement

P3M3 Portfolio Management Self-Assessment

Foredragfor Den Norske Dataforening, den

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Process Improvement -CMMI. Xin Feng

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

CMMI KEY PROCESS AREAS

The Configuration Management process area involves the following:

Introduction to Software Engineering. 8. Software Quality

Mature Agile with a twist of CMMI

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Quality Management. Objectives

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

The Capability Maturity Model for Software, Version 1.1

Process Improvement. From the Software Engineering Institute:

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

ADOPTION AND UP GRADATION OF CMMI: PROSPECT OF SOFTWARE INDUSTRY OF BANGLADESH. A Thesis

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

Basic Testing Concepts and Terminology

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

What do you think? Definitions of Quality

CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS

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

The Advantages of ISO 9001 Certification

Software Development Life Cycle (SDLC)

Applying Integrated Risk Management Scenarios for Improving Enterprise Governance

Domain 1 The Process of Auditing Information Systems

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

ISO 9001 Quality Management System

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

Australian Computer Society. Policy Statement

CMS Policy for Capability Maturity Model Integration (CMMI)

A Capability Maturity Model (CMM)

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

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

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

The Capability Road Map a framework for managing quality and improving process capability

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

Reaching CMM Levels 2 and 3 with the Rational Unified Process

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

CAPABILITY MATURITY MODEL INTEGRATION

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

Mike Peters Senior Test Consultant/Delivery Manager LogicaCMG All rights reserved

Modern practices TIE-21100/

A Modeling of Software Quality Management Base ISO 9001 *

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.

Software Process Maturity Model Study

Controlling Software Acquisition: Is Supplier s Software Process Capability Determination Enough?

MKS Integrity & CMMI. July, 2007

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

Fundamentals of Measurements

Jason Bennett Thatcher Clemson University, 101 Sirrine Hall, Clemson, SC U.S.A.

PSCIOC IM Sub-Committee E-Records Project

About this guide. 4 The syllabus requires knowledge of this topic This is material that may be of interest to the reader but is

Characteristics of Computational Intelligence (Quantitative Approach)

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

IT Governance. What is it and how to audit it. 21 April 2009

Quality assurance in an Agile delivery method

ITIL & The Service Oriented Approach. Vivek Shrivastava

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

ISO/IEC Software Product Quality Model

The Asset Management Landscape

SOFTWARE ASSURANCE STANDARD

COBIT Helps Organizations Meet Performance and Compliance Requirements

Software Development Process Selection Approaches

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

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

Effective Test Management can help you to launch mobile payments faster, smarter and cheaper

EASPI EASPI. The Integrated CMMI-based Improvement Framework for Test and Evaluation. Jeffrey L. Dutton Principal Consultant

CSC 408F/CSC2105F Lecture Notes

GUIDE 62. General requirements for bodies operating assessment and certification/registration of quality systems

UML Modeling of Five Process Maturity Models

CENTRE (Common Enterprise Resource)

Applied Agile Practices for Large-scale Organizations

Testing of safety-critical software some principles

Introduction to Software Engineering

Transcription:

Lecture 8 About Quality and Quality Management Systems Kari Systä 10.03.2014 10.03.2014 TIE-21100/21106; K.Systä 1

Content of today s lecture Two weeks ago we discussed about testing and inspections, that are means to improve quality. Today we discuss what is quality anyways, and go through quality management systems and quality standards of software engineering. 10.03.2014 TIE-21100/21106; K.Systä 2

Learning goals Develop a holistic view to SW quality Learn basics of quality management systems and related standards Know what concepts ISO9000 series CMMI SPICE mean 10.03.2014 TIE-21100/21106; K.Systä 3

About our program Exercise 13.1 Introduction to the course and software engineering Article: Silver bullet 20.1 Week Lecture 27.1 Project planning Project management 3.2 Scrum Tool: processing 10.2 Requirement management Tool: Agilefant 17.2 Other methods; Lean; Kanban. Article: From Traditional, to Lean, to Agile 24.2 Improving Quality: review Testing; CTC tool family practices, testing and quality assurance 3.3 break Break 10.03.2014 TIE-21100/21106; K.Systä 4

Week Lecture Exercise 10.3 Quality in general; Patterns Quality management systems 17.3 Dependable and safety-critical systems ISO9001 24.3 Work planning; effort estimation Code inspections 31.3 Version and configuration management Effort estimation 7.4 Role of software architecture; product? families; software evolution 14.4 Specifics of some domains, e.g. web Break? system and/or embedded and real time systems 21.4 Easter Break? 28.4 Software business, software start-ups? 5.5 Last lecture; summary; recap for exam? 10.03.2014 TIE-21100/21106; K.Systä 5

A FEW THOUGHTS ABOUT QUALITY The next four slides are based on presentation of Esko Hannula (CEO of Qu entinel) 10.03.2014 TIE-21100/21106; K.Systä 6

Many different definitions People Subjective view on what is good and valuable. Development Engineer Meeting of the predefined criteria Quality manager Operation complies with standardized quality systems Production Engineer How big % of the patch fulfils the predefined criteria- 10.03.2014 TIE-21100/21106; K.Systä 7

SW Quality defined in terms of problems, deviations, bugs cost Cost of bad management Implementation Cost of waste Cost of quality assurance Cost of error correction Deployment Cost of delays Cost of changes and training Cost of workarounds Cost of missing things Production Cost of errors Cost of error correction Cost of exta features Cost of breaks in operations Cost of extra maintenance 10.03.2014 TIE-21100/21106; K.Systä 8

Stakeholders and quality of software User Can perform tasks - easily - reliably CEO Cash-flow Revenue Productivity CIO Maintenance and operation costs. User support. Business complaints. Project manager Schedule is met Budget is met 10.03.2014 TIE-21100/21106; K.Systä 9

Quality is about value Fits business needs and ways of working Accepted by end-users Quality Fulfills the (known) requirements Implemented and operated well 10.03.2014 TIE-21100/21106; K.Systä 10

Software Quality attributes according to ISO 9126 (old standard) Analyzability Changeability Stability Testability Maintainability Adaptability Installability Co-existence Replaceability Portability Time behavior Resource utilization Efficiency ISO 9126 External and internal quality Usability Functionality Reliability Understandability Learnability Operability Attractiveness Suitability Accuracy Interoperability Security Maturity Fault tolerance Recoverability 10.03.2014 TIE-21100/21106; K.Systä 11

Software Quality attributes according 10.03.2014 Confidentiality Integrity Non-repudiation Accountability Authenticity Modularity Reusability Analyzability Changeability Stability Testability to ISO 25010:2011 Security Maintainability Transferability Portability Adaptability Installability Time behavior Resource utilization Efficiency ISO 9126 External and internal quality TIE-21100/21106; K.Systä Suitability Accuracy Interoperability Security Functional suitability Compatibility Replaceability Co-existence Interoperability Reliability Operability Maturity Fault tolerance Recoverability Appropriateness Recognisability Ease of use Learnability Attractiveness Technical accessibility 12

QUALITY MANAGEMENT SYSTEMS 10.03.2014 TIE-21100/21106; K.Systä 13

Process view to SW development In Process out Process is defined so that it guarantees quality (selected aspects of it) For example: All bug reports handled Requirement changes communicated control measurement Auditing checks the defined process is really followed. 10.03.2014 TIE-21100/21106; K.Systä 14

Process-based quality improvement (figure 24.3 in Sommerville) Define process Develop product Access product quality Improve process Quality OK? Standardize process 10.03.2014 TIE-21100/21106; K.Systä 15

Question: Why the focus in on process and not in product (SW)? 10.03.2014 TIE-21100/21106; K.Systä 16

Quality management systems (Laatujärjestelmät) Documented description of the development process Aim is to provide predictable and sustainable quality Customer may be interested in this Can be audited by a neutral body 10.03.2014 TIE-21100/21106; K.Systä 17

ISO9000 Standards Standard used to develop quality management systems Targets to all industries including software Revisions 1987: had the same structure as the UK Standard BS 5750 and influence from US Military standards 1994: emphasized quality assurance via preventive actions, instead of just checking final product 2000: placed the concept of process management front and center ("Process management" was the monitoring and optimisation of a company's tasks and activities, instead of just inspection of the final product) 2010: introduced clarifications to the existing requirements of ISO 9001:2000 Forthcoming 2015 version (http://www.iso.org/iso/home/news_index/news_archive/news.htm?refid=ref1633) 10.03.2014 TIE-21100/21106; K.Systä 18

Series of standards ISO 9001:2008 - sets out the requirements of a quality management system ISO 9000:2005 - covers the basic concepts and language ISO 9004:2009 - focuses on how to make a quality management system more efficient and effective ISO 9011:2011 - sets out guidance on internal and external audits of quality management systems. 10.03.2014 TIE-21100/21106; K.Systä 19

Principles behind ISO9000 series (http://www.iso.org/iso/qmp_2012.pdf) Principle 1 Customer focus Principle 2 Leadership Principle 3 Involvement of people Principle 4 Process approach Principle 5 System approach to management Principle 6 Continual improvement Principle 7 Factual approach to decision making Principle 8 Mutually beneficial supplier 10.03.2014 TIE-21100/21106; K.Systä 20

An example from http qmp_2012.pdf (process approach) Key benefits Lower costs and shorter cycle times through effective use of resources Improved, consistent and predictable results Focused and prioritized improvement opportunities. Means: Systematically defining the activities necessary to obtain a desired result Establishing clear responsibility and accountability for managing key activities Analysing and measuring of the capability of key activities Identifying the interfaces of key activities within and between the functions of the organization Focusing on the factors such as resources, methods, and materials that will improve key activities of the organization Evaluating risks, consequences and impacts of activities on customers, suppliers and other interested parties. 10.03.2014 TIE-21100/21106; K.Systä 21

ISO 9001 core processes Product delivery Business acquisition Design and development Test Production and Delivery Service and Support Supporting processes Business management Supplier management Inventory management Configuration management 10.03.2014 TIE-21100/21106; K.Systä 22

ISO9001 and quality management (figure 24.5 in Sommerville) instantiated as ISO 9001 quality models Organization quality manual Organization quality process Is used to develop instantiated as Project 1 quality plan Project 2 quality plan Project 3 quality plan Project quality management Supports 10.03.2014 TIE-21100/21106; K.Systä 23

Auditing and certification An organization must perform internal audits to check how its quality management system is working. An organization may decide to invite an independent certification body to verify that it is in conformity to the standard, but there is no requirement for this. Alternatively, it might invite its clients to audit the quality system for themselves. Certification is not requirement, but certification may: be a contractual or regulatory requirement be necessary to meet customer preferences fall within the context of a risk management programme, and help motivate staff by setting a clear goal for the development of its management system. Certification the provision by an independent body of written assurance (a certificate) that the product, service or system in question meets specific requirements. Accreditation the formal recognition by an independent body, generally known as an accreditation body, that a certification body is capable of carrying out certification. 10.03.2014 TIE-21100/21106; K.Systä 24

Some Dilbert humor 10.03.2014 TIE-21100/21106; K.Systä 25

And more 10.03.2014 TIE-21100/21106; K.Systä 26

CMMI 10.03.2014 TIE-21100/21106; K.Systä 27

http://cmmiinstitute.com/ A framework developed by Software Entineering Instute (SEI) of Carnegie-Mellon University (CMU) CMMI (or Capability Maturity Model Integration) is a proven approach to performance management with decades of results showing it works. Organizations using CMMI have predictable cost, schedule, and quality business results that serve as discriminators among their competitors. CMMI is built with practices and goals seen in thousands of real organizations worldwide. Use these practices and goals to evaluate your own performance and decide what to improve for your own business reasons. 10.03.2014 TIE-21100/21106; K.Systä 28

CMMI and ISO9000-series CMMI is a set of best practices ISO9000 set of standards CMMI is about software ISO9000 is for all industries 10.03.2014 TIE-21100/21106; K.Systä 29

Sources Haikala&Mikkonen: CMMI http://www.sei.cmu.edu/reports/10tr033.pdf (chapter 1) Old version CMM (1987-1997) listed 5 maturity levels 1. Initial 2. Repeatable process 3. Defined process 4. Quantiatively Manged Process 5. Optimizing Process New version is called CMMI defines two models for process impovement Staged Continuous 10.03.2014 TIE-21100/21106; K.Systä 30

Software Process improvement (http://www.sei.cmu.edu/reports/10tr033.pdf) 10.03.2014 TIE-21100/21106; K.Systä 31

10.03.2014 TIE-21100/21106; K.Systä 32

Basic concepts of CMMI Capability levels apply to an organization s process improvement achievement in individual process areas. These levels are a means for incrementally improving the processes corresponding to a given process area. Continuous representation Maturity levels apply to an organization s process improvement achievement across multiple process areas. These levels are a means of improving the processes corresponding to a given set of process areas. For staged representation 10.03.2014 TIE-21100/21106; K.Systä 33

Continuous representation focuses on process area capability as measured by capability levels and the staged representation focuses on overall maturity as measured by maturity levels. Capability levels apply to an organization s process improvement achievement in individual process areas. These levels are a means for incrementally improving the processes corresponding to a given process area. Maturity levels apply to an organization s process improvement achievement across multiple process areas. These levels are a means of improving the processes corresponding to a given set of process areas 10.03.2014 TIE-21100/21106; K.Systä 34

Capability and Maturity Models Level Continuous Representation Capability Levels Staged representation Maturity Levels 0 Incompete 1 Performed Initial 2 Managed Managed 3 Defined Defined 4 Quantitatively Managed 5 Optimizing 10.03.2014 TIE-21100/21106; K.Systä 35

What are the capability levels Capability Level 0: Incomplete An incomplete process is a process that either is not performed or is partially performed. One or more of the specific goals of the process area are not satisfied and no generic goals exist for this level since there is no reason to institutionalize a partially performed process. Capability Level 1: Performed A capability level 1 process is characterized as a performed process. A performed process is a process that accomplishes the needed work to produce work products; the specific goals of the process area are satisfied. Although capability level 1 results in important improvements, those improvements can be lost over time if they are not institutionalized. The application of institutionalization (the CMMI generic practices at capability levels 2 and 3) helps to ensure that improvements are maintained. 10.03.2014 TIE-21100/21106; K.Systä 36

Capability Level 2: Managed A capability level 2 process is characterized as a managed process. A managed process is a performed process that is planned and executed in accordance with policy; employs skilled people having adequate resources to produce controlled outputs; involves relevant stakeholders; is monitored, controlled, and reviewed; and is evaluated for adherence to its process description. The process discipline reflected by capability level 2 helps to ensure that existing practices are retained during times of stress. Capability Level 3: Defined A capability level 3 process is characterized as a defined process. A defined process is a managed process that is tailored from the organization s set of standard processes according to the organization s tailoring guidelines; has a maintained process description; and contributes process related experiences to the organizational process assets. A critical distinction between levels 2 and 3 is the scope of standards, process descriptions, and procedures. At level 2, the standards, process descriptions, and procedures can be quite different in each specific instance of the process (e.g., on a particular project). At level 3, the standards etc are tailored from the organization s set of standard processes to suit a particular project or organizational unit and therefore are more consistent, 10.03.2014 TIE-21100/21106; K.Systä 37

Maturity levels Maturity Level 1: Initial At maturity level 1, processes are usually ad hoc and chaotic. The organization usually does not provide a stable environment to support processes. Success in these organizations depends on the competence and heroics of the people in the organization and not on the use of proven processes. In spite of this chaos, maturity level 1 organizations often produce products and services that work, but they frequently exceed the budget and schedule documented in their plans. Maturity level 1 organizations are characterized by a tendency to overcommit, abandon their processes in a time of crisis, and be unable to repeat their successes. 10.03.2014 TIE-21100/21106; K.Systä 38

Maturity Level 2: Managed At maturity level 2, the projects have ensured that processes are planned and executed in accordance with policy; the projects employ skilled people who have adequate resources to produce controlled outputs; involve relevant stakeholders; are monitored, controlled, and reviewed; and are evaluated for adherence to their process descriptions. The process discipline reflected by maturity level 2 helps to ensure that existing practices are retained during times of stress. When these practices are in place, projects are performed and managed according to their documented plans. Also at maturity level 2, the status of the work products are visible to management at defined points (e.g., at major milestones, at the completion of major tasks). Commitments are established among relevant stakeholders and are revised as needed. Work products are appropriately controlled. The work products and services satisfy their specified process descriptions, standards, and procedures. 10.03.2014 TIE-21100/21106; K.Systä 39

Maturity Level 3: Defined At maturity level 3, processes are well characterized and understood, and are described in standards, procedures, tools, and methods. The organization s set of standard processes, which is the basis for maturity level 3, is established and improved over time. These standard processes are used to establish consistency across the organization. Projects establish their defined processes by tailoring the organization s set of standard processes according to tailoring guidelines. (See the definition of organization s set of standard processes in the glossary.) A critical distinction between maturity levels 2 and 3 is the scope of (as capability level 3 in continuous representation) 10.03.2014 TIE-21100/21106; K.Systä 40

Maturity Level 4: Quantitatively Managed At maturity level 4, the organization and projects establish quantitative objectives for quality and process performance and use them as criteria in managing projects. Quantitative objectives are based on the needs of the customer, end users, organization, and process implementers. Quality and process performance is understood in statistical terms and is managed throughout the life of projects. For selected subprocesses, specific measures of process performance are collected and statistically analyzed. When selecting subprocesses for analyses, it is critical to understand the relationships between different subprocesses and their impact on achieving the objectives for quality and process performance. 10.03.2014 TIE-21100/21106; K.Systä 41

Maturity Level 5: Optimizing At maturity level 5, an organization continually improves its processes based on a quantitative understanding of its business objectives and performance needs. The organization uses a quantitative approach to understand the variation inherent in the process and the causes of process outcomes. Maturity level 5 focuses on continually improving process performance through incremental and innovative pr ocess and technological improvements. A critical distinction between maturity levels 4 and 5 is the focus on managing and improving organizational performance. At maturity level 4, the organization and projects focus on understanding and controlling performance at the subprocess level and using the results to manage projects. At maturity level 5, the organization is concerned with overall organizational performance using data collected from multiple projects. 10.03.2014 TIE-21100/21106; K.Systä 42

SPICE (ISO 15504) E.g. http://en.wikipedia.org/wiki/iso/iec_15504 ISO/IEC 15504 is the reference model for the maturity models (consisting of capability levels which in turn consist of the process attributes and further consist of generic practices) against which the assessors can place the evidence that they collect during their assessment, so that the assessors can give an overall determination of the organization's capabilities for delivering products (software, systems, and IT services) Very similar to Continuous Representation of CMMI (when considered in detailed level discussed in this course) 10.03.2014 TIE-21100/21106; K.Systä 43

What does this matter These SPI approached are not very popular at the moment, But used in some companies Young software engineers do not need to be experts, but MSc in Software Engineering must have some idea what they are 10.03.2014 TIE-21100/21106; K.Systä 44

Learning goals Develop a holistic view to SW quality Learn basics of quality management systems and related standards Know what concepts ISO9000 series CMMI SPICE mean 10.03.2014 TIE-21100/21106; K.Systä 45

About our program Exercise 13.1 Introduction to the course and software engineering Article: Silver bullet 20.1 Week Lecture 27.1 Project planning Project management 3.2 Scrum Tool: processing 10.2 Requirement management Tool: Agilefant 17.2 Other methods; Lean; Kanban. Article: From Traditional, to Lean, to Agile 24.2 Improving Quality: review Testing; CTC tool family practices, testing and quality assurance 3.3 break Break 10.03.2014 TIE-21100/21106; K.Systä 46

Week Lecture Exercise 10.3 Quality in general; Patterns Quality management systems 17.3 Dependable and safety-critical systems ISO9001 24.3 Work planning; effort estimation Code inspections 31.3 Version and configuration management Effort estimation 7.4 Role of software architecture; product? families; software evolution 14.4 Specifics of some domains, e.g. web Break? system and/or embedded and real time systems 21.4 Easter Break? 28.4 Software business, software start-ups? 5.5 Last lecture; summary; recap for exam 10.03.2014 TIE-21100/21106; K.Systä 47

Material Sommerville Chapter 26 Haikala&Mikkonen Chapter 11 Quality Management Principles: http://www.iso.org/iso/qmp_2012.pdf ISO 9000 standard family: http://www.iso.org/iso/iso_9000 CMMI: http://cmmiinstitute.com/ http://www.sei.cmu.edu/reports/10tr033.pdf 10.03.2014 TIE-21100/21106; K.Systä 48