Software Engineering Lecture 5 Software Project Planning 1.

19
Software Engineering Lecture 5 Software Project Planning 1

Transcript of Software Engineering Lecture 5 Software Project Planning 1.

Page 1: Software Engineering Lecture 5 Software Project Planning 1.

Software EngineeringLecture 5Software Project Planning

1

Page 2: Software Engineering Lecture 5 Software Project Planning 1.

Software Project Planning

2

The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project.

Why?

So the end result gets done on time, with quality!

Page 3: Software Engineering Lecture 5 Software Project Planning 1.

The Steps

Scoping—understand the problem and the work that must be done

Estimation—how much effort? how much time?

Risk—what can go wrong? how can we avoid it? what can we do about it?

Schedule—how do we allocate resources along the timeline? what are the milestones?

Control strategy—how do we control quality? how do we control change?

3

Page 4: Software Engineering Lecture 5 Software Project Planning 1.

Write it Down!

4

SoftwareProject

Plan

Project ScopeEstimatesRisksScheduleControl strategy

Page 5: Software Engineering Lecture 5 Software Project Planning 1.

To Understand Scope ...

Understand the customers needsunderstand the business contextunderstand the project boundariesunderstand the customer’s

motivationunderstand the likely paths for

changeunderstand that ...

5

Even when you understand,nothing is guaranteed!

Page 6: Software Engineering Lecture 5 Software Project Planning 1.

Cost Estimation

6

project scope must be explicitly definedtask and/or functional decomposition is necessaryhistorical measures (metrics) are very helpfulat least two different techniques should be usedremember that uncertainty is inherent

Page 7: Software Engineering Lecture 5 Software Project Planning 1.

Estimation Techniques

past (similar) project experienceconventional estimation techniques

◦ task breakdown and effort estimates

◦ size (e.g., FP) estimates tools (e.g., Checkpoint)

7

Page 8: Software Engineering Lecture 5 Software Project Planning 1.

Functional Decomposition

8

Statementof Scope

performa

"grammaticalparse"

functional decomposition

Page 9: Software Engineering Lecture 5 Software Project Planning 1.

Creating a Task Matrix

9

Obtained from “process framework”

applicationfunctions

framework activities

Effort required to accomplisheach framework activity for each application function

Page 10: Software Engineering Lecture 5 Software Project Planning 1.

Conventional Methods:LOC/FP Approach

compute LOC/FP using estimates of information domain values

use historical effort for the project

10

Page 11: Software Engineering Lecture 5 Software Project Planning 1.

Example: LOC Approach

11

Functions

UICF

2DGA

3DGA

DSM

CGDF

PCF

DAM

Totals

estimated LOC $/LOC Cost Effort (months)LOC/pm

2340

5380

6800

3350

4950

2140

8400

33,360

14

20

20

18

22

28

18

315

220

220

240

200

140

300

32,000

107,000

136,000

60,000

109,000

60,000

151,000

655,000

7.4

24.4

30.9

13.9

24.7

15.2

28.0

145.0

Page 12: Software Engineering Lecture 5 Software Project Planning 1.

Example: FP Approach

12

number of user inputs number of user outputs number of user inquiries number of files number of ext.interfaces algorithms

measurement parameter

4 5 4 7 7 3

count

x x x x x x

count-total

= = = = = =

weight

complexity multiplier

feature points

0.25 p-m / FP = 120 p-m

40 25 12 4 4 60

160 125 48 28 28 180

569

.84

478

Page 13: Software Engineering Lecture 5 Software Project Planning 1.

Tool-Based Estimation

13

project characteristics

calibration factors

LOC/FP data

Page 14: Software Engineering Lecture 5 Software Project Planning 1.

Empirical Estimation Models

14

General form:

effort = tuning coefficient * sizeexponent

usually derivedas person-monthsof effort required

either a constant ora number derived based on complexity of project

usually LOC butmay also befunction point

empiricallyderived

Page 15: Software Engineering Lecture 5 Software Project Planning 1.

Estimation Guidelines

15

estimate using at least two techniques

get estimates from independent sources

avoid over-optimism, assume difficulties

you've arrived at an estimate, sleep on it

adjust for the people who'll be doing the job—they have the highest impact

Page 16: Software Engineering Lecture 5 Software Project Planning 1.

The Make-Buy Decision

16

system Xreuse

simple (0.30)

difficult (0.70)difficult (0.70)

minorminor changes(0.40)

majormajorchanges

(0.60)

simple (0.20)

complex (0.80)complex (0.80)

majormajor changes (0.30)

minorminor changes(0.70)

$380,000$380,000

$450,000

$275,000

$310,000

$490,000

$210,000

$400,000

buy

contractcontract

without changes (0.60)

with changes (0.40)with changes (0.40)

$350,000.

$500,000$500,000

build

Page 17: Software Engineering Lecture 5 Software Project Planning 1.

Computing Expected Cost

17

(path probability) x (estimated path cost) i i

For example, the expected cost to build is:

expected cost = 0.30($380K)+0.70($450K)

similarly,expected cost = $382Kexpected cost = $267Kexpected cost = $410K

build

reuse

buy

contr

expected cost =

= $429 K

Page 18: Software Engineering Lecture 5 Software Project Planning 1.

SummaryThe software project planner must

estimate three things before a project begins:◦How long it will take.◦How much effort will be required.◦How many people will be involved.

Accurate project estimates generally use at least two estimation techniques in order to derive an accurate estimate.

18

Page 19: Software Engineering Lecture 5 Software Project Planning 1.

ReferencesPressman, Chapter 5

19