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



Similar documents
CMMI KEY PROCESS AREAS

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

MKS Integrity & CMMI. July, 2007

CAPABILITY MATURITY MODEL INTEGRATION

Custom Development Management and Resource Planning. Eric Halbur, Application Development Manager

CMMI for Development Introduction & Implementation Roadmap

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

You Want to Use Scrum, You are Told to Use CMMI

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

Synergism of the CMMI Development and Services Constellations in a Hybrid Organization

CMMI meets ITIL. Dr. Ute Streubel

CMMI-Services Visao Geral & CMMI v1.3 Plans

CMMI: Specific Goals and Practices

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Case Study of CMMI implementation at Bank of Montreal (BMO) Financial Group

Implementation of Multiple Quality Frameworks An Analysis

Lessons Learned from Adopting CMMI for Small Organizations

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

ISO 9001/TL 9000 and CMMI Comparison

Interpreting Capability Maturity Model Integration (CMMI ) for Service Organizations a Systems Engineering and Integration Services Example

Exploring CMMI-ISO ISO 9001:2000 Synergy when Developing a Process Improvement Strategy

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

Capability Maturity Model Integration (CMMI)

wibas Team CMMI-ITIL IT Maturity S e r v i c e s

Software Process Improvement Software Business. Casper Lassenius

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Software Quality. Process Quality " Martin Glinz. Chapter 5. Department of Informatics!

Introduction to SEIs Capability Maturity Model Integration (CMMI)

A SURVEY OF ARTIFICIAL INTELLIGENCE TECHNIQUES FOR CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

Agenda. CMMI, ITIL & ISO A Mutually Supportive Relationship

Usability in SW-Engineering-Prozessen und in CMMI

CMMI for Development, Version 1.3

Software Quality Management II

Integrating CMMI with COBIT and ITIL

Lecture 8 About Quality and Quality Management Systems

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

Is the CMMI¹ of Value for Flight Software? Dr. Gary M. Heiligman Space Department The Johns Hopkins University Applied Physics Laboratory

Capability Maturity Model Integrated (CMMI)

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Developing Core Software Requirements of Energy Management System for Smart Campus with Advanced Software Engineering

Capability Maturity Model Integration (CMMI ) Overview

A Report on The Capability Maturity Model

PSM. Using CMMI To Improve Contract Management Within DCMA. Guy Mercurio, DCMA Boston, MA

An OWL Ontology for Representing the CMMI-SW Model

CMMI for Development, Version 1.3

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

How CMMI contributes to Software Testing

Literature. 9. Quality Control. Quality control tries to eliminate coincidence Quality control makes achieving quality repeatable FBI Sentinel Project

SOFTWARE QUALITY ASSURANCE IN CAPABILITY MATURITY MODEL INTEGRATION

CMMI and IBM Rational Unified Process

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

Process Improvement. From the Software Engineering Institute:

ITIL-CMMII Comparison

CMMI and Agile our experience revealed

Data Management Maturity (DMM) Model Update

A unified model for the implementation of both ISO 9001:2000 and CMMI by ISO-certified organizations

Aligning CMMI & ITIL. Where Am I and Which Way Do I Go? cognence, inc.

Interpretation and lesson learned from High Maturity Implementation of CMMI-SVC

Comparing Scrum And CMMI

Automotive SPICE & ISO/CD Their Mutual Relationship

A Lightweight Supplier Evaluation based on CMMI

The Design and Improvement of a Software Project Management System Based on CMMI

Software Quality Assurance: VI Standards

Integrating CMMI & ITIL: An Outsourcing Success Story. Joanne Kopcho Capgemini, Outsourcing Services

STUDY OF SPI FRAMEWORK FOR CMMI CONTINUOUS MODEL BASED ON QFD

CMMi and Application Outsourcing

CMMI for Acquisition, Version 1.3

Leveraging CMMI framework for Engineering Services

Using Baldrige Performance Criteria to Strengthen CMMI Measurable Results NDIA CMMI Conference - November 2008

CMMI - The AGILE Way By Hitesh Sanghavi

RTI Software Development Methodology and CMMI

The Advantages of ISO 9001 Certification

How To Understand And Understand The Cmm

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

"Demystifying the SEI CMMI

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

SOFTWARE PROCESS IMPROVEMENT AT SYSGENIC

A common core ITIL Version 3.0 and CMMi-SVC

Best of Everything ITIL, CMMI & Lean Six Sigma

Using Lean Six Sigma to Accelerate

Developing CMMI in IT Projects with Considering other Development Models

Overview of Service Support & Service

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

Measurement Strategies in the CMMI

Frameworks for IT Management

SwA Community s Assurance Process Reference Model - Mapping to Assurance Models

Applying Agile Techniques to Process Development: Lessons Learned

Using Rational Software Solutions to Achieve CMMI Level 2

Capability Maturity Model Integration (CMMI ) Overview

The IT Infrastructure Library (ITIL)

Process Improvement -CMMI. Xin Feng

Software Project Management I

[project.headway] Integrating Project HEADWAY And CMMI

MTAT Software Engineering Management

ISO 9001 (2000) QUALITY MANAGEMENT SYSTEM ASSESSMENT REPORT SUPPLIER/ SUBCONTRACTOR

Certification Process Requirements

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Quality assurance in an Agile delivery method

A Framework to Manage and Evaluate Remote Software Testing Using the CMMI for Services Constellation. Dr. Aldo Dagnino

How to use CMMI to bring your project management process to the next level A CMMI Implementation Case Study

Transcription:

Software Engineering Standardization of Software Processes Lecturer: Giuseppe Santucci

Summary Introduction to Process Models The Capability Maturity Model Integration The ISO 12207 standard for software lifecycle processes The ISO 9000 family of standards for quality management systems 2

Three main factors in Software Development Process struggles to be accepted People Process Technology 3

Process Improvement As the process factor gains more acceptance, various process models are being developed Organizations seek to improve software quality by improving their development process 4

What is a process model? A process model is a structured collection of practices that describe the characteristics of effective processes Included practices are those proven by experience to be effective 5

How is a process model used? A process model is used to set process objectives and priorities to ensure stable, capable, and mature processes as a guide for improvement of project and organizational processes to diagnose the state of an organization s current practices 6

Capability Maturity Model Integration (CMMI) Some slides are taken from slideshare http://www.slideshare.net/ivanlanin/capability maturity model integrity cmmi

Short History The Software Engineering Institute of Carnegie Mellon University develops CMM during the late 1980s Success causes various CMMs to be developed CMMI integrates some of those 8

What is CMMI? CMMI is a process improvement approach that provides organizations with the essential elements of effective processes CMMI can be used in process improvements as a collection of best practices framework for organizing and prioritizing activities support for the coordination of multi disciplined activities that might be required to successfully build a product means to emphasize the alignment of the process improvement objectives with organizational business objectives CMMI best practices are published in documents called models, each addressing a different area of interest CMMI framework is the structure that organizes the components used in generating models Components in the CMMI Framework are organized into collections, called constellations, which facilitate construction of approved models 9

Constellations 16 shared core process areas CMMI SVC provides guidance for delivering services within organizations and to external customers CMMI DEV provides guidance for managing, measuring, and monitoring development processes CMMI ACQ The CMMI ACQ model provides guidance for applying CMMI best practices in an acquiring organization. 1.Causal Analysis and Resolution (CAR) 2.Configuration Management (CM) 3.Decision Analysis and Resolution (DAR) 4.Integrated Project Management (IPM) 5.Measurement and Analysis (MA) 6.Organizational Innovation and Deployment (OID) 7.Organizational Process Definition (OPD) 8.Organizational Process Focus (OPF) 9.Organizational Process Performance (OPP) 10.Organizational Training (OT) 11.Project Monitoring and Control (PMC) 12.Project Planning (PP) 13.Process and Product Quality Assurance (PPQA) 14.Risk Management (RSKM) 15.Quantitative Project Management (QPM) 16.Supplier Agreement Management (SAM) 10

Process Areas 1/2 All CMMI models contain multiple Process Areas (PAs) A PA has 1 to 4 goals, and each goal is comprised of practices These goals and practices are called specific goals and practices, as they describe activities that are specific to a single process area An additional set of goals and practices applies across all of the process areas; this set is called generic goals and practices 11

Process areas 2/2 (http://www.software quality assurance.org/index.htm) Process management (5) Project management (6) Engineering (6) Support (5) Organizational Innovation and Deployment (OID) Organizational Process Definition +IPPD (OPD) Organizational Process Focus (OPF) Organizational Process Performance (OPP) Organizational Training (OT) 5 3 3 4 3 Project Planning (PP) Project Monitoring and Control (PMC) Supplier Agreement Management (SAM) Integrated Project Management +IPPD (IPM) Risk Management (RSKM) Quantitative Project Management (QPM) 2 2 2 3 3 4 Requirements Management (REQM) Requirements Development (RD) Technical Solution (TS) Product Integration (PI) Verification (VER) Validation (VAL) 2 3 3 3 3 3 Configuration Management (CM) Process and Product Quality Assurance (PPQA) Measurement and Analysis (MA) Decision Analysis and Resolution (DAR) Causal Analysis and Resolution (CAR) 2 2 2 3 5 2 3 4 5 12

Two Representations Continuous and staged Continuous: recommended order for approaching process improvement within each specified process area Staged: A model structure wherein attaining the goals of a set of process areas establishes a maturity level; each level builds a foundation for subsequent levels Can serve for comparing the maturity of different projects and organizations 13

Capability levels (continuous rep.) Quantitatively managed process that is improved based on an understanding of the common causes of variation inherent in the process. The focus of an optimizing process is on continually improving the range of process performance through both incremental and innovative improvements Performed process that has the basic infrastructure in place to support the process. It is planned and executed in accordance with policy; employs skilled people who have 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. Level 5 Optimizing Level 4 Quantitatively managed Level 3 Defined Level 2 Managed Defined process that is controlled using statistical and other quantitative techniques. Quantitative objectives for quality and process performance are established and used as criteria in managing the process. Quality and process performance is understood in statistical terms and is managed throughout the life of the process. Managed process that is tailored from the organization s set of standard processes according to the organization s tailoring guidelines, and contributes work products, measures, and other process improvement information to the organizational process assets. Not performed or 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. Level 1 Performed Level 0 Incomplete (not a CMMI level) Satisfies the specific goals of the process area. It supports and enables the work needed to produce work products. 14

Maturity levels (staged rep.) 1. Causal Analysis and Resolution (CAR) 2. Organizational Innovation and Deployment (OID) 1. Decision Analysis and Resolution (DAR) 2. Integrated Project Management +IPPD (IPM) 3. Organizational Process Definition +IPPD (OPD) 4. Organizational Process Focus (OPF) 5. Organizational Training (OT) 6. Product Integration (PI) 7. Requirements Development (RD) 8. Risk Management (RSKM) 9. Technical Solution (TS) 10. Validation (VAL) 11. Verification (VER) Process mgmt. Project mgmt. Engineering Support Level 5 Optimizing Level 4 Quantitatively managed Level 3 Defined Level 2 Managed Level 1 Initial 1. Quantitative Project Management (QPM) 2. Organizational Process Performance (OPP) 1. Configuration Management (CM) 2. Measurement and Analysis (MA) 3. Project Monitoring and Control (PMC) 4. Project Planning (PP) 5. Process and Product Quality Assurance (PPQA) 6. Requirements Management (REQM) 7. Supplier Agreement Management (SAM) 15

CAPABILITY IMMATURITY MODEL CIM 0. Negligent (Indifference) Failure to allow successful development process to succeed. All problems are perceived to be technical problems. Managerial and quality assurance activities are deemed to be overhead and superfluous to the task of software development process. Reliance on silver pellets. 1. Obstructive (Counter Productive) Counterproductive processes are imposed. Processes are rigidly defined and adherence to the form is stressed. Ritualistic ceremonies abound. Collective management precludes assigning responsibility. 2. Contemptuous (Arrogance) Disregard for good software engineering institutionalized. Complete schism between software development activities and software process improvement activities. Complete lack of a training program. 3. Undermining (Sabotage) Total neglect of own charter, conscious discrediting of peer organizations software process improvement efforts. Rewarding failure and poor performance. http://www.stsc.hill.af.mil/

ISO 12207 standard for software lifecycle processes

ISO 12207 It defines and structures all activities involved in the Software Development Process Its main goal is to provide a common language to involved stakeholders It is based on a functional approach : A set of coordinated activities that transform an input in an output Five primary lifecycle processes related to primary involved agents: buyers, suppliers, developers, maintainers, operators, managers and technicians Eight supporting life cycle processes Four organizational processes 18

ISO 12207 cont.d The standard is based on two basic principles modularity and responsibility Modularity means processes with minimum coupling and maximum cohesion Responsibility means to establish a responsibility for each process, facilitating the application of the standard in projects where many people can be legally involved 19

ISO 12207 processes 5. Primary life cycle processes 5.1 Acquisition 5.2 Supply 6. Support processes 6.1 Documentation 6.2 Configuration management 6.3 Quality assurance process 5.3 Development 5.4 Operation 5.5 Maintenance 6.4 Verification 6.5 Validation 6.6 Joint review 6.7 Audit 6.8 Problem solving 7.Organizational processes 7.1 Management 7.2 Infrastructure 7.3 Improvement 7.4 Training

Activities Each process has a set of outcomes associated with it and is detailed in terms of activities E.g., Activities of Software Development Process (5.3) Process implementation Information System Requirement Analysis Information System Architecture Design Software Requirement Analysis Software Architecture Design Software Design Coding and Testing Software Integration Software Quality Testing System Integration (hw+sw) System Quality Testing Software Deployment Support for Software put on trial 21

ISO 9000 family of standards for quality management systems

ISO 9000 ISO 9000 is maintained by ISO, the International Organization for Standardization It is administered by accreditation and certification bodies The ISO 9000 family addresses "Quality management The actual standard, called «Vision 2000» is an update of the 1994 version 23

Old standard Before 2000 the standard was split in 3 pieces Requirements Development Production Test Installation Maintenance ISO 9003 ISO 9002 ISO 9001

The 20 Requirements of OLD ISO 9001: 1994 4.1 Management responsibility 4.2 Quality assurance 4.3 Contract review 4.4 Design review 4.5 Document management 4.6 Subcontracting 4.7 Customer product assessment 4.8 Tracciability 4.9 Process control 4.10 Test 4.11 Inspection and Testing Control of Inspection, Measuring, and Test Equipment 4.12 Inspection and Test Status 4.13 Control of Nonconforming Products 4.14 Corrective and Preventive Action 4.15 Handling, Storage, Packaging, and Delivery 4.16 Control of Quality Records 4.17 Inspections 4.18 Training 4.19 Servicing 4.20 Statistichal techniques

ISO 9000 standards ISO 9000:2005: Fundamentals and vocabulary Describes fundamentals of quality management systems, which form the subject of the ISO 9000 family, and defines related terms Contains the core language of the ISO 9000 series of standards ISO 9001:2008: Requirements It is intended for being used in any organization which designs, develops, manufactures, installs and/or services any product or provides any form of service It provides a number of requirements which an organization needs to fulfill if it is to achieve customer satisfaction through consistent products and services which meet customer expectations It includes requirement s for the continual (i.e., planned) improvement of the Quality Management System ISO 9004:2000: Guidance for Performance Improvement It covers continual improvement It gives advices on what an organization could do to enhance a mature system 26

ISO 9000 certification: Perceived Advantages Improvement in "bottom line" profit through Better efficiency Continual improvement Less waste Consistent control of key processes Possible reduction in insurance premiums Provision of a vehicle for training new employees The effective management of risk Increasing the potential for world wide recognition 27

ISO 9000 certification: Perceived Disadvantages Too abstract Costly to obtain and maintain Lengthy time scale to obtain certification Time consuming development Difficult to implement Organizational resistance to change Staff resistance to change Hard to maintain enthusiasm for the system More documentation 28

ISO 9000 Fundamental building blocks The Quality System as a series of processes 1. Quality management system 2. Management responsibility 3. Resource management 4. Product/service realization 5. Measurement, analysis, and improvement All blocks are required for any process because, if one is missing, a controlled process does not occur 29

1.Quality Management System It deals with general and documentation requirements that are the foundation of the management system General requirements How the processes of the management system interact to each other What resources do you need to run the processes How you will measure and monitor the processes Requirements for the documentation What documentation is needed to operate the system effectively How the documentation should be controlled 30

2.Management responsibility It is the responsibility of the "top management" at a strategic level in the organization Top management must know customers' requirements at a strategic level make a commitment to meet these requirements as well as statutory and regulatory requirements set policies and objectives plan how the objectives will be met ensure that there are clear internal communications and that the management system is regularly reviewed 31

3.Resource management It deals with the people and physical resources needed to carry out the process People should be competent to carry out their tasks Physical resources and work environment need to be capable of ensuring that the customers' requirements are satisfied 32

4.Product/Service realization It deals with the processes necessary to produce the product or to provide the service the act of converting the input of the process to the output. For a manufacturing organization the process of converting iron ore to steel via a blast furnace for example For a service organization the process of moving a product or person from one place to another e.g., a taxi journey For a software organization The process of transforming requirements into a software specification 33

5.Measurement, analysis and improvement It deals with measurements to enable the systems to be monitored To measure if the management systems themselves are performing through internal audits To measure if the processes are effective To measure if the product is satisfying customer requirements The aim is to improve systems and products 34

ISO Certification ISO does not itself certify organizations There are accreditation bodies that authorize certification bodies Organizations can apply for ISO 9000 compliance certification to a certification body Both the accreditation bodies and the certification bodies charge fees for their services The various accreditation bodies have mutual agreements with each other to ensure that certificates issued by one of the Accredited Certification Bodies (CB) are accepted worldwide An ISO certificate is not a once and for all award, but must be renewed at regular intervals recommended by the certification body, usually around three years In contrast to the Capability Maturity Model there are no grades of competence within ISO 9001 35

Quality requirements customization They have to be tailored based on the organization s goals and context A set of process requirements and resources that constitute the Quality Manual (QM) of the organization The QM specifies the organization s quality policy regardless specific commitments and customers 36

Documentation The ISO 9000 standard requires that processes are described in specific documents Quality Manual (QM) Quality Policy (QP) 37

Documentation Context ISO 9000 Resources QM ISO 10005 ISO 10013 QP Customer Project s goals