Process Improvement. Objectives

Similar documents
Process Improvement. Objectives

Process Improvement. Process improvement. Process improvement stages. Understanding, Modelling and Improving the Software Process

Software Process Improvement Software Business. Casper Lassenius

Understanding, Modelling and Improving the Software Process. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1

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

The Software Development Life Cycle: An Overview. Last Time. Session 8: Security and Evaluation. Information Systems Security Engineering

Software Process Improvement CMM

Process Improvements for Software Quality and Reliability

CSC 408F/CSC2105F Lecture Notes

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

Capability Maturity Model Integrated (CMMI)

Quality Management & Process Improvement. Quality Management. Software quality management. What is quality?

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

Toward Quantitative Process Management With Exploratory Data Analysis

Software Engineering: Analysis and Design - CSE3308

Software Process Improvement

Fundamentals of Measurements

MTAT Software Engineering Management

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

The Capability Maturity Model for Software, Version 1.1

Software Process Improvement

CMMI: Adapting to SEI's New Integrated CMM

Continuous Risk Management Guidebook

How To Understand And Understand The Cmm

Using Rational Software Solutions to Achieve CMMI Level 2

Leveraging CMMI framework for Engineering Services

Software Process Maturity Model Study

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

Software Testing Maturity Model SM (SW-TMM SM ) Presenter: Duy Huynh

Measurement and Metrics Fundamentals. SE 350 Software Process & Product Quality

Capability Maturity Model Integration (CMMI ) Overview

Personal Software Process (PSP)

Darshan Institute of Engineering & Technology Unit : 7

A Comparison of ISO 9001 and the Capability Maturity Model for Software

Introduction to the ITS Project Management Methodology

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

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

Mahmoud Khraiwesh Faculty of Science and Information Technology Zarqa University Zarqa - Jordan mahmoud@zpu.edu.jo

Lecture 8 About Quality and Quality Management Systems

Capability Maturity Model Integration (CMMI SM ) Fundamentals

An Approach for assessing the Quality of Software for small and medium sized firms

Using CMM with DO-178B/ED-12B for Airborne System Development

Develop Project Charter. Develop Project Management Plan

A Capability Maturity Model (CMM)

<name of project> Software Project Management Plan

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

Software Process Improvement. Overview

PMP Examination Tasks Puzzle game

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

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

Introduction to Software Engineering. 8. Software Quality

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

Why is Quality Important? Definition

MAPPING OF PROJECT MANAGEMENT METHODS AND TECHNIQUES TO SOFTWARE ENGINEERING PROCESSES

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

Portfolio, Programme and Project Management Maturity Model - a Guide to Improving Performance

Developing CMMI in IT Projects with Considering other Development Models

CMMI KEY PROCESS AREAS

How To Create A Process Measurement System

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

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

Software Quality Assurance: VI Standards

What do you think? Definitions of Quality

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

Learning from Our Mistakes with Defect Causal Analysis. April Copyright 2001, Software Productivity Consortium NFP, Inc. All rights reserved.

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Knowledge Infrastructure for Project Management 1

Software Acquisition Capability Maturity Model (SA-CMM ) Version 1.03

The 10 Knowledge Areas & ITTOs

How DCMA Helps To Ensure Good Measurements

Measurement Strategies in the CMMI

ITIL-CMM Process Comparison

Process Improvement. From the Software Engineering Institute:

Using the Software CMM in Small Projects and Small Organizations

Engineering Standards in Support of

SOFTWARE QUALITY MANAGEMENT THROUGH IMPLEMENTATION OF SOFTWARE STANDARDS

(Refer Slide Time: 01:52)

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

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

Integrating Quality Assurance into the Software Development Life Cycle

Treasury Board of Canada Secretariat (TBS) IT Project Manager s Handbook. Version 1.1

CMMI 100 Success Secrets

Making Sense of Process Improvement Programs and Appraisals

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

Using Measurement to translate Business Vision into Operational Software Strategies

The Advantages of ISO 9001 Certification

Role of Software Quality Assurance in Capability Maturity Model Integration

Benchmarking Software Quality With Applied Cost of Quality

Rapidly Defining a Lean CMMI Maturity Level 3 Process

MKS Integrity & CMMI. July, 2007

5 Regional Approaches

Development and Acquisition D&A

Project Management Professional (PMP) Examination Content Outline

Software Engineering 9.1. Quality Control

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

Certified Software Quality Engineer (CSQE) Body of Knowledge

How can I be agile and still satisfy the auditors?

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

Software Project Management Matrics. Complied by Heng Sovannarith

Transcription:

Process Improvement cmsc435-1 Objectives To explain the principles of software process improvement To explain how software process factors influence software quality and productivity To introduce the SEI Capability Maturity Model and to explain why it is influential. To discuss the applicability of that model To explain why CMM-based improvement is not universally applicable cmsc435-2

Process improvement Understanding existing processes Introducing process changes to achieve organizational objectives which are usually focused on quality improvement, cost reduction and schedule acceleration Most process improvement work so far has focused on defect reduction. This reflects the increasing attention paid by industry to quality However, other process attributes can be the focus of improvement cmsc435-3 Why do process improvement? We want to build better products (cheaper, more dependable, quicker, ) We really don t know how to measure the product characteristics There, measure the process under the assumption a better process will produce a better product. When is this statement true or not true? cmsc435-4

Process attributes Process characteristic Understandability Visibility Supportability Acceptability Reliability Robustn ess Maintainability Rapidity Description To what extent is the process explicitly defined and how easy is it to understand the p rocess definition? Do the process activities culminate in clear results so that the p rogress of the process is externally vis ible? To what extent can the process activiti es be supported by CASE tools? Is the defined process acceptable to and u sable by the engineers responsibl e for produ cing th e software product? Is the process designed in such a way that process errors are avoided o r trapped before they result in produ ct errors? Can the process continu e in spite of unexpected prob lems? Can the process evolve to reflect changing org anisational requirements or identified process improv ements? How fast can the process of delivering a system from a given specification b e completed? cmsc435-5 Process improvement stages Process analysis Model and analyze (quantitatively if possible) existing processes Improvement identification Identify quality, cost or schedule bottlenecks Process change introduction Modify the process to remove identified bottlenecks Measure improvement What happened? May need to tailor process. Process change training Train staff involved in new process proposals Change tuning Evolve and improve process improvements cmsc435-6

Process and product quality Process quality and product quality are closely related (Are they?) A good process is usually required to produce a good product For manufactured goods, process is the principal quality determinant For design-based activity, other factors are also involved especially the capabilities of the designers cmsc435-7 Principal product quality factors Development technology Process quality Product quality People quality Cost, time and schedule cmsc435-8

Quality factors For large projects with average capabilities, the development process determines product quality For small projects, the capabilities of the developers is the main determinant The development technology is particularly significant for small projects In all cases, if an unrealistic schedule is imposed then product quality will suffer cmsc435-9 Process analysis and modelling Study an existing process to understand its activities Produce an abstract model of the process. You should normally represent this graphically. Several different views (e.g. activities, deliverables, etc.) may be required Analyze the model to discover process problems. Involves discussing activities with stakeholders cmsc435-10

Process analysis techniques Published process models and process standards It is always best to start process analysis with an existing model. People then may extend and change this. Questionnaires and interviews Must be carefully designed. Participants may tell you what they think you want to hear Ethnographic analysis Involves assimilating process knowledge by observation Taxonomy of validation methods - Review experimentation notes from several weeks ago cmsc435-11 The module testing activity Pre-condition Module compiles without syntax errors Input Module specification Responsible for Process Rôle Test engineer Test module Post-condition All defined tests run on module Outputs Signed-off test record Module test data cmsc435-12

Activities in module testing TEST DATA PREPARATION Read module specification Prepare test data according to specification Submit test data for review Review test data MODULE TEST HARNESS PREPARATION Checkout module from configuration management system Read and understand module interface Prepare test harness for module Compile test harness TEST EXECUTION Incorporate module with test harness Run approved tests on module Record test results for regression tests TEST REPORTING Write report on module testing including details of discovered problems Submit report for approval Submit test results to CM Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ## cmsc435-13 Process measurement Wherever possible, quantitative process data should be collected However, where organizations do not have clearly defined process standards this is very difficult as you don t know what to measure. A process may have to be defined before any measurement is possible Process measurements should be used to assess process improvements But this does not mean that measurements should drive the improvements. The improvement driver should be organizational objectives cmsc435-14

Classes of process measurement Time taken for process activities to be completed E.g. Calendar time or effort to complete an activity or process Resources required for processes or activities E.g. Total effort in person-days Number of occurrences of a particular event E.g. Number of defects discovered cmsc435-15 Goal-Question-Metric Paradigm Goals What is the organization trying to achieve? The objective of process improvement is to satisfy these goals Questions Questions about areas of uncertainty related to the goals. You need process knowledge to derive these Metrics Measurements to be collected to answer the questions cmsc435-16

THE MEASUREMENT INFRASTRUCTURE Goal Based Measurement Meas. Goal Meas. Goal Meas. Goal Meas. Goal Meas. Goal Meas. Goal Meas. Goal Meas. Goal Question Question Question Question Question Metric Metric Metric Each metric supports multiple goals Questions focus metric selection and in-process analysis cmsc435-17 GOAL/QUESTION/METRIC PARADIGM Goal and Model Based Measurement Goal Goal Goal Question Question Question Metric Metric Metric A Goal links two models: a model of the object of interest and a model of the focus and develops an integrated GQM model Goal: Analyze the final product to characterize it with respect to the various defect classes from the point of view of the organization Question: What is the error distribution by phase of entry Metric: Number of Requirements Errors, Number of Design Errors,... cmsc435-18

DEFINING MEASUREMENT GOALS A GOAL/QUESTION/METRIC EXAMPLE Business Goal - Understand problem areas in the software business A Measurement Goal - Analyze the final product to characterize it with respect to the various defect classes from the point of view of the organization Question - What is the error distribution by type of error? Metrics - Number of Requirements Errors, Number of Design Errors,... 80 70 60 50 40 30 20 10 % of Errors 0 8 Sources of Software Errors 10 72 Req. Hi Level Detailed Other Design Design Type of Error 10 cmsc435-19 Importance of baseline studies NASA/SEL PROCESS BASELINE EXAMPLE Effort Distribution* Classes of Errors* OTHER 26% DESIGN 23% COMPUTA- TIONAL 15% INITIALIZA- TION 16% TEST 30% CODE 21% 85% code writing DATA 27% INTERFACE 22% LOGIC/ CONTROL 20% 15% code reading 100 Source Code Growth Rate* 80 60 Percent source code growth (LOC) 40 20 *Data from 11 Flight Dynamics projects (mid 1980s) cmsc435-20 0 DESIGN CODE SYSTEM TEST PROJECT PHASE ACCEPTANCE TEST

Quality Improvement Paradigm Developed by Basili as part of NASA/GSFC Software Engineering Laboratory (SEL) research QIP 6 step process: Characterize Analyze and understand the environment. Need to understand current processes before improvement. Compare to CMM. Measurement crucial at beginning (not level 4) and each environment is unique. Set goals Quantifiable goals must be based on discovered characteristics. Choose process Based on characterization and goals, processes, methods, and tools have to be determined. Execute the process Perform the processes constructing the required products. Analyze At the end of each project, analyze the data gathered, determine problems, and make recommentations for improvement. Package Structure knowledge and store it an experience base for future reuse. cmsc435-21 Forms of Packaged Experience Equations defining the relationship between variables, e.g. Effort = 1.48*KSLOC.98, Number of Runs = 108 + 150*KSLOC Histograms or pie charts of raw or analyzed data, e.g., Classes of Faults: 30% data, 24% interface, 16% control, 15% initialization, 15% computation Effort Distribution: 23% design, 21% code, 30%test, 26% other Graphs defining ranges of normal e.g., Fault Slippage Rate: halve faults after each test phase (4, 2, 1,.5) Specific lessons learned, e.g., an Ada design should use library units rather than a deeply nested structure; minimize the use of tasking as its payoff is minimal in this environment; size varies inversely with defect rate up to about 1KLOC per module Processes descriptions (adapted to SEL), e.g., Recommended Approach, Manager s Handbook, Cleanroom Process Handbook, Ada Developer s Guide, Ada Efficiency Guide cmsc435-22

Quality Improvement Paradigm - 2 Package & store experience Characterize & understand Corporate learning Analyze Results Set goals Project learning Provide Process with Feedback Process Execution Choose processes, methods, techniques, and tools Analyze Results cmsc435-23 The Software Engineering Institute US Defense Dept. funded institute associated with Carnegie Mellon Mission is to promote software technology transfer particularly to defense contractors Maturity model proposed in 1987, refined in early 1990s. Software Capability Evaluation (SCE) a self assessment of an organization Capability Maturity Model (CMM) A mechanism to evaluate the maturity of a development group Major developer Watts Humphrey Soon merged into one process Work has been very influential in process improvement cmsc435-24

The SEI process maturity model Level 5 Optimizing Level 4 Managed Level 3 Defined Level 2 Repeatable Level 1 Initial cmsc435-25 CMM Overview An evaluation is based upon a 5-level rating. Each level represents a more mature organization: 1. Initial No predefined process. Development is ad hoc. No established rules. (Note: This does not mean bad practices, but usually means it can be greatly improved. There are good development practices followed by some level 1 organizations.) 2. Repeatable Policies are in place to manage software development. Each project follows some process that is generally similar to others. 3. Defined Processes for software development fit into a corporate standard for software development. Development processes are well documented. 4. Managed Quantitative goals for products and processes are set. Software process attributes are quantifiable. 5. Optimizing Goals for continuous process improvement are in place. cmsc435-26

CMM Key Process Areas (KPAs) CMM evaluations are based upon KPAs. 18 KPAs govern the CMM. In order to be at level N, all the KPAs up to that level must be satisfied. Initial None This is the initial state. Repeatable Requirements management; Project planning; Project tracking; Subcontract management; Quality assurance; Software configuration management Defined Organization process focus; Organization process definition; Training program; Integrated software management; Software product engineering; Intergroup coordination; Peer reviews Managed Software quality management; Quantitative process management [Is it really level 4?] Optimizing Defect prevention; Technology change management; Process change management cmsc435-27 Key process areas Optimizing Process change management Technology change management Defect prevention 18 KPAs 52 goals 316 key practices 500 pages of documentation Defined Managed Software quality management Quantitative process management Peer reviews Intergroup coordination Software product engineering Integrated software management Training programme Organization process definition Organization process focus Repeatable Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management Initial cmsc435-28

For each KPA For each KPA, need to address commitment: 1. What is commitment to perform this KPA? What policies and management leadership are behind this KPA? 2. What is the ability to perform this KPA? What mechanisms are in place? 3. What activities are performed? What are the procedures in place to perform that KPA? 4. What is the measurement of the KPA and the analysis of its adherence? 5. What verifies the implementation? How to ensure compliance? cmsc435-29 Required questions for level 2 of CMM Question number Question 1.1.3 Does the Software Quality Assurance function have a management reporting channel separate from the software development project management? 1.1.6 Is there a software configuration control function for each project that involves software development? 2.1.3 Is a formal process used in the management review of each software development prior to making contractual commitments? 2.1.14 Is a formal procedure used to make estimates of software size? 2.1.15 Is a formal procedure used to produce software development schedules? 2.1.16 Are formal procedures applied to estimating software development cost? 2.2.2 Are profiles of software size maintained for each software configuration item over time? 2.2.4 Are statistics on software code and test errors gathered? 2.4.1 Does senior management have a mechanism for the regular review of the status of software development projects? 2.4.7 Do software development first-line managers sign off on their schedule and cost estimates? 2.4.9 Is a mechanism used for controlling changes to the software requirements? 2.4.17 Is a mechanism used for controlling changes to the code? cmsc435-30

SEI Process Improvement Cycle Initialize Establish Sponsorship Create vision and strategy Establish improvement structure For Each Maturity Level Characterize current practice in terms of key process areas Assessment recommendations Revise strategy (generate action plans and prioritize key process areas) For Each key Process Area Establish process action teams Implement tactical plan, define processes, plan and execute pilot(s), plan and execute institutionalization Document and analyze lessons Revise organizational approach cmsc435-31 Aggregate results from SEI benefits study (Herbsleb et al 1994) Category Range Median Total yearly cost of software process improvement activities $49,000 to $245,000 $1,202,000 Years engaged in software process improvement 1 to 9 3.5 Cost of software process improvement per engineer $490 to $2004 $1375 Productivity gain per year 9% to 67% 35% Early detection gain per year (faults discovered pre-test) 6% to 25% 22% Yearly reduction in time to market 15% to 23% 19% Yearly reduction in post-release fault reports 10% to 94% 39% Business value of investment in software process improvement (value returned on each dollar invested) 4.0 to 8.8 5.0 cmsc435-32

What is a level 5 organization? It is an organization that can manipulate process to achieve various product characteristics. This requires that we have a process and an organizational structure to help us: Understand our processes and products Measure and model the project and the organization Define and tailor process and product qualities explicitly Understand the relationship between process and product qualities Feedback information for project control Experiment with methods and techniques Evaluate our successes and failures Learn from our experiences Package successful experiences Reuse successful experiences cmsc435-33 KPA issues Each KPA provides needed features for good development, but there are issues with CMM: Companies often look only one level ahead and ignore ultimate goal of level 5. Management only. Role of technology mostly ignored Expensive, especially for small companies Process is bottom up. One size fits all. (Contrast with QIP next.) Level 3 is often a requirement for a DoD contract even though not fully demonstrated higher level is an accurate predictor of better quality products. cmsc435-34

It focuses on project management rather than product development. Management often more interested in number than in improvement. It ignores the use of technologies such as rapid prototyping. It ignores measurement until level 4. It does not incorporate risk analysis as a key process area It does not define its domain of applicability. Is expensive to use. Too much overhead and reporting for a small company. Not very agile. Hard to use if rapid turnaround needed. cmsc435-35 SEI model problems CMM model value But it does impose a structure Often any structure better than no structure. Some indications that levels 2 and 3 do help Not clear if levels 4 and 5 add much value Some companies satisfied with a level 3 ranking. Although level 5 is supposed to indicate agility in making changes, some companies are afraid to make a change in fear of losing their ranking. cmsc435-36

ISO 9000 Certification ISO standard 9001 (software component) for standard quality of a product. (Note that good quality is not required, only that quality can be accurately determined. Concrete life preservers can be ISO certified, but not be very useful.) Companies want ISO certification as a requirement to sell in Europe. Based upon 20 clauses. ISO certification is comparable to CMM level 2 or level 3, but processes are different. cmsc435-37 ISO 9000 clauses Management Quality team Contract review Training Control of customer supplied product Document and data control Control of nonconforming products Integration and testing Corrective and preventative actions Interval quality audits Design control Purchasing Process control Service Product identification and traceability Inspection and test cases Control of quality record Control of inspection, measuring, test Handling, storage, packaging, delivery Statistical techniques cmsc435-38

ISO 9000 tasks writing a quality manual, describing the organization's quality system at a high level writing procedure documents describing the work is carried out in the organization creating a system to control distribution and re-issue of documents identifying training needs for most positions in the organization training people in the organization on operation of the quality system planning and conducting internal audits cmsc435-39 cmsc435-40 ISO 9000 standards ISO 9000, "Quality management and quality assurance standards - Guidelines for selection and use," clarifies the distinctions and interrelationships between quality concepts and provides guidelines for the selection and use of a series of international standards on quality systems that can be used for internal quality management purposes ( ISO 9004 ) and for external quality assurance purposes (ISO 9001, 9002 and 9003 ). ISO 9001, "Quality systems - Model for quality assurance in design/development, production, installation, and servicing." Of the ISO 9000 series, it is the standard that is most pertinent to software development and maintenance. ISO 9002, "Quality systems - Model for quality assurance in production and installation." ISO 9003, "Quality systems - Model for quality assurance in final inspection and test" ISO 9004, "Quality management and quality system elements Guidelines." ISO 9000-3, provides "Guidelines for the application of ISO 9001 to the development, supply, and maintenance of software."

Goals of ISO 9000 An organization should achieve and sustain the quality of the product or service produced so as to meet continually the purchaser's stated or implied needs. An organization should provide confidence to its own management that the intended quality is being achieved and sustained. An organization should provide confidence to the purchaser that the intended quality is being, or will be, achieved in the delivered product or service provided. cmsc435-41 The CMM and ISO 9000 There is a clear correlation between the key processes in the CMM and the quality management processes in ISO 9000 The CMM is more detailed and prescriptive and includes a framework for improvement Organizations rated as level 2 in the CMM are likely to be ISO 9000 compliant cmsc435-42

People capability maturity model (Curtis, Hefley and Miller 1995) Level Focus Key practices 5: optimizing Continuous workforce innovation Continuous knowledge and skills improvement Coaching 4: managed Effectiveness measured and Personal competency development Organizational performance managed, high performance teams developed alignment Organizational competency management Team-based practices Team-building Mentoring 3: defined Competency-based workforce practices Participatory culture Competency-based practices Career development Competency development Workforce planning Knowledge and skills analysis 2: repeatable Management takes responsibility for managing its people 1: initial cmsc435-43 Compensation Training Performance management Staffing Communication Work environment CMMI -1 CMM have become a growth industry SW-CMM - Capability Maturity Model for Software P-CMM - People Capability Maturity Model SA-CMM - Software Acquisition Capability Maturity Model SE-CMM - Systems Engineering Capability Maturity Model IPD-CMM - Integrated Product Development Capability Maturity Model CMMI proposed to integrate various models cmsc435-44

CMMI -2 The CMM Integration project was formed to address the problem of having to use multiple Capability Maturity Models. The initial mission of the project was to combine three source models: 1. Capability Maturity Model for Software (SW-CMM) v2.0 draft C 2. Electronic Industries Alliance Interim Standard (EIA/IS) 731, Systems Engineering Capability Model (SECM) 3. Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 into a single model for use by organizations pursuing enterprise-wide process improvement. cmsc435-45 CMMI -3 24 process areas Each process area has a set of goals Up to seven practices are associated with each goal as a way to satisfy that goal 6 point measurement scale for each process area: Not performed Performed (goals satisfied) Managed (Organizational policies define process) Defined (Organizational standardization) Quantitatively managed (Measurement involved) Optimizing (Adaptive processes) Each maturity level has a set of process areas cmsc435-46

Capability assessment An important role of the SEI is to use the CMM to assess the capabilities of contractors bidding for US government defence contracts The model is intended to represent organizational capability not the practices used in particular projects Within the same organization, there are often wide variations in processes used Capability assessment is questionnaire-based cmsc435-47 The capability assessment process Select projects for assessment Distribute questionnaires Analyse responses Clarify responses Identify issues for discussion Interview project managers Interview engineers Interview managers Brief managers and engineers Present assessment Write report cmsc435-48

Key points Process improvement involves process analysis, standardization, measurement and change Process models include descriptions of tasks, activities, roles, exceptions, communications, deliverables and other processes Measurement should be used to answer specific questions about the software process used The three types of process metrics which can be collected are time metrics, resource utilization metrics and event metrics The SEI model classifies software processes as initial, repeatable, defined, managed and optimising. It identifies key processes which should be used at each of these levels The SEI model is appropriate for large systems developed by large teams of engineers. It cannot be applied without modification in other situations cmsc435-49