chapter 3: software project management metrics

42
Chapter 3: Software Project Management Metrics

Upload: keola

Post on 23-Mar-2016

48 views

Category:

Documents


1 download

DESCRIPTION

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 could be the number of defects reported for the prototype. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 3: Software Project Management Metrics

Chapter 3: Software Project Management Metrics

Page 2: Chapter 3: Software Project Management 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

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

An Example of a MetricPrototype 1 Categorization of

DefectsSevere Majo

rMinor

Total

Planned less than equal to 0 5 20 25Actual 3 9 25 37

4

Page 5: Chapter 3: Software Project Management Metrics

Characteristics of a MetricGoal-oriented approachMeasurableAnalyzableProgramming Language-

independentTimely

5

Page 6: Chapter 3: Software Project Management Metrics

Goal-oriented ApproachThe 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

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

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

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

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

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

Complete Steps to Create MetricDefine 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

Define the Goal of a MetricThe 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

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

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

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

Types of Software MetricsThe types of metrics commonly

used by organizations include:Design metricsProject metricsProduct metricsMaintenance metrics

17

Page 18: Chapter 3: Software Project Management 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

Architecture Design Metricsmeasures 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

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

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-ou

t

1

Fan-out 3

Fan-out 2

Page 22: Chapter 3: Software Project Management 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

Phases of Applying Project MetricsEffortProductivity FPCostSizeDefectsTesting

23

Page 24: Chapter 3: Software Project Management 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

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

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

Example of Productivity MetricMetric Analysi

sDesign

Construction

Testing

Total

Productivity in hours/FPPlanned 1.2 1.6 2.8 2.4 8.0Actual 1.0 1.4 3.0 2.5 7.9Difference 0.2 0.2 -0.2 -0.1 0.1

27

Page 28: Chapter 3: Software Project Management 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

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

00Actual 55,000 130,0

00 300,000 250,000

735,000

CommunicationPlanned 10,000 7000 1,000 1000 19,00

0Actual 20,000 4500 700 500 25,70

0Total

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

00459,0

00Actual 105,000 134,5

00 300,700 250,500

790,700

Deviation in percentage

((actual-planned/planned)*100)

110 25 50 148 72

29

Page 30: Chapter 3: Software Project Management 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

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

Example of Defects MetricMetric

Defects per KLOCAnalysis

Design

Construction

Testing

Total

SeverePlanned 0 0 0 0 0

Actual 5 3 15 8 31Major

Planned 5 2 5 10 22Actual 3 6 12 18 39

MinorPlanned 20 15 15 20 70

Actual 12 10 12 25 59

32

Page 33: Chapter 3: Software Project Management 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

Example of Testing Metric

Metric(s) ContractionTest cases pr FPPlanned 5Actual 4

34

Page 35: Chapter 3: Software Project Management 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

Example of Product MetricsDeliverable 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

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

A Sample Change Request FormProject Name:Name: Date:Functional description of the change desiredType of Change Change Trigger

ComponentCorrectionEnhancementAdaptationRe-engineering

Requirements specificationDesignCodeOther

Total Effort required to perform changeResponsibility of performing change

38

Page 39: Chapter 3: Software Project Management 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

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

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

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