SOFTWARE ENGINEERING SOFTWARE PROCESS. Saulius Ragaišis.

Similar documents
Relationship between CMMI Maturity Levels and ISO/IEC Processes Capability Profiles

Software Process Assessment

Software technology 3. Process improvement models. BSc Course Dr. Katalin Balla

A Global Overview of The Structure

MTAT Software Engineering Management

Generating Supportive Hypotheses

CC and CMMI. An Approach to Integrate CC with Development

Update Observations of the Relationships between CMMI and ISO 9001:2000

Lesson Learned from Cross Constellations and Multi Models Process Improvement Initiatives

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

8. CMMI Standards and Certifications

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Highlights of CMMI and SCAMPI 1.2 Changes

CMMI for Acquisition Quick Reference

What s New in V1.3. Judah Mogilensky Process Enhancement Partners, Inc.

USAF Software Technology Support Center (STSC) STSC SPI Help Desk COM , DSN

CMMI for Services Quick Reference

Strategies for Transitioning to CMMI-SVC

Chapter 26 Process improvement

Analyzing Resonance of Motivation in Software Development Process Training by Using FRAM (Work-in-progress)

DORNERWORKS QUALITY SYSTEM

How to Assure your Subcontractors Quality with Cross Constellations and Multi Models Inspiration Continues Process Improvement Initiatives

Visualizing Betweenness Centrality of Process Area Networks Organization, CMMI-SVC

Leveraging Your Service Quality Using ITIL V3, ISO and CMMI-SVC. Monday Half-Day Tutorial

System Engineering Process Improvement using the CMMI in Large Space Programs

Patricia A Eglin David Consulting Group

SCRUM and the CMMI. The Wolf and the Lamb shall Feed Together

CMMI Capability Maturity Model Integration [CMU SEI]

Using the Equity in AS9100C to Implement CMMI-DEV Maturity Level 3

CMMI for Technical Staff

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

What is important in CMMI and what are the interrelations among its elements?

A Real-Life Example of Appraising and Interpreting CMMI Services Maturity Level 2

Bill Smith, CEO Leading Edge Process Consultants LLC

Engineering. CMMI for Development V.1.2 Module 3. M03/Engineering/v1.2

Process Improvement: CMMI

CMMI for Services (CMMI -SVC) Process Areas

SCAMPI V1.1 Method Overview

CMMI Version 1.2. Model Changes

The Quality Paradigm. Quality Paradigm Elements

Requirements Development of Energy Management System for a Unit in Smart Campus

Implementing Systems Engineering Processes to Balance Cost and Technical Performance

CMMI SM Mini- Assessments

Practical Application of the CMMI for Building a Strong Project Management Infrastructure

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

High Maturity Practices in Quality Assurance Mechanisms for Quantitative Management (QM) and Continuous Process Improvement (CPI)

Q.A. Осигуряване на качество на софтуера (2016/2017, редовно/задочно)

Understanding Model Representations and Levels: What Do They Mean?

Process Improvement: CMMI

Using CMMI. Type of Work. IT solution development Software development IT solution integration IT solution deployment

Teuvo Suntio. Quality Development Tools. Professor of Power Electronics at University of Oulu. Electronic System Design A TS Rev. 1.

Ogden Air Logistics Center

Q.A. Осигуряване на качество на софтуера (2016/2017, редовно/задочно)

Use of Competency Guidelines to Address CMMI GP 2.5

CMM,,mproving and,ntegrating

Quest 2015 Webinar Series:

The Issue of Performance Why Do you need a Maturity Level 5. Achieving the Organizational Business Objectives Through Optimized Operational Processes

Organizational Synthesis - CMMI, The Glue That Binds

CMMI for Services: Re-introducing the CMMI for Services Constellation

Dependency Analysis between CMMI Process Areas

Understanding and Leveraging a Supplier s CMMI Efforts: A Guidebook for Acquirers (Revised for V1.3)

CC532 Collaborative System Design

Staged Representation Considered Harmful?

Software Engineering. Lecture 7: CMMI

Software Industry and SPI in Brazil

PM Architecture Design as a Critical Success Factor in CMMI Model Implementation

Why Should you Care about CMMI?

Process Maturity Profile

How to Develop Highly Useable CMMI Documentation

SW CMM. Capability Maturity Models. Level 1: Initial Level SW CMM (2) CS 390 Lecture 8 Improving the Software Process

One if by Land, Two if by Sea

What the SEI Won t Teach You* A brief history of the SEI and CMMI. How you need to qualify and prepare

Software Quality Management. Kristian Sandahl

Maturing Measurement Capability The CMMI SM Measurement Thread and Recognized Industry Guidance - Standards

CMMI and Agile Development: A Binary Choice?

Systems and Software Technology Conference

CMMI Version 1.2 and Beyond

CMMI. Crash Course. What the SEI Won t t Teach You* *Nothing to hide, just not their style Entinex, Inc. ALL RIGHTS RESERVED ***PROPRIETARY***

Maturity Models - CMMI

Transitioning a Merged Organization to CMMI and a New OSSP. NDIA CMMI Technology Conference November 14, 2002

CMMI v1.1 for a Service-Oriented Organization. By Steve Hall, Jeff Ricketts, Diane Simpson 16 November 2005

Capability Maturity Model Integration (CMMI) V1.3 and Architecture-Centric Engineering

The Rational Unified Process and the Capability Maturity Model Integrated Systems/Software Engineering

Integrated Class C Process Appraisals (ICPA)

Beyond Service Management: The Next Performance Advantage for All Disciplines

Quality Management of Software and Systems: Software Process Assessments

Who needs that process stuff anyway? A practical example of process discipline to improve deployment

Measuring the Maturity Level of Core System Development Project in a Financial Company Using CMMI-DEV

Buy:

CMMI-DEV v1.3 Good? Bad? Ugly?

Do s and Don ts of Appraisal Preparation

TACOM-ARDEC Software Enterprise (SWE) CMMI Based Process Improvement

CMMI. Crash Course. Legal Yadda Yadda. What the SEI Won t t Teach You*

Training Catalog. Version

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

Marilyn Ginsberg-Finner Northrop Grumman Corporation

CMMI-SVC: A Cost-Effective Approach to Early Use

Two Branches of Software Engineering

Ahern_INDEX.ps 8/28/03 2:33 PM Page 285. Index

Transcription:

SOFTWARE ENGINEERING SOFTWARE PROCESS Saulius Ragaišis saulius.ragaisis@mif.vu.lt

CSC2008 SE Software Processes Learning Objectives: Explain the concept of a software life cycle and provide an example, illustrating its phases including the deliverables that are produced. Select, with justification the software development models and process elements most appropriate for the development and maintenance of a diverse range of software products. Explain the role of process maturity models. Compare the traditional waterfall model to the incremental model, the agile model, and other appropriate models. For each of various software project scenarios, describe the project s place in the software life cycle, identify the particular tasks that should be performed next, and identify measurements appropriate to those tasks.

WHY SOFTWARE PROCESS?

Software crisis 2000 28% 23% 49% 1998 26% 28% 46% Succeded Failed 1996 27% 40% 33% Challenged 1994 16% 31% 53% Standish Group, Extreme CHAOS. The Standish Group International, Inc., 2001. (more than 30.000 projects)

Product quality vs. Process quality

Software Process modeling SEI (Software Engineering Institute) ESI (European Software Institute) ISO 9000 CMM, CMMI BOOTSTRAP SPICE, ISO 15504-TR, ISO 15504 + ISO 12207 TickIT, ITIL, COBIT

Benefits of maturity CMM level Duration (months) Efforts (man months) Defects Median cost ($M) Min cost ($M) Max cost ($M) 1 30 600 61 5,5 1,8 100+ 2 18.5 143 12 1,3 0,96 1.7 3 15 80 7 0,728 0,518 0,933 Data of 1.300 projects; large projects (about 200.000 LOC). Costs are calculated taking 110.000 $ for person year.

Benefits of maturity (2)

Costs of maturity Median amount of time to move from one CMM maturity level to the next:

MAIN CONCEPTS

Main Concepts (Software) Process: the entirety of activities performed to develop and/or maintain software products and/or provide software services. Process Area: the set of activities that, when performed collectively, are important for making software process improvement, i.e. activities are grouped according to contribution to process capability. (Named) Process: the set of activities grouped according their goals in software life cycle.

Main Concepts (2) Process Capability: the range of expected results that can be achieved by following a process, i.e. ability (probability) to achieve the goals of the process. Capability Level: the measure in the discrete scale of the achievement of process capability (improvement). Capability levels as a rule apply to a named process capability. Process Maturity: the measure in which the process is managed, defined, quantitatively managed and optimizing. Maturity Level: Degree of process improvement across a predefined set of process areas in which all goals within the set are attained. Maturity levels apply to an organization s overall maturity.

Process Capability dependence on Maturity Level

Main Concepts (3) Software Process Model: definition of the essential elements for assessment of process maturity and/or capability and process improvement. Staged Software Process Model: provides the means for assessment of the organization s overall maturity and the predefined sequence of improvements. Result of the assessment is maturity level of the organization (it s software process). Examples: SW- CMM, CMMI Staged. Continuous Software Process Model: provides the means for assessment of individual named processes (process areas ) capability. Result of the assessment is processes capability profile. Examples: SPICE, ISO/IEC 15504, CMMI Continuous.

Comparison of models: Staged Provides a predefined sequence of improvements (suitable for ~80% of organizations) Measurable steps of process improvement are big Provides a single rating for the organization so enabling comparison of organizations (very suitable for marketing purposes)

Comparison of models: Continuous Allows you to select the order of improvement that best meets the organization s business objectives Improvement of single process could measured Provides rating for each named process (very suitable for process improvement purposes but it is complicated to compare organizations)

SOFTWARE PROCESS MODELS

Software Process models CMM (Capability Maturity Model): SW-CMM (Capability Maturity Model for Software) SE-CMM (Systems Engineering Capability Maturity Model) SA-CMM (Software Acquisition Capability Maturity Model) IPD-CMM (Integrated Product Development Capability Maturity Model)... CMMI (Capability Maturity Model Integration): CMMI-DEV (CMMI for Development) CMMI-ACQ (CMMI for Acquisition) CMMI-SVC (CMMI for Services) Current version 1.3. SPICE (Software Process Improvement and Capability determination) ISO/IEC 15504: Information technology - Process assessment (first version: Software process assessment)

CMMI Staged Representation Maturity levels Process area 1 (PA1) Process area 2 (PA2) Process area n (PAn) Specific goals Generic goals Common features Specific practices Commitment to perform Ability to perform Activities performed Measurement and analysis Verifying implementation Generic practices

CMMI Maturity levels ML1: Initial 0 process areas ML2: Managed 7 process areas ML3: Defined 11 process areas ML4: Quantitatively Managed 2 process areas ML5: Optimizing 2 process areas

CMMI-DEV PA of maturity level 2 CM - Configuration Management MA - Measurement and Analysis PMC - Project Monitoring and Control PP - Project Planning PPQA - Process and Product Quality Assurance REQM - Requirements Management SAM - Supplier Agreement Management

CMMI-DEV PA of maturity level 3 DAR - Decision Analysis and Resolution IPM - Integrated Project Management OPD - Organizational Process Definition OPF - Organizational Process Focus OT - Organizational Training PI - Product Integration RD - Requirements Development. RSKM - Risk Management. TS - Technical Solution. VAL - Validation. VER - Verification.

CMMI-DEV PA of other maturity levels Maturity Level 4 - Quantitatively Managed OPP - Organizational Process Performance QPM - Quantitative Project Management Maturity Level 5 - Optimizing CAR - Causal Analysis and Resolution OPM - Organizational Performance Management

CMMI Continuous representation Process area 1 (PA1) Process area 2 (PA2) Process area n (PAn) Specific goals Generic goals Specific practices Capability levels Generic practices

CMMI Capability levels 0 - Incomplete 1 - Performed 2 - Managed 3 - Defined 4 - Quantitatively Managed 5 - Optimizing

Processes capability dependencies 5 5 4 4 3 3 2 2 1 1 0 Vald. p. Inžineriniai p. Org. p. 0 Vald. p. Inžineriniai p. Org. p. 5 5 4 4 3 3 2 2 1 1 0 Vald. p. Inžiner. p. Org. p. 0 Vald.p Inžin. p. Org. p.

Process areas by categories Category Process Areas Project Management Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management Integrated Supplier Management Integrated Teaming Risk Management Quantitative Project Management Support Configuration Management Process and Product Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution Organizational Environment for Integration

Process areas by categories (2) Category Process Areas Engineering Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Process Management Organizational Process Focus Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment

CMMI PA description structure Required components Specific goals Generic goals Expected components Specific practices Generic practices Informative components Typical work products Subpractices Amplifications Generic practice elaborations Notes, examples References

CMMI generic goals and practices GG 1 Achieve Specific Goals GP 1.1 Perform Specific Practices GG 2 Institutionalize a Managed Process GP 2.1 Establish an Organizational Policy GP 2.2 Plan the Process GP 2.3 Provide Resources GP 2.4 Assign Responsibility GP 2.5 Train People GP 2.6 Manage Configurations GP 2.7 Identify and Involve Relevant Stakeholders GP 2.8 Monitor and Control the Process GP 2.9 Objectively Evaluate Adherence GP 2.10 Review Status with Higher Level Management

CMMI generic goals and practices (2) GG 3 Institutionalize a Defined Process GP 3.1 Establish a Defined Process GP 3.2 Collect Improvement Information GG 4 Institutionalize a Quantitatively Managed Process GP 4.1 Establish Quantitative Objectives for the Process GP 4.2 Stabilize Subprocess Performance GG 5 Institutionalize an Optimizing Process GP 5.1 Ensure Continuous Process Improvement GP 5.2 Correct Root Causes of Problems

CMMI target profiles and equivalent staging Name ML CL1 CL2 CL3 CL4 CL5 Requirements Management 2 Measurement and Analysis 2 Project Monitoring and Control 2 Project Planning 2 Process and Product Quality Assurance 2 Supplier Agreement Management 2 Configuration Management 2 Decision Analysis and Resolution 3 Product Integration 3 Requirements Development 3 Technical Solution 3 Validation 3 Verification 3 Organizational Process Definition 3 Organizational Process Focus 3 Integrated Project Management 3 Risk Management 3 Organizational Training 3 Organizational Process Performance 4 Quantitative Project Management 4 Organizational Innovation and Deployment 5 Causal Analysis and Resolution 5 Target Profile 2 Target Profile 3 Target Profile 4 Target Profile 5

ISO/IEC 15504 structure Part 1: Concepts and vocabulary (2004) Part 2: Performing an assessment (2003) Part 3: Guidance on performing an assessment (2004) Part 4: Guidance on use for process improvement and process capability determination (2004) Part 5: An exemplar Process Assessment Model (2012) Part 6: An exemplar system life cycle process assessment model (ISO/IEC TR 15504-6:2008) Part 7: Assessment of organizational maturity (ISO/IEC TR 15504-7:2008) Part 8: An exemplar process assessment model for IT service management (ISO/IEC TS 15504-8:2012) Part 9: Target process profiles (ISO/IEC TS 15504-9:2011) Part 10: Safety extension (ISO/IEC TS 15504-10:2011)

ISO/IEC 15504-2 defines Measurement framework for process capability. Requirements for performing an assessment; Process Reference Models; Process Assessment Models; verifying conformity of process assessment.

Models conformant ISO/IEC 15504-2 Process Reference Models: ISO/IEC 12207. Systems and software engineering Software life cycle processes; ISO/IEC 15288. Systems and software engineering System life cycle processes. Process Assessment Models: ISO/IEC 15504-5: An exemplar Process Assessment Model; ISO/IEC 15504-6: An exemplar system life cycle process assessment model.

ISO/IEC 15504 Assessment Model Process dimension consists of processes and each process is defined in terms of its purpose and outcomes. Capability dimension: Level 0 : Incomplete process Level 1 : Performed process PA1.1 Process performance Level 2 : Managed process PA2.1 Performance management, PA2.2 Work product management Level 3 : Established process PA3.1 Process definition, PA3.2 Process deployment

ISO/IEC 15504 Assessment Model (2) Level 4 : Predictable process PA4.1 Process measurement, PA4.2 Process control Level 5 : Optimizing process PA5.1 Process innovation, PA5.2 Process optimization The process attributes are defined by stating the achievements to be implemented. The achievement of PA1.1 is measured in terms of process outcomes.

SOFTWARE PROCESS ASSESSMENT AND IMPROVEMENT

Purposes of process assessment Capability/maturity determination Process improvements

Traps of process improvement Lack of Management Commitment Unrealistic Management Expectations Time-Stingy Project Leaders Stalling on Action Plan Implementation Achieving a CMM Level Becomes the Primary Goal

Traps of process improvement (2) Inadequate Training is Provided Expecting Defined Procedures to Make People Interchangeable Failing to Scale Formal Processes to Project Size Process Improvement Becomes a Game Process Assessments are Ineffective

Approach to SPI Examine Organization s Needs Initiate Process Improvement Perform Process Assessment Monitor Performance Analyze Results and Derive Action Plan Sustain Improvement Gain Confirm the Improvement Implement Improvement Actions

What we have learned? Main concepts of Software Process Overview of process capability/maturity models Approaches to process improvement

QUESTIONS?

APPENDIX

CMMI rating elements The rating elements in the CMMI are the specific and generic goals. The rating of goals is performed on the basis of evidence recorded against each specific and generic practice. Therefore, the specific and generic practices are "indicators" of process performance and process capability in the terms of ISO 15504.

CMMI - ISO/IEC 15504 mapping scheme ISO/IEC 15504 CMMI Process Process Area PA1.1 Specific Practice Outcome PA2-PA5 Generic Practice Achievement

CMMI - ISO/IEC 15504 mapping

Minimal general set of processes important for IT companies in Lithuania Category Group ID Process Primary life cycle processes Support Engineering processes ENG.1. Requirements elicitation Configuration management processes Quality assurance processes ENG.4. ENG.5. ENG.6. ENG.7. ENG.8. ENG.11. ENG.12. SUP.8 SUP.9 SUP.1. Software requirements analysis Software design Software construction Software integration Software testing Software installation Programinės įrangos priežiūra Configuration management Problem resolution Quality assurance Organizational Valdymo procesai MAN.3. Project o management

W. S. Humphrey: Process improvement methods

PSP process flow

PSP for graduates (1994) Cyclic process PSP3 Cyclic development Quality management process PSP2 Design review Code review PSP2.1 Design templates Planning process PSP1 Size estimating (PROBE) Test report PSP1.1 Time estimating (PROBE) Task planning Schedule plaaning Basic process PSP0 Current process Time recording Defect recording Defects types standard PSP0.1 Size measurement Coding standard Size standard (LOC) Process Improvement proposals

PSP for software engineers (2005) Team process TSP Teaming Risk management Project planning and monitoring Quality management and design PSP2 Code review Design review PSP2.1 Design templates Estimating and planning PSP1 Size estimating Testing report PSP1.1 Task planning Schedule planning Process discipline and measurement PSP0 Current process Basic measures PSP0.1 Coding standard Process improvement proposals Size measurement

TSPi: structure of cycles