computing and se ii chapter 15: software process management er-yu ding software institute, nju

28
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

Upload: alan-harper

Post on 05-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

Computing and SE II

Chapter 15: Software Process Management

Er-Yu DingSoftware Institute, NJU

Page 2: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

Main Contents

1. Activities of Process Management2. Defining Process3. Process Measurement4. Process Evaluation

Page 3: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

1. Activities of Process Management

StaffingTracking

Resources Multiple People Schedule Budget Others

Specific work to do Life Cycle and Process Model

Deliverables Artifacts pieces Integral Product

Project Plan Resources Plan Specific Work Plan Deliverables Plan

Process Management

Configuration ManagementQuality Assurance/Management

EstimationSchedulingRisk

Project Scope

Project Planning

Page 4: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

1. Activities of Process Management

• Specific work to do– Definition tasks

• Defining Process

– Monitoring executions of tasks• Process Measurement

– Evaluation executions of tasks• Process Evaluation

Page 5: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

2. Defining Process

• A set of processes is chosen that will meet the organization’s unique needs– Common software process models are

references• Process definition may be the bulk of the

work, especially for lower-maturity organizations– Software life cycles are references

• Processes must be relevant, correct, consistent, useful, flexible, extensible, and adaptable.

Page 6: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

2. Defining Process

RolesActivities

Work Products

Composed of

Page 7: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

2. Defining Process ---Process Description

• Policy – A statement of the organizational expectations for the process, when and under what conditions the process is to be followed, and why it is needed

• Process – Used to name the “what” level of process description. Outlines what the process accomplishes, activities, roles, deliverables, and portraying component interconnections

Page 8: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

2. Defining Process --- Process Description

• Procedure – defines “how” each component part of the process is conducted; a step-by-step description is made that identifies specific techniques, methods, and tools to be used.

• Role – a defined set of role titles and descriptions should be used consistently; roles may be responsible for, accountable for, consulted with, or informed of an event

Page 9: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

2. Defining Process --- Process Description

• Activity – “Work that is performed to carry out a process. This generic term is used to refer to a breakdown into phases, steps, tasks, and so on, and sometimes organized into a hierarchy of work detail into a process description.”

• Work Products – “The tangible items consulted while performing an activity or produces as a result of performing the activity. Synonyms are ‘deliverable’ and ‘artifact’.”

Page 10: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement

measurementmeasurement

Making the Making the process process visible and visible and controllable!controllable!

project metricsproject metrics

process metricsprocess metrics

processprocess

productproduct

product metricsproduct metrics

Page 11: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement ---Measurement, Measures,

Metrics• Measurement– is the act of obtaining a measure

• Measure– provides a quantitative indication of the size of

some product or process attribute

• Metric– is a quantitative measure of the degree to

which a system, component, or process possesses a given attribute

Page 12: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Types of Measures

• Direct Measures (internal attributes)– Cost, effort, LOC, speed, memory

• Indirect Measures (external attributes)– Functionality, quality, complexity,

efficiency, reliability, maintainability

Page 13: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Process Metrics

• majority focus on quality achieved as a consequence of a repeatable or managed process

• statistical SQA data– error categorization & analysis

• defect removal efficiency– propagation from phase to phase

• reuse data

Page 14: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Project Metrics

• Effort/time per SE task• Errors uncovered per review hour• Scheduled vs. actual milestone dates• Changes (number) and their

characteristics• Distribution of effort on SE tasks

Page 15: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Product Metrics

• focus on the quality of deliverables• measures of analysis model• complexity of the design

– internal algorithmic complexity– architectural complexity– data flow complexity

• code measures• measures of process effectiveness

– e.g., defect removal efficiency

Page 16: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Normalization for Metrics

Normalized data are used to evaluate the process and the product (but never individual people)

size-oriented normalization —the line of code approach function-oriented normalization —the function point approach

Page 17: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Typical Size-Oriented Metrics

• errors per KLOC (thousand lines of code)

• defects per KLOC• $ per LOC• page of documentation per KLOC• errors / person-month• LOC per person-month• $ / page of documentation

Page 18: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Typical Function-Oriented Metrics

• errors per FP (thousand lines of code)• defects per FP• $ per FP• pages of documentation per FP• FP per person-month

Page 19: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Object-Oriented Metrics

• Number of scenario scripts (use-cases)• Number of support classes (required to

implement the system but are not immediately related to the problem domain)

• Average number of support classes per key class (analysis class)

• Number of subsystems (an aggregation of classes that support a function that is visible to the end-user of a system)

Page 20: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Measuring Quality

• Correctness — the degree to which a program operates according to specification

• Maintainability—the degree to which a program is amenable to change

• Integrity—the degree to which a program is impervious to outside attack

• Usability—the degree to which a program is easy to use

Page 21: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Defect Removal Efficiency

DRE = (errors) / (errors + defects)

where

errors = problems found before release

defects = problems found after release

Page 22: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

3. Process Measurement --- Example : Productivity and

Process Quality

Page 23: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

4. Process Evaluation

• “The quality of a software product is governed by the quality of the process used to develop and maintain it”

• Focus on process as well as product.

• Evaluating process and improving it

Page 24: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

4. Process Evaluation ---Software Process

Improvement

SPI

Process model

Improvement goals

Process metrics

Process improvementrecommendations

Page 25: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

4. Process Evaluation --- CMM(I) Assessment

A software process assessment is • an appraisal • by a trained team of software professionals • to determine

– state of an organization's software process, – high-priority software process-related issues

and to obtain – support for software process improvement

Page 26: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

4. Process Evaluation --- The Five Levels of CMM(I)

2. Repeatable

1. Initial

3. Defined

4. Managed

Disciplined Process

Standard, Consistent Process

Predictable Process

Continuously Improving Process

Unpredictable and poorly controlled

Can repeat previously mastered tasks

Process characterized, fairly well understood

Process measured and controlled

Focus on process improvement

5.Optimizing

Project Management

Integrated Engineering Process

Product and Process Quality

Managing Change

Page 27: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

The End

1. Activities of Process Management2. Defining Process3. Process Measurement4. Process Evaluation

Page 28: Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU

The End

• Readings– None

• Next Lecture– Software Quality Management