chapter 3: software project management metrics. what is a metric a metric enables you to measure the...

42
Chapter 3: Software Project Management Metrics

Upload: merry-catherine-wade

Post on 05-Jan-2016

227 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Chapter 3: Software Project Management Metrics

Page 2: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

What is a MetricA metric enables you to measure

the quality of a factor. E.g., prototype, the metrics could be the number of defects reported for the prototype.

The analysis of metrics enables you to make important decisions related to project management. E.g., the data for defects recorded for the prototype enables you to identify the causes of the defects.

2

Page 3: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Types of defectsSevere – critically affect the

functionality of a product.Major – logically affect the

functionality of a product.Minor – a slight defect but does

not disturb the functionality of the application.

3

Page 4: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

An Example of a MetricPrototype 1 Categorization of

Defects

Severe Major

Minor

Total

Planned less than equal to 0 5 20 25

Actual 3 9 25 37

4

Page 5: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Characteristics of a MetricGoal-oriented approachMeasurableAnalyzableProgramming Language-

independentTimely

5

Page 6: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Goal-oriented Approach

The goal of a metric:to reduce the time spent on it.is used to define a baseline

value.

6

Page 7: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

MeasurableMeasurability, metric can be used

to measure a software entity to a high degree of accuracy.

Measurability of a metric ensures consistent results for all processes in a project.

E.g., measuring the reusability of a piece of code.

7

Page 8: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

AnalyzableAnother important characteristic

of a metric is analysis.If a metric is not suitable for

analysis, it is futile to monitor it for improvement in a project.

E.g., an organization uses a metric to measure client satisfaction.

8

Page 9: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Programming-language independentMetric is independent of the

programming language used to develop software.

E.g., Software project is divided into three main modules. For each modules are programmed in different languages, the metrics that can measure the size, complexity, or the effort spent.

9

Page 10: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

TimelyA good metric is timely.The data to produce results using

the metric should always be available when it is needed.

10

Page 11: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

How Many Steps to Create a Metric?There are four steps to create a

metric:Define the goal of the metricIdentify the requirements of the

metricIdentify the organizational

baseline value for the metricReview the metric for its usability

11

Page 12: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Complete Steps to Create Metric

Define the Goal of a Metric

Identify the Requirements of a Metric

Identify the Organization Baseline Value for the Metric

Review the Metric for its Usability

12

Page 13: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Define the Goal of a Metric

The definition of a goal is important because the metric is designed based on goal.

The goal should be as clear, measurable and as explicit as possible.

E.g., a metric can have a goal to measure the number of defects reported by clients.

13

Page 14: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Identify the Requirements of the MetricAfter defining the goal of the

metric, the next step is to identify its requirements.

The requirement include: human resource, data collection techniques, and methodologies used to process the data.

14

Page 15: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Identify the Organizational Baseline Value for the Metric

A baseline value is an average value, which is identified based on prior experience.

A metric is designed so as to achieve the baseline value.

15

Page 16: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Review the Metric for its UsabilityIt is the final step.Process experts can be asked to

test and provide feedback on the metric.

The feedback can be used to enhance the functionality and the user-friendliness of the metric.

16

Page 17: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Types of Software Metrics

The types of metrics commonly used by organizations include:

Design metricsProject metricsProduct metricsMaintenance metrics

17

Page 18: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Design MetricsDesign metrics enable you to see the

deviation from user requirements.Lesser the deviation, fewer the defects.Complexity is a characteristic measured

during design phase. E.g., structure, data components and interface design.

Design metrics are difficult to implement.

Architecture design metric is the one of the varieties of design metrics.

18

Page 19: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Architecture Design Metrics

measures the complexities by referring to the design of the software program.

is crucial for predicting the features and functionalities of the final product.

addresses three types of complexities of a software program.

19

Page 20: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Architecture Design Metrics TypesStructural complexity – the

number of fan-out modules.Data complexity – the internal

interface. System complexity – combining

the values of structural complexity and data complexity.

20

Page 21: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Fan-out of a Module

21

Check for Valid User Names

String Not More Than 12

Check for Invalid Numeric &

Alphanumeric Strings

Chk-Name

Fan-o

ut

1

Fan-out 3

Fan-out 2

Page 22: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Project Metricsis a set of metrics related to all

SDLC phases.can help to avoid project delays,

avoid and mitigate project risk.also used to assess the quality of a

finished product.E.g., project metrics are the metrics

that measure the size, complexity or the time and effort spent on a project.

22

Page 23: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Phases of Applying Project MetricsEffortProductivity FPCostSizeDefectsTesting

23

Page 24: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Effort Metricsto determine the amount of effort

required to complete a project.Generally, effort is estimated

close to accuracy in all the phases of SDLC.

A man-month is the amount of effort required to complete work in a month.

24

Page 25: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Effort MetricMetric(s) Analys

isDesign

Construction

Testing

Total

Planned Effort (man-month) 5 12 25 10 52

Actual Effort (man-month) 8 14 35 8 65

Percentage of increase in Effort

60 16.5 40 -20 20

25

Page 26: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Productivity MetricMeasurement human effort

according to the number of hours spent on an FP of work.

The effort in performing an FP of work in an hour is called productivity.

To calculate productivity: ◦Determine the total amount of FP;◦Distribute the total FP among the

phases in the SDLC.26

Page 27: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Productivity Metric

Metric Analysis

Design

Construction

Testing

Total

Productivity in hours/FP

Planned 1.2 1.6 2.8 2.4 8.0

Actual 1.0 1.4 3.0 2.5 7.9

Difference 0.2 0.2 -0.2 -0.1 0.1

27

Page 28: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Cost Metricmeasures the planned versus actual

expense incurred on a project.An important component of cost metric

are resource and material resource.Cost is the most difficult metric to

control.The reasons of cost overrun can be:

price of the required resources, change, or shift in project objectives, or increase in the requirement of resources.

28

Page 29: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Cost MetricMetric Analysi

sDesign

Construction

Testing

Total

Cost in US Dollars

Resources

Planned 40,000 100,000 200,000 100,0

00440,0

00

Actual 55,000 130,000 300,000 250,0

00735,0

00

Communication

Planned 10,000 7000 1,000 1000 19,000

Actual 20,000 4500 700 500 25,700

Total

Planned 50,000 107,000 201,000 101,0

00459,0

00

Actual 105,000 134,500 300,700 250,5

00790,7

00

Deviation in percentage

((actual-planned/planned)*100)

110 25 50 148 72

29

Page 30: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Size MetricSize metric is calculated the

number of FP for an entire project.

The size metric directly affects the effort, testing, and productivity metrics of a project.

Frequency changes mean that the design specifications are not clearly defined.

30

Page 31: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Defects MetricDefects are errors that occur in a

work product.The number of defects defines the

quality of a project.Defects can occur during any phase

of the SDLC.To facilitate calculation and

categorization of defects, many organizations use automated tools and techniques.

31

Page 32: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Defects Metric

Metric

Defects per KLOC

Analysis

Design

Construction

Testing

Total

Severe

Planned 0 0 0 0 0

Actual 5 3 15 8 31

Major

Planned 5 2 5 10 22

Actual 3 6 12 18 39

Minor

Planned 20 15 15 20 70

Actual 12 10 12 25 59

32

Page 33: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Testing MetricTesting metric is used to measure the

number of test cases required to test software.

Test case is a specification that needs to be executed to test a particular module.

There are separate test cases for:◦ Integration testing refers to the overall

black box testing.◦ unit testing refers to testing individual

modules.33

Page 34: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Testing Metric

Metric(s) ContractionTest cases pr FP

Planned 5

Actual 4

34

Page 35: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Product Metricscan provide an insight into the

quality of work done by the development teams.

Product metrics trace and measure the quality of a deliverable in different phases.

35

Page 36: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Example of Product Metrics

Deliverable Name

Effectiveness (%)

Conformance to requirements (%)

Planned Source Code 100 100

Actual Source Code 72 90

36

Effectiveness of a deliverable is measured in terms of the quantity of the deliverable completed and the number of quality goals achieved.

Effectiveness = Quantity in % * Quality in % / 100

Page 37: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Maintenance Metricsare used for maintenance

projects. Maintenance projects require

enhancements based on client feedback or changes in the market, technology, and user preferences.

37

Page 38: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

A Sample Change Request Form

Project Name:Name: Date:Functional description of the change desired

Type of Change Change Trigger Component

CorrectionEnhancementAdaptationRe-engineering

Requirements specificationDesignCodeOther

Total Effort required to perform change

Responsibility of performing change

38

Page 39: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Measurement Types of Maintenance ProjectExtent of change required. The

modification (remaining, added, modified, deleted) modules are counted.

Type of maintenance requested by client. There are two types:◦Corrective – addresses the software-

related defects reported by the client.◦Upgrades – enhancements on software

to incorporate additional functionality.

39

Page 40: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Key PointsMetrics facilitate project planning,

scheduling, and improving the SDLC process and product quality.

The four main types of metrics used widely during the SDLC of a project are design, project, product, and maintenance.

Design metrics help measure the design and architecture of a software project.

40

Page 41: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Key PointsProject metrics comprise effort,

productivity, cost, defects, and size. Project metrics measure the

effectiveness of the important factors for a project.

Maintenance metrics are used to measure the cost, effort, productivity, and defects associated with a maintenance project.

41

Page 42: Chapter 3: Software Project Management Metrics. What is a Metric A metric enables you to measure the quality of a factor. E.g., prototype, the metrics

Literaturesen.wikipedia.orgBasics of Software Project

Management – 2004.Ian Sommerville “Software

Engineering 6th Edition” – 2000.Roger S. Pressman “Software

Engineering: a practitioner’s approach 5th Edition” – 2001.

42