Practical software project estimation : a toolkit for estimating ... - GBV

38 downloads 1660 Views 326KB Size Report
Practical Software Project. Estimation: A Toolkit for Estimating Software. Development Effort & Duration. International Software Benchmarking Standards Group.
Practical Software Project Estimation: A Toolkit for

Estimating Software Development Effort & Duration International Software

Benchmarking Standards Group

Compiled

and edited by Peter R. Hill

Mc

Grauu

Hill New York Lisbon

Chicago

London Milan

Seoul

Madrid

San Francisco Mexico

New Delhi

Singapore Sydney

San

City Juan

Toronto

Contents Foreword

xv

Acknowledgments

xvii

Introduction

1

xix

Project Estimation: Background, Concepts, and Approaches Types of Project Requirements

1 1

Functional Size

3

Software Estimation Approaches

4

Other

7

Estimate

7

Techniques Ranges Timing of Estimates

Producing

a

7

Detailed Estimate

8

Use of Function Point Sizing (Functional Size

Measurement)

in

Effort Estimation

10

Summary 2

11

Factors That Influence

Productivity Project Attributes That Influence Project Delivery Rate

13

...

14

Are Some Languages Better Than Others? What Is the What Other

14

Impact of Team

Project Attributes

Are

Does the Platform Make

Size?

17

Interesting?

....

18

Development Type Language Type Application Type Application Architecture Other Project-Specific Characteristics Known

19 19 19 20

to Influence PDR

20

Summary 3

18

Difference?

a

23

Software Estimates: How Accurate Are

They?

...

25

What Does "Accurate" Mean?

26

The

26

Project

Details

A General Picture Estimation

Techniques

Individual Es timates

26 28

29

Effort Estimates

29

Effort Estimation

Delivery

Date

Techniques

30

(Project Duration)

Duration Estimation Cost Estimates

31

Techniques

32 33

Summary 4

34

Sizing Software

and

Size-Approximation Accuracy Sizing Accuracy Levels Level 6: Size Approximation Level 5: Rough Size Measure Level 4: Default Complexity Measure

37 38 39

39 39

Level 3: Detailed Measure

40

Level 2: Detailed Linked Measure

40

Level 1: Detailed Linked and

Labelled Measure

Classifying

40

Size

Approximation Techniques Approximation Accuracy Summary

43

Size

5

45

Some Practical Software Size

Approximation Techniques Direct Size Approximation Derived Size Approximation Early Approximation of Functional Size Using ISBSG Data KISS Quick Software Size Estimation Technique Moving from Basic KISS Quick Approach to Other Accuracy Levels & Software Size Quick Early Estimation Technique Early & Quick for COSMIC Function Point Size Some Other

47 48 48

49 ...

51

54

55 56

of

Examples Extrapolative Approaches to Size Approximation Using Functional Size to Estimate Project Effort and Duration

6

43

58 58

The Need for Caution

59

Summary

59

The Problem of

Missing Functionality

Identifying Missing Functionality Managing Changes and Additions to Functionality Scope Management Summary

61 61

63 63 63

7

8

9

Estimating Using Equations ISBSG Regression Equation Tables Using the ISBSG Regression Equations Creating Graphs from the Equations Example Effort Estimate Using the Equations Summary

65 65

66 67 68 69

Estimating Using Comparison Using the Comparison Technique Summary

71 71

74

Estimating Using Analogy Background: Reasoning by Analogy

75 76

Estimating by Analogy Advantages of Estimating by Analogy The Drawbacks of Estimating by Analogy Summary 10

11

Estimating Using Work Breakdown

Structure

76 77 79 79

...

81

Using Process Models for Micro-Estimation Summary

83 85

How Do I Estimate

a Project Comprising Varying Components?

Subsets

Implemented Utilizing Technologies

87

Different

87

Code and Reference Tables Subsets Characterized

by Technical

87 or

Other Complexities

12

88

Reused Code

88

Summary

88

Using Project History Databases Use of an Organization's Own Experience Data

89

Use of the ISBSG Data The ISBSG Repository

...

89 90 90

Guidelines for Use of the ISBSG Data

91

Presentation of Statistics

93

Using Several

Estimation Approaches

Summary 13

81

Work Breakdown Structure: Introduction

Project Estimation Using the ISBSG Repository Case Study: A Student and Staff Records Management System (SSRM)

93 93

95

95

Overview

95

Functional Size Measurement

96

Project

Work Effort and Duration

Estimates

97

Example 1: Estimating Using Regression Equations Using Regression Equations to Generate Estimates for SSRM

Regression Equations: Functional Size Regression Equations: Functional Size and Maximum Team Size Discussion

98 98

100 102

Example 2: Estimating Using Comparison The Estimating by Comparison Technique Using Estimating by Comparison to Generate Estimates

for SSRM

102 103 104

Discussion

106

Estimating Using Analogy The Estimating by Analogy Technique

107

Example

3:

Using Estimating

by Analogy

108

to

Generate Estimates for SSRM Discussion

14

98

109 Ill

Summary

112

Estimating for Agile Software Development Estimating an Agile Project Story Points The Story Point Scale Calibrating the Story Point Scale Using Past Projects Development Team Velocity Allocating Story Points to Stories Estimating Total Project Schedule and Cost at Project Initiation Allocating Stories to Individual Project Iterations

113 114

115 115

116 117 118

121

122

Reviewing the Process at 123

Project Completion Benefits of Agile Software Estimation

Story Points Comparing Story Points and Function Points

Summary

Using 123

124 125

15

A Guide to

Estimating Project Cost Using

ISBSG Data

127

Rate

128

Organization

128

Hourly Charge-Out Internal Project: Building Software for Your Own External

Building Software for

Project: Organization Refining Hourly Charge-Out Rate for Project an

128

External

129

Team Structure the

Charge-Out Rate for Inflation

Indexing and Currency Movements

130

Additional Cost Considerations

130

Costing Activities Outside

Project

Development Tasks Costing

130

Effort Contributed

by

Personnel

Not Included in the PDR

132 132

Summary Additional

Steps

to Calculate

Non-PDR-Related

Creating

a

Using

133

Software Project Estimation

Framework

Using the

ISBSG

Repository

135

the ISBSG PDR Tables to Create Tables

for Your

136

Estimating Framework Step 1. Identify the Development '

16

Project Costs

Platforms

Step

137

2. Extract PDR Distributions

Based

on Development Languages Adjust the Extracted PDR Distributions According to Team Size Step 4. Benchmarking Your Projects' PDR

Step

Step

Framework

a

a

Targets, Not Predictions

1. 2. 3.

Adjust PDR for Team Size Adjust PDR for Project Size Adjust PDR for Development

Step Language Step 4. Calculate Effort Estimate and Consider the Range of Probable Values

Summary

138 139

140 141

Benchmark Estimate for

Planned Project

Step Step

...

5. Construct the Estimation

Estimates Are

Calculating

137

3.

141 142 142

143

143 144

17

Functional Size Measurement Methods in Use

Today

145

How Many FSM Methods Are There?

145

Which FSM Method Should I Choose?

148

How Hard Is It

148

What Sort of

to Measure

Functional Size?

Accuracy Can I Expect from

FSM Measurement?

an

The Value of FSM

as a

149

Size Measurement

149

Summary 18

149

A Brief Tutorial

on

Functional Size

Measurement (FSM)

151

ISO/IEC Definitions

151

What Is Functional Size?

153

Analogies to Illustrate Functional Sizing

The Key Is

to

to Functional Size

'Think

...

153

Measurement

Logical" Example Using

153

in FSM: An

Counting

IFPUG Function Points

155

IFPUG Function Point Components

155

What Is Involved in IFPUG Function Point The

Counting? Logical Boundary

157

159

Where Does Functional Size Fit in with the

ISBSG and Software

19

Project Estimating?

Summary

161

An IFPUG Function Point Case

163

New

163

Study Development Case Study Sample Set of User Reqtiirements Functional User Requirements Functional Size Measurement Using ISO/IEC

20926: 2009

-

IFPUG 4.3

Determining the Functional Size Enhancement Case Study Sample Set of User Requirements Functional User Requirements Types of Functional Size Summary 20

160

164 164

165 165 167

167 167 169

170

The COSMIC Functional Size

Measurement Method

Overview

171

of the COSMIC Functional

Size Measurement Method

Applicability of the Method

172 172

The

Principles for Measuring

Functional Size of The Process for

Measuring

Functional Size of

21

a

a

the COSMIC

Piece of Software

172

the COSMIC

Piece of Software

174

COSMIC Method Documentation

175

Summary

176

A COSMIC Function Point Case

Study

177

of the Size of the New Software to

Analysis Be Developed Analysis of the Size of the Enhancement to the

Software

177 179

Overall Size of the Software After the Enhancement

180 180

Summary 22

A FiSMA Function Point Case

Study

181

Size Measurement of the New Software to

Be

183

Developed

Size Measurement of the Enhancement to

the Software

185

Overall Size of the Software After

the Enhancement

187

Summary A

187

What Is in the ISBSG

Repository?

Availability

189

Data

Quality

190

What the ISBSG Data Can Be Used For

190

Considerations

190

ISBSG

191

Project Data Positioning Comparing Apples with Apples Selecting a Suitable Data Subset What You Can Find in the ISBSG Repository Project Origin Project Context Type of Project Type of Product

Development

Environment

Methods and Tools

B

189

Data

191 191 194 196 198 200

202 209 213

Summary

215

Additional Documentation

215

Project Delivery Rates by Category

217

Presentation of Statistics

218

Explanation Use of

of Tables

the Statistics

218

219

Project Delivery Rates

219

Project Delivery Rate by

Use of

CASE Tools

232

Project Delivery Rate by Use of Methodology Project Delivery Rate by Relationship Between Customer, Developers, Users Project Delivery Rate by Project Size Project Delivery Rate by Maximum

233

...

233 234

Team Size

237

The

Impact of Maximum Team Size and Project Size on Project Delivery Rate

C

D

E

239

Estimation Equations What Are These Estimates Based On?

243

Which Equation(s) Should You Use?

244

Do These

244

Equations Apply

to

My Project?

243

What Do the Statistics Mean?

245

Project Sample Demographics Used in Chapter 3

253

The Benefits of to the

How

to

Submitting Projects

ISBSG Repository Submit a Project

A

Description Benchmark

F

....

ISBSG Member

257 257

of the

Project Report

Organizations

258 261

Glossary

265

Terms

265

Metrics

277

References

279

Index

283

Suggest Documents