Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration...

40
Project Estimation Tools Shellie Wedman March 28, 2011 EECS 811 1

Transcript of Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration...

Page 1: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Project Estimation Tools

Shellie Wedman

March 28, 2011

EECS 811

1

Page 2: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Contents

● COCOMO II

- estimation and COCOMO II

- Center for Systems and Software Engineering

● Estimation Tools

- Construx Estimate

- Costar 7.0

● Function Point Analysis Tool

- standard and enterprise edition

● Summary

● Questions 2

Page 3: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

3

● Confidence level

● Parameters

● Constraints

● Acceptable Product

Estimation Goal

Page 4: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Cost of Estimation Error

4

Page 5: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

COCOMO II

● Constructive Cost Model

● Useful for software development processes

● Quantitative framework

● Allows users to reason about tradeoffs

● 17 cost drivers

● 5 scale factors

5

Page 6: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Center for Systems and Software Engineering

COCOMO cost and scale drivers

6

Page 7: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Center for Systems and Software Engineering

http://csse.usc.edu/csse/

● Constraints

- 500 UFP

- Java

7

Page 8: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Contents

● COCOMO II

- estimation and COCOMO II

- Center for Systems and Software Engineering

● Estimation Tools

- Construx Estimate

- Costar 7.0

● Function Point Analysis Tool

- standard and enterprise edition

● Summary

● Questions 8

Page 9: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Construx Estimate Tool

● Founded in 1996 by Steve McConnell

● Mission: Advancing the art and science of commercial

software engineering.

● Tools – Estimate and Code Surveyor

● Management toolbox – checklists, templates

● White papers, Posters, and Webinars

9

Page 10: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Construx Estimate Tool – Free

● License Agreement: Use on a single computer, made

available “as is”, no warranties

● Size of project must be known

● No phase distribution reports

● Calibrate estimates in three ways

- project type based on industry data

- cost factor

- historical data

10

Page 11: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Project Type Calibration

● Uses Industry productivity data

● Easiest

● Least accurate

● Project Types Supported

- Business Systems, Control Systems, Internet

Systems, Intranet, Systems, Microcode /

Firmware, Real-time Embedded / Avionics,

Scientific Engineering / Research, Shrink wrapped

Packages Software

11

Page 12: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Cost Factor Calibration

● COCOMO II

- product attributes

- project attributes

- personnel attributes

● Product type and sub type

12

Page 13: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Historical Data Calibration

● Most accurate

● Less work required

● Data from 3 or more past organizational projects

13

Page 14: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Historical Database Wizard

14

Page 15: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Estimation Approaches

● SLIM

- projects follow well defined patterns that can be modeled

with a set of exponential equations

- core of estimations

● COCOMO II

● Monte Carlo Simulation

15

Page 16: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Kinds of Units

● Function Point

● Lines of Code

● Functions / Subroutines

● Classes / Modules

● Subsystems

16

Page 17: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

1

5

4

3

2

Estimation Window

17

Page 18: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Project Type Comparison

18

Page 19: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Avionics Project Estimate

19

Page 20: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Internet Project Estimate

20

Page 21: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Internet Project

cost factor calibration

Before

After

21

Page 22: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Internet Project Updated Estimate

22

Page 23: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Internet Project comparison Personnel cost factors adjusted

23

Page 24: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Internet Project comparison Product cost factors adjusted

Original Cost Factors

● average complexity

● average size database

● errors cause small and

easily recoverable

losses

Adjusted Cost Factors

● extremely complex

● extremely large

database

● errors pose risk to life

24

Page 25: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Estimate Report Manager

25

Page 26: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Schedule Probabilities Report

Avionics Project Report Internet Project Report

26

Page 27: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Costar

● Component Tree

● Very Descriptive

● Cost

- Single license $1900

- Site license $5000

- Corporate License $25,000

● Supported estimation

models

- COCOMO II with

traditional phases

- COCOMO II with

MBASE.RUP phases

- Ada COCOMO

- COCOMO 81

- Custom model

27

Page 28: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Costar Estimate Window

28

Page 29: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Costar Detailed Report

29

Page 30: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Model tab

30

Page 31: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Contents

● COCOMO II

- estimation and COCOMO II

- Center for Systems and Software Engineering

● Estimation Tools

- Construx Estimate

- Costar 7.0

● Function Point Analysis Tool

- standard and enterprise edition

● Summary

● Questions 31

Page 32: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Function Point Modeler ● Eclipse Graphical Modeling framework (GMF)

● Standard version – free

● Enterprise version - $10,500

● International Function Point User group (IFPUG)

CPM 4.2 and 4.x

– development project counts

– enhancement project counts

– application project counts

● Model Driven Architecture (MDA)

32

Page 33: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Standard Function Point Modeler

1

4

3

2

33

Page 34: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Transactional Function

● Type EI, EO or EQ

● Complexity

● UFP automatically

calculated

● Enhancement Type

● Process Type

34

Page 35: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Data Function

● Type ILF or ELF

● Complexity

● UFP

● Enhancement Type

35

Page 36: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Model Driven Architecture (MDA)

36

Page 37: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Enterprise Version Features ● Metrics Management Tool plugin

– manages all IT metrics

● software life cycle experience database (SLED)

● COCOMO II plugin

● Report Designer plugin

● Export to MS Project

● Software Development Process

– RUP

– Waterfall

– Custom 37

Page 38: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Summary ● COCOMO II

– Estimation and COCOMO II

– Center for Systems and Software Engineering

● Estimation Tools

– Construx

– Costar

● Function Point Analysis tool

– Standard edition

– Enterprise edition

38

Page 39: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

References ● Boehm, B., Valerdi, R., Lane, A., and Brown, A. (2005),

“COCOMO Suite Methodology and Evolution”, Journal of

Defense Software Engineering.

● Center for Software Engineering, COCOMO II

http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.

html

● Construx Software, http://www.construx.com

● Costar Sofware, http://www.softstarsystems.com

● Fairley, R. (2009), Managing and Leading Software Projects,

John Wiley & Sons, Inc.

● Function Point Modeler Inc.,

http://www.functionpointmodeler.com

● Putnam model, http://en.wikipedia.org/wiki/Putnam_model

39

Page 40: Project Estimation Tools - people.eecs.ku.eduhossein/Teaching/Sp19/... · Project Type Calibration Uses Industry productivity data Easiest Least accurate Project Types Supported -

Questions?

40