Software Process Improvement. Overview



Similar documents
Software Process Improvement

Software Process Improvement CMM

Certified Software Quality Assurance Professional VS-1085

Software Quality Assurance: VI Standards

UML Modeling of Five Process Maturity Models

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

QUALITY ASSURANCE IN EXTREME PROGRAMMING Plamen Balkanski

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

Implementing CMMI for High-Performance

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

Foredragfor Den Norske Dataforening, den

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

Engineering Standards in Support of

Why Would You Want to Use a Capability Maturity Model?

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

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

Using the Software CMM in Small Projects and Small Organizations

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

Process Improvement -CMMI. Xin Feng

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

Capability Maturity Model Integration (CMMI ) Overview

LUXOFT ADVANTAGES. International Quality Standards

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

Process Improvement. From the Software Engineering Institute:

Role of Software Quality Assurance in Capability Maturity Model Integration

CMMI 100 Success Secrets

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

ORACLE NAIO Excellence combined with Quality A CMMI Case study

AN OVERVIEW OF INDUSTRIAL SOFTWARE DOCUMENTATION PRACTICES

[project.headway] Integrating Project HEADWAY And CMMI

How To Understand And Understand The Cmm

Process Improvement. Objectives

Software Process Improvement in SMEs: A Comparative View

Testing Process Models

CMMI Version 1.2. SCAMPI SM A Appraisal Method Changes

Software Quality Management

ISO, CMMI and PMBOK Risk Management: a Comparative Analysis

Capability Maturity Model Integration (CMMI ) Version 1.2 Overview

Concept of Operations for the Capability Maturity Model Integration (CMMI SM )

Leveraging CMMI framework for Engineering Services

The Capability Maturity Model for Software, Version 1.1

Using Rational Software Solutions to Achieve CMMI Level 2

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

CMS Policy for Capability Maturity Model Integration (CMMI)

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

Manage the acquisition of products from suppliers for which there exists a formal agreement.

Security Engineering Best Practices. Arca Systems, Inc Boone Blvd., Suite 750 Vienna, VA

MEASURES FOR EXCELLENCE. Software Process Improvement: Management. Commitment, Measures. And Motivation

Software Process Maturity Model Study

The Advantages of ISO 9001 Certification

Software Engineering: Analysis and Design - CSE3308

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

TOWARDS MATURE SOFTWARE PROCESS 1

A Report on The Capability Maturity Model

SOFTWARE QUALITY MANAGEMENT THROUGH IMPLEMENTATION OF SOFTWARE STANDARDS

MTAT Software Engineering Management

The Impact of Software Process Improvements in Small and Medium Scale Enterprises

Developing CMMI in IT Projects with Considering other Development Models

Plan-Driven Methodologies

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

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

Introduction to Agile Software Development

Benefits of conducting a Project Management Maturity Assessment with PM Academy:

The IT Service CMM. Presentation overview. IT Service CMM. What it is; what it is not. Using the IT Service CMM. Current status and outlook 19/04/2002

Design of Software Process Improvement Model

An Overview of Software Engineering Process and Its Improvement

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

SOFTWARE QUALITY ASSURANCE IN CAPABILITY MATURITY MODEL INTEGRATION

Integrating Lean, Six Sigma, and CMMI. David N. Card

CMMI Level 5 and the Team Software Process. Dr. Gene Miluk Software Engineering Institute

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

ITIL: Continual Service Improvement

QUANTIFIED THE IMPACT OF AGILE. Double your productivity. Improve Quality by 250% Balance your team performance. Cut Time to Market in half

Capability Maturity Model Integratoin (CMMI) and its Assessment Process

Certified Software Quality Engineer (CSQE) Body of Knowledge

Can a Level 2 or (3) organization be considered ISO compliant? Should SPI be based on CMM or ISO?

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

MKS Integrity & CMMI. July, 2007

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

Agile, TSP SM, CMMI pick one, pick two, pick all three!

Software Quality Data Part 1: Basic and Derived Metrics

Transcription:

Software Process Improvement Overview Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile Motivation Immaturity of software engineering - state of the practice 3 critical factors: people, technology, and process - main drivers of costs, schedules, productivity and software quality Basic principle: improve software product quality by improving software process quality Capability - maturity measurement - predictor of software process quality - can be improved

Motivation Important: differentiate change and process improvement Important question: what is the return on software process improvement? Need for metrics and methods Difficulty of measuring certain aspects: lower risks, productivity, quality increase, client satisfaction, and of associating return on investment to software engineering process and technology Definitions Process: secuence of steps executed with a specific purpose Software process: set of activities, methods, practices, and transformations used to develop and maintain software and its associated products, i.e. plans, design documents, code, test cases, manuals

Definitions Software process improvement: deliberate and planned methodology that follows standardized documentation practices to capture in paper (and practice) each element of software process, and determine its added value; useful tool: ETVX diagram ETVX diagram Process is composed of activities Each activity is controlled using a defined model : Entry-Task-Verification-eXit The structure of the model requires: entry criteria, task, verification and exit criteria for each activity

ETVX diagram ENTRY TASK EXIT Policies Procedures Resources Funding Training Orientation Processes Sponsorships Responsibilities / Roles Databases Tools / Methods Plans Actions Metrics Information VERIFICATION Reviews / Audits Measurements Analysis Goal Satisfaction Assets Complete Products Goals Understand the present state of software engineering practice and management in an organization Select improvement areas where the changes may mean the highest long-term benefits Focus on adding value to business, not on achieving a process utopia Prosper combining effective process with prepared, motivated and creative people

Requisites Intelligent, trained, creative engineers and managers Effective team work Shared culture focused towards quality Clear improvement goals Metrics to control progress Honest evaluation of problem areas Time to select, pilot, and implement improved process Consistent high level leaderships and expectations Everyone involved in improvement efforts Common sense, combined with a commitment to improve Change possible VISION SKILLS INCENTIVES RESOURCES ACTION PLAN CHANGE SKILLS INCENTIVES RESOURCES ACTION PLAN CONFUSION VISION INCENTIVES RESOURCES ACTION PLAN ANSIETY VISION SKILLS RESOURCES ACTION PLAN GRADUAL CHANGE VISION SKILLS INCENTIVES ACTION PLAN FRUSTRATION VISION SKILLS INCENTIVES RESOURCES FALSE STARTS

Commitment to change C O M M I T M E N T Contact Names Understanding Concepts Concience Buzzwords TIME Institutionalization Synergy Trials Possibilities Adoption Free Uses Internalization Assumption Adoption continuum The Chasm Innovators "Techies" Early majority "Pragmatics" Laggards Skeptics" Early adopters "Visionaries" Late majority "Conservatives"

10 traps to avoid Lack of high level commitment Unreal expectations from high level management Leaders who don t assign the resources Inadecuate training Achieving a given model level is the goal Ill-applied at the micro level Ineffective evaluations Action plan implementation delay Process improvement becomes a game Hope that process will replace people Enemies of improvement Re-structuring, fusion, downsizing Middle manager sabotage Lack of strategic plan linking software process improvement to business Lack of high level buy-in Insufficient resources Software process improvement not managed as a project Demands for immediate results Insufficient training for software engineering process group

Acronyms SPI - Software Process Improvement CMU/SEI -- Carnegie Mellon University / Software Engineering Institute CMM/CMMI -- Capability Maturity Model / Capability Maturity Model Integration SEPG - Software Engineering Process Group CBA/IPI -- CMM-Based Appraisal for Internal Software Improvement KPA - Key Process Areas PSP/TSP -- Personal / Team Software Process ISO -- International Organization for Standardization SPICE -- Software Process Improvement and Capability determination S:PRIME(R) -- Software Process Risk Identification, Mapping and Evaluation (Resolver) SEI s most popular models 5 level software process maturity model (framework presented in 1987) > initial (ad hoc/chaotic) > repeatable (intuitive) > defined (qualitative) > managed (quantitative) > optimizing (feedback) Each level establishes an intermediate set of goals to achieve the next higher level of process maturity Development of SW-CMM, CMM family, CMMI, IDEAL http://www.sei.cmu.edu

IDEAL model CBA/IPI Developed by SEI, supports the Diagnosis phase in the IDEAL model Objectives: to establish a precise situation of software process strengths and weaknesses according to CMM, and generate internal commitment to SPI 3 steps: negotiation and preparation (2 to 6 months), collection and data analysis (2 weeks), and recommendations report (4 to 6 weeks) Developed by lead assessors certified by SEI, involves a high cost in man hours from the organization under evaluation

PSP/TSP Developed by the SEI since 1994 Represents an elegant synthesis of proved concepts (CMM, experience factory, inspections, cause analysis) customized at the team and individual levels Incorporates quality principles to defined processes that teams and engineers can follow CMM - builds organizational capability TSP - builds quality products on cost and schedule PSP - builds individual skill and discipline ISO 9000 From 1987, very important for certification requirements (mainly, Europe) ISO 9001/9000-3, relevant for software (standard 1994) Emphasis in minimum requirements for quality systems, little explicit support for continuous improvement Developed by certified auditors New version ISO 9001:2000 http://www.iso-9000-2000.com

SPICE ISO 15504 Still a (never-ending) project (ISO/IEC JTC1/SC7 WG10) Objective: develop an international standard for software process assessments Origins: CMM, ISO, and other products Relates process, process assessment, capability determination, and process improvement Made of 9 products in the form of guidelines and questionnaires Since 1995 a number of trial phases unknown whether it will ever be a working product.. http://www.sqi.gu.edu.au/spice S:PRIME Developed by ASEC (CGLA), CRIM, Canada; based on CMM, focus to small and medium size organizations Handles 2 questionnaires: one for managers (7 risk categories), and the other for practicioners (15 practice areas), to determine the levels of perceived and probable risks, for a given practice satisfaction Method steps: questionnaire adaption, selection of project sample, questionnaire responses, analysis and compilation of responses, presentation and discussion of results Developed by lead assessors certified by CRIM, S:PRIME requires significatively fewer man hours, compared to CBA/IPI http://www.grafp.com

Other products Bootstrap (Esprit, Europe) Trillium (Canada) SAM, HealthCheck,TickIT (United Kingdom) STD (Compita) SQPA (Hewlett-Packard) Specific process models - documentation, SQA, SCM, testing Process meta-models/frameworks Other considerations SPI: Top-down or bottom-up? Immaturity levels?: 0,-1,-2,-3,... Process v/s plan > process: framework for a family of tasks, typical structure, intermediate guideline from where to start > plan: is unique and for a specific task, facilitated by a defined process

Return on investment The return comes later, the investment is now Conflicting issues > motivation for more immediate returns > competing alternatives seeking funding > technical people have a hard time justifying investment To build business case - need to deploy SPI so returns are observed sooner than later, they are huge and obvious, and ROI tools and models are simple Still a long way.. dialog between technical, management and business people Some early results Study of costs and benefits, 13 organizations (mid 90s) Category Range Median Cost of SPI per software engineer per year US$490-2004 US$1375 Productivity gain per year 9% - 67% 35% Reduction in time to market per year 15% - 23% --- Reduction in post-release defects per year 10% - 94% 39% Return on investment 4.0-8.8:1 5.0:1

Same early results (cont) Summary of additional benefits > higher motivation and lower turnover > lower risk and better image > less overtime hours > professionals after improvement opportunities > better communication at all levels > pride and ownership of SPI makes it sustainable and continuous