Alain Abran - iceaaonline.com · HOW GOOD AN ESTIMATION PROCESS? ICEAA International Training Week...

97
HOW GOOD AN ESTIMATION PROCESS? ICEAA International Training Week October 17-20, 2016, Bristol (UK) Alain Abran Ecole de technologie supérieure – University of Québec (Canada) 1 Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Transcript of Alain Abran - iceaaonline.com · HOW GOOD AN ESTIMATION PROCESS? ICEAA International Training Week...

HOW GOOD AN ESTIMATION PROCESS?

ICEAA International Training Week October 17-20, 2016, Bristol (UK)

Alain Abran Ecole de technologie supérieure – University of Québec (Canada)

1

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Alain Abran

20 years 20 years

+ 35 PhD

Development

Maintenance

Process Improvement

ISO: 19761,

9216, 25000,

15939, 14143,

19759

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. Estimation Phases – Roles & Responsibilities

3. Conditions for credible estimation models

4. COSMIC Estimation models with data from industry

5. Conclusions

3

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Mathematical Models

5

Built with completed projects with almost no uncertainty in the inputs!

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Inputs at Estimation Time…

6 Imprecise Inputs at Feasibility Analysis – Much Greater Error Range

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 9

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 10

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Software Estimation Tools: Availability & Costs

11

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Software Estimation Tools

12

© Copyrights Abran 2016

Quality?

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Consumers & Quality!

13

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Estimation Tools & Quality?

14

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Or?

(Software) Estimation

© Copyrights Abran 2016 15

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. Estimation Phases – Roles & Responsibilities

3. Conditions for credible estimation models

4. COSMIC Estimation models with data from industry

5. Conclusions

16

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 17

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 18

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Mathematical Models

19

Built with completed projects with almost no uncertainty in the inputs!

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Inputs at Estimation Time…

20 Imprecise Inputs at Feasibility Analysis – Much Greater Error Range

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 21

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 22

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 23

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 24

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

25

Estimator role: Provide information

about uncertainty range

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Manager role:

Pick a number & Manage Risk

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. Estimation phases & Roles & responsibilites

3. Conditions for credible estimation models: A. Measurements of the Inputs

B. Distribution of Data

C. Quality of the Models

4. COSMIC Estimation models with data from industry

5. Conclusions

27

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 28

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Issues with software metrics

1st generation software size metrics Systematic errors: step function with min & max Invalid maths! No measurement unit Designed for unaccountability! Examples: - Usecase Points - Function Points - Story Points

29

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Usecase Points & Similar Points-based Metrics

30

Actors Dev. team

Usecases

Specs

Programming

language

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Usecase Points & similar Points-based metrics

31

Table 1: Entities, Attributes, and Measurement Rules

Entity Attribute Measurement rule Actor Complexity (of

actor)

The type of complexity (simple, average, or complex) of the

interaction between the actor and the system

Use case Complexity (of use

case)

The type of complexity (simple, average, or complex)

measured in the number of transactions

Specification of

requirements

Relevance of the

technical quality

requirements

The level of relevance (from 0 to 5) of each of the 13 known

non-functional qualities

Stability of the

requirements

The level of stability (from 0 to 5) of the functional and non-

functional requirements

Development

team

Familiarity with

the methodology

The level (from 0 to 5) of skills and knowledge of the

development methodology in use for the project.

Part-time status The level (from 0 to 5) of part-time staff on the team

Analysis capability The level (from 0 to 5) of analysis capabilities of the

development team with respect to project needs

Application

experience

The level (from 0 to 5) of team experience with the

application domain of the system

Object-oriented

experience

The level (from 0 to 5) of team experience with object-

oriented design

Motivation The level (from 0 to 5) of team motivation

Programming

language

Difficulty The level (from 0 to 5) of programming difficulty

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Usecase Points & similar Points-based metrics

32

x

x

x

x

Apples Chairs

Cars

Books

Houses

= ……?

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Usecase Points & similar Points-based metrics

33

x

x

x

x

Apples Chairs

Cars

Books

Houses

= ……?

Primary School = Fail ! © Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

1st Generation of Function Points: Step Functions!

© Copyrights 2016: COSMIC and authors

Function Points (FP)

3 FP

4 FP

6 FP

3-step size range for the IFPUG External Input Transactions

Key limitations:

- Only 3 values

- Limited ranges (min,max)

- No single measurement unit of 1 FP!

ICEAA Bristol (UK), Oct. 2016

34

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

2nd Generation with COSMIC

© Copyrights 2016: COSMIC and authors

COSMIC

Function

Points

(CFP)

No abitrary max

A single CFP exists

& is well defined1

2

43

65

87

109

11

ICEAA Bristol (UK), Oct. 2016

35

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

1st and 2nd Generations of FSM

© Copyrights 2016: COSMIC and authors

Function Points (FP)

3 FP

4 FP

6 FP

COSMIC Function Points - CFP

1CFP

2

3 4

5 6

7

8 9

10

11 12

….

No abitrary max

A single CFP exists &

well defined

ICEAA Bristol (UK), Oct. 2016

36

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

COSMIC sizes are measured on a true ratio scale

There is no upper limit to the size of a functional process

Largest observed functional processes?

In avionics >100 CFP

The size of the smallest change to an existing functional process is 1 CFP

Open, freely available (via www.cosmic-sizing.org )

© Copyrights 2016: COSMIC and authors ICEAA Bristol (UK), Oct. 2016

37

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

1st & 2nd generation of Function Points Methods

1980 1985 1990 1995 2000

COSMIC FFP

v. 2.0

Allan

Albrecht

FPA IFPUG 4.0

IFPUG 4.1

MkII FPA

MkII FPA

v.1.3

Full FP’s v.1

3-D FP’s

Feature

Points

ISO ‘FSM’

Standard

14143

COSMIC v.

4.0.1

2016

IFPUG 4.3

1st generation

2nd generation

© Copyrights 2016: COSMIC and authors ICEAA Bristol (UK), Oct. 2016

38

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

A sound Measurement Foundation

2nd Generation Functional Size: No upper size limit

No ‘weigths’

No unsound mathematical operations

Based on a concept common to all types of software of any ‘size’: a data movement

A measurement unit: 1 data movement of a single data group

A measurement symbol: 1 CFP

COSMIC – ISO 19761 (Common Software Measurement International Consortium)

39

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. The estimation phases - Roles & responsibilites

3. Conditions for credible estimation models: A. Measurements of the Inputs

B. Distribution of Data

C. Quality of the Models

4. COSMIC Estimation models with data from industry

5. Conclusions

40

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Another Key Issue:

The quality of the inputs to the

estimation models

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Graph of the dataset

© Copyright 2016 Alain Abran

42

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Outliers: Values of the data that are significantly far from the average of the population of the dataset.

Candidate outliers:

Typically at least 1 or 2 orders of magnitude larger than a data point closer to it.

Can be identified from a graphical representation.

The Grubbs test, also referred to as the ESD method (Extreme Studentized Deviate).

The studentized values measure how many standard deviations each value is from the sample mean.

When the P-value for the Grubbs test is less than 0.05, that value is a significant outlier at the 5.0% significance level.

Values with a modified Z score greater than 3.5 in absolute value may well be outliers.

http://www.graphpad.com/quickcalcs/Grubbs1.cfm

Copyright © 2015 Alain

Abran

45

Identification of outliers

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Frequency distribution

Copyright © 2016 Alain Abran

46

Size (Independent variable );

N=212

Effort (Dependent variable ); N=21

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Example of wrong decisions dues to outliers

47

A New Software Metric to Complement the

IFPUG Function Points:

The Software Non-functional

Assessment Process: the SNAP Function Points

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

48

Author Very strong relationship of SNAP with Effort

R2 = 0 ,89 (R2 max = 1,0)

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Author’s assertion on Figure 4:

R2 = .89

Spearman test for rank correlation of .85, with an associated confidence of statistical significance of greater than 99% (p-value <.0001).

49

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

50

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

51

Invalidity Range

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

52

What it really looks like

for the range for which there is

enough data points

Approxmimatively:

An R2 = 0.3

Not R2 = 0.89 (R2 max = 1,0)

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

53

What it really looks like for the

range for which there is enough

data points

Approxmimatively:

An R2 = 0.3

Not R2 = 0.89 (R2 max = 1,0)

Conclusion:

the claim that SNAP is useful for effort estimation is invalid

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Used when variables are not normally distributed

Weak support for linear regression mathematical transformations

The log transform is often used to obtain normal distributions for either the size or the effort variable, or both.

Copyright © 2015 Alain

Abran

54

Log transformations

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Scatter plot (n=312)

© Copyrights 2016 Alain Abran

55

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. The estimation phases - Roles & responsibilites

3. Conditions for credible estimation models: A. Measurements of the Inputs

B. Distribution of Data

C. Quality of the Models

4. COSMIC Estimation models with data from industry

5. Conclusions

56

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Dataset with sparsely populated size intervals

Copyrights © 2016 Alain Abran

57

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Dataset with sparsely populated size intervals

Copyrights © 2016 Alain Abran

58

Sparsely populated interval

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Dataset with sparsely populated size intervals

© Copyrights 2016 Alain Abran

59

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Representativeness & Population sample

© Copyrights 2016 Alain Abran

60

= Outside

of range!

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. Estimation phases & Roles & responsibilites

3. Conditions for credible estimation models: A. Measurements of the Inputs

B. Distribution of Data

C. Quality of the Models

4. COSMIC Estimation models with data from industry

5. Conclusions

61

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 62

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

COSMIC data from Industry

Practical experimentations with the

COSMIC method in Automotive

embedded software field

By: Sophie Stern

Renault

63

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Renault – 2012

64

© Copyrights Renault 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Renault – 2012

65

© Copyrights Renault 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Renault – 2012 66

© Copyrights Renault 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Renault: Estimation & Negociations

67

© Copyrights Renault 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Renault COSMIC context & usage

Automated measurements Matlab Simulink 99% accuracy

Estimation of CPU memory space based on COSMIC function points Planning of Requirements Specifications workload based on COSMIC functions points

68

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Industry data with COSMIC

Productivity Analysis & benchmarking of projects from:

Financial governmental organization (Canada)

69

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 70

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 71

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 72

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 73

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 74

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Which estimation model to use in which contexts?

© Copyrights Abran 2016 75

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016 76

International benchmarking with ISBSG

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Organization A: Effort = 31hrs/CFP x CFP + 2,411 hours

ISBSG benchmark: Effort = 10hrs/CFP x CFP + 2,138 hours

© Copyrights Abran 2016 77

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Agenda

1. Estimation: Craft or Engineering?

2. The phases in estimation

3. Economics concepts for estimation models

4. Estimation models with COSMIC: data from industry

5. Conclusions 1. Uncertainties – range of candidate estimates

2. Conclusions

78

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

The inputs to productivity models have little uncertainty = Known Facts

79

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Models Built with completed projects

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Imprecise Inputs at Feasibility Analysis – Much Greater Error Range

81

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Recent Guidelines for Practitioners

A Guideline describing a

range of Approximate

Sizing methods Size/Cost estimates are usually

needed before the FUR have

been defined in detail

A Guideline on ‘Assuring the

accuracy of COSMIC

measurements’

The COSMIC Functional Size Measurement Method

Version 4.0.1

GGuuiiddeelliinnee ffoorr EEaarrllyy oorr RRaappiidd

CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee

MMeeaassuurreemmeenntt bbyy uussiinngg aapppprrooxxiimmaattiioonn aapppprrooaacchheess

July 2015

The COSMIC Functional Size Measurement Method

Version 3.0.1

GGuuiiddeelliinnee ffoorr aassssuurriinngg tthhee aaccccuurraaccyy ooff

mmeeaassuurreemmeennttss

VERSION 0.93

February 2011

© Copyrights 2016: COSMIC and authors ICEAA Bristol (UK), Oct. 2016

82

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Imprecise Inputs at Feasibility Analysis – Much Greater Error Range

83

The COSMIC Functional Size Measurement Method

Version 3.0.1

GGuuiiddeelliinnee ffoorr aassssuurriinngg tthhee aaccccuurraaccyy ooff

mmeeaassuurreemmeennttss

VERSION 0.93

February 2011

The COSMIC Functional Size Measurement Method

Version 4.0.1

GGuuiiddeelliinnee ffoorr EEaarrllyy oorr RRaappiidd

CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee

MMeeaassuurreemmeenntt bbyy uussiinngg aapppprrooxxiimmaattiioonn aapppprrooaacchheess

July 2015

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

85

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

86

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

87

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

88

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

The ‘Feel Good’

ProjectCodeMeter assertions: http://www.projectcodemeter.com/cost_estimation/kop3.html

‘A professional software tool to measure & estimate Time, Cost, Complexity, Quality & Maintainability of software projects, Development Team Productivity by analyzing their source code’.

‘Using a modern software sizing algorithm called Weighted Micro Function Points (WMFP) a successor to solid ancestor scientific methods as COCOMO, COSYSMO, Maintainability Index, Cyclomatic Complexity, & Halstead Complexity’.

‘More accurate results than traditional software sizing tools, while being faster & simpler to configure’.

93

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Or?

(Software) Estimation

© Copyrights Abran 2016 94

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

Building ‘good’ estimation process & good estimation models

Sound Measurement Units

Sound Maths!

Recognition of uncertainties:

how to recognize this & how to deal with it

The estimator has to provide information, not a single estimate

The manager has to select a single budget number

& manage risks through contingency planning.

Discipline, rigor, commitments & $$$

95

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

96

Want to know about good & bad practices in software estimation?

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016

97

[email protected]

© Copyrights Abran 2016

Presented at the 2016 International Training Symposium: www.iceaaonline.com/bristol2016