43
© Copyrights Abran 2018 Estimation of Software Projects: Placebos or Engineering Practices? 演讲人:Alain Abran

Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Estimation of Software Projects: Placebos or Engineering Practices?

演讲人:Alain Abran

Page 2: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018© Copyrights Abran 2018

Estimation of Software Projects: Placebos or Engineering Practices?

Alain Abran

SSM & IWSM∕ MENSURA conferences

Beijing (China) September 19, 2018

Page 3: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018© Copyrights Abran 2018

Presenter background - Alain Abran

3

20 years + 20 years

Ø DevelopmentØ MaintenanceØ Process Improvement

ISO: 19761, 9126, 25000, 15939, 14143, 19759

45 PhD

Page 4: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Agenda

1. Complex Effort Estimation Models: Placebos?

2. A key concept for estimation: simple productivity-based estimation models for monitoring & control

3. Size estimation: The foundation for Effort Estimation

4

Page 5: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Agenda

1. Complex Effort Estimation Models: Placebos?

2. A key concept for estimation: simple productivity-based estimation models for monitoring & control

3. Size estimation: The foundation for Effort Estimation

5

Page 6: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Complex White box & Black Box Effort Estimation Models

6

Source: Adam Trendowicz, Ross Jeffery. Software Project Effort Estimation. Springer, 2014.

Page 7: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Black Boxes & White Boxes Estimation Models

7

Source: Violeta Bozhikova, Mariana Stoeva. An Approach for Software Cost Estimation. CompSysTech'10, June 17–18, 2010, Sofia, Bulgaria, pages 119-124.

Page 8: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Examples of major weaknesses in Estimation Models

Sources: • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni, Abran, Applied Soft Computing, Elsevier, vol. 49, 2016.• ‘On the value of parameter tuning in heterogeneous ensembles effort estimation’, Hosni, Idri, Abran, Bou Nassif. In Soft Computing, Springer, 30 November 2017, pp.

1-34

Page 9: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018 9

Impact guessedby ‘experts’

Key Weaknesses in COCOMO-like Estimation Models

Page 10: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018 10

Each COCOMO cost driver =

an estimation sub-model

with unkown quality & large errors

Page 11: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

COCOMO-like estimation models:Effort is a function of (Size & +17 step-functions)

of unknown quality combined into a single number!

Built-in Systematic Errors & Error

Propagation

Page 12: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

M.I.T. study on COCOMO81 (Kemerer, 1987)

Small scale replication study - 17 projects

12

BasicExponential on

Size

Intermediate& 15 cost drivers

Detailed& 4 project

phases

R2

(max=1.0)0.68 0.60 0.52

Model Errors(Mean magnitude of relative errors - MMRE)

610% 583% 607%

Page 13: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Estimation Outcomes!

13

Quick &Easy…

The ‘feel-good’’

Page 14: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Examples of similar ‘feel-good’ inputs to Estimation Models

Ø Story Points

Ø IFPUG SNAP points (for Non Functional Requirements):ØFactors improperly bundled into a single number as adjustments to the Size

variable:

Page 15: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Planning Poker & Story Points in Agile: Do they meet measurement criteria?

• Repeatability: - different individuals, in different contexts, at different times,

& following the same measurement procedures will NOT obtain the same measurement results.

• Measurement results:- obtained with minimal judgment. - results auditable.

15

Page 16: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Story Points

• Unaccountability…..!

Page 17: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Non-Functional Requirements: IFUG SNAP Points

Feel-Good Placebos

It fails primary school maths!

Page 18: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Agenda

1. Complex Effort Estimation Models: Placebos?

2. A key concept for estimation: simple productivity-based estimation models for monitoring & control

3. Size estimation: The foundation for Effort Estimation

18

Page 19: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018© Copyrights Abran 2018

The general estimation process

19

Source: Adapted from [Kharagpur 2010]

Page 20: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Productivity

Productivity = Outputs / Inputs

20

Number of functions deliveredSize in CFP, FP, LOC

Number of worked hours(Effort in PM or PersonHour)

Page 21: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018© Copyrights Abran 2018

21

Organization Data Repository

Page 22: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018 22

Software Size as the dominant factor well-managed organizations

Page 23: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Software Size versus all Other Factors

In well-managed organizations: ü The increases in functional

size explain 80% to 90% of the increases in effort.

Ø All other factors together explain only 10% to 20% of the variations.

Copyright © 2015 Alain Abran 23

under control

Page 24: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018© Copyrights Abran 2018

Middleware Layer (Utilities, etc)

Operating System Layer

KeyboardDriver

ScreenDriver

VDUScreenKeyboardHardware

DiskDriver

Hard DiskDrive

PrintDriver

Printer CentralProcessor

Database Management System Layer DBMS 1 DBMS 2

App 1Application Layer App 2 App ‘n’

24

Examples of other factors:

External Interfaces

Page 25: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Agenda

1. Complex Effort Estimation Models: Placebos?

2. A key concept for estimation: simple productivity-based estimation models for monitoring & control

3. Size estimation: The foundation for Effort Estimation

25

Page 26: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Size & Estimation throughout the lifecycle

Page 27: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

What Size is VISIBLE at Feasibility?

At feasibility & Early Requirements

What other software functions are not visible yet?

Page 28: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Software Initial Requirements – ISO 29148

Contextual1. Purpose2. Scope3. Product perspective4. Product functions 5. User characteristics 6. Limitations 7. Assumptions & dependencies 8. Apportioning of requirements9. Specified requirements

1. Verification2. Supporting documents

Non-Functional & Quality1. Usability requirements 2. Performance requirements 3. Logical database requirements4. Design constraints5. Standards compliance 6. Software system attributes

External Interfaces

Functions

Page 29: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Software Lifecycle in practice: Early codingContextual

1. Purpose2. Scope3. Product perspective4. Product functions 5. User characteristics 6. Limitations 7. Assumptions &

dependencies 8. Apportioning of

requirements9. Specified

requirements

1. Verification2. Supporting doc.

Non-Functional & Quality

1. Usability req. 2. Performance req.3. Logical database

req.4. Design constraints5. Standards

compliance 6. Software system

attributes

External Interfaces

Functions Detailed Software Functions

Page 30: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

What Size is still NOT VISIBLE?

What other software functions are not visible yet?

Functionality Specified & Approved

Page 31: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Late at Initial TestingContextual

1. Purpose2. Scope3. Product perspective4. Product functions 5. User characteristics 6. Limitations 7. Assumptions &

dependencies 8. Apportioning of

requirements9. Specified

requirements

1. Verification2. Supporting doc.

Non-Functional & Quality

1. Usability req. 2. Performance req.3. Logical database

req.4. Design constraints5. Standards

compliance 6. Software system

attributes

External Interfaces

Functions Detailed Software Functions

Software Functions

Software Functions

Page 32: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Very late at Testing & Implementation!

Contextual1. Purpose2. Scope3. Product perspective4. Product functions 5. User characteristics 6. Limitations 7. Assumptions &

dependencies 8. Apportioning of

requirements9. Specified

requirements

1. Verification2. Supporting doc.

Non-Functional & Quality

1. Usability req. 2. Performance req.3. Logical database

req.4. Design constraints5. Standards

compliance 6. Software system

attributes

External Interfaces

Functions Detailed Software Functions

Software Functions

Software Functions

Detailed Software Functions

Detailed Software Functions

Page 33: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

What is VISIBLE at Project Completion?All software

functions available for accurate

measurement

Page 34: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

COSMIC Guidelines for Estimation through the lifecycle

Page 35: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

What’s next?New COSMIC Tutorials at this conferenceØ Accuracy of MeasurementsØ COSMIC Size Estimation

Tutorials availableØEffort Estimation Models

Upcoming CertificationØCOSMIC Size EstimationØEffort Estimation Models

Page 36: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Questions?

Page 37: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Page 38: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Other sources of COSMIC examples with industry data

38

• COSMIC web site at: www.cosmic-sizing.org

Page 39: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Page 40: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Page 41: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Page 42: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

In practice: Very late at Testing & Implementation!

Contextual1. Purpose2. Scope3. Product perspective4. Product functions 5. User characteristics 6. Limitations 7. Assumptions &

dependencies 8. Apportioning of

requirements9. Specified

requirements

1. Verification2. Supporting doc.

Non-Functional & Quality

1. Usability req. 2. Performance req.3. Logical database

req.4. Design constraints5. Standards

compliance 6. Software system

attributes

External Interfaces

Functions Detailed Software Functions

Software Functions

Software Functions

Detailed Software Functions

Detailed Software Functions

Page 43: Estimation of Software Projects: Placebos or Engineering ... · • ‘Improved Estimation of Software Development Effort Using Classical and Fuzzy Analogy Ensembles’, Idri, Hosni,

© Copyrights Abran 2018

Phases:A: Estimation of the Inputs for estimation… B: Execution of the productivity model

43