0% found this document useful (0 votes)
24 views15 pages

Time and Resource Estimation

This document discusses time and resource estimation for projects. It begins by noting that the next class will involve reading chapters 7 and 8 and handing in exercise solutions. It then discusses choosing a goal for system implementation, such as meeting a schedule, preventing runaway costs, or achieving lowest cost. Estimation steps are outlined, including estimating project size using methods or function points, estimating effort in person-months, estimating schedule in calendar months, and deriving team size from effort and schedule. Function point multipliers and influence multipliers are explained. Lines of code estimates are provided for different programming languages. An exercise asks students to estimate function points and lines of code for a sample requirements document and choose an appropriate technology. Students are instructed to hand

Uploaded by

bdiit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views15 pages

Time and Resource Estimation

This document discusses time and resource estimation for projects. It begins by noting that the next class will involve reading chapters 7 and 8 and handing in exercise solutions. It then discusses choosing a goal for system implementation, such as meeting a schedule, preventing runaway costs, or achieving lowest cost. Estimation steps are outlined, including estimating project size using methods or function points, estimating effort in person-months, estimating schedule in calendar months, and deriving team size from effort and schedule. Function point multipliers and influence multipliers are explained. Lines of code estimates are provided for different programming languages. An exercise asks students to estimate function points and lines of code for a sample requirements document and choose an appropriate technology. Students are instructed to hand

Uploaded by

bdiit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

1.

264 Lecture 3
Time and resource estimation

Next class: Read chapters 7, 8. Hand in exercise solution after class


Form groups for homework.
Hand in todays exercises on paper.

Choose system implementation goal


Product, time, cost: you can lock 2 of the 3
What do you need? Examples (not exhaustive):
High certainty in meeting a schedule constraint
If schedule is fixed, either product or resources are fixed
but not both

Runaway prevention (with bad past history)


Low level of process maturity, recovery mode

Predictability (tied to budget, other programs)


Staff and schedule are fixed. Product must flex.

Lowest cost
Requires good people, good process

Desire for free overtime (startups, cheap companies)

These are not the same problem


Choose a method appropriate to the problem
Tables next time: fastest possible, most efficient, nominal

Exercise
What do you need?
Change from uniform to regional assortments in retail
supply chain in a large retailer
Sourcing key inputs from new overseas suppliers for
holiday season
Implementing a new bus location system for a public
transit agency that displays on smart phones and PCs
There have been many failures in the past.

Implementing electronic health records at a large


hospital

Take 10 minutes:
Recommend a goal
List top 3 factors or key unknowns to be researched
early in the decision

Solution (one of many)


What do you need?
Change from uniform to regional assortments in retail
supply chain in a large retailer
Lowest cost

Sourcing key inputs from new overseas suppliers


High certainty in meeting schedule

Implementing a new bus location system for a public


transit agency that displays on smart phones and PCs
Runaway prevention

Implementing electronic health records at a large


hospital
Runaway prevention. Difficult to tell doctors what to do.

Estimation

Image by MIT OpenCourseWare.

Estimation steps: software example


Estimate size of project:

(product)

Methods/behaviors (formerly function points) to be configured,


modified, written and/or implemented
Lines of code: depends on language, tools
(technology)

Estimate effort (person-months)


(process/people)
Estimate schedule (calendar-months)

Estimate team size as (person-months / calendar-months)


This is just algebra. Team size is not an independent variable.

Provide estimates in ranges and refine for increasing


precision as project progresses
Never give a point estimate
Use the convergence curve

This process is also used for non-software projects


Non-software metrics harder to find. Track your own.

Project size estimation (product)


Count:

Inputs: Web pages, forms, messages from


other systems, XML documents
Outputs: Web pages, reports, graphs,
messages, XML documents
Inquiries: simple Web inputs, generally
producing a single output
Logical internal files: tables or files in own
database
External interface files: tables or files used
from other systems or databases
7

Method (function point) multipliers

Function-Point Multipliers
Function Points
Program
Characteristic

Low
Complexity

Medium
Complexity

High
Complexity

Number of inputs

X3

X4

X6

Number of outputs

X4

X5

X7

Inquiries

X3

X4

X6

Logical internal files

X7

X 10

X 15

External interface files

X5

X7

X 10
Image by MIT OpenCourseWare.

Effort estimation (method/function point example)


Example of Computing the Number
of Function Points
Function Points
Program Characteristic

Low
Complexity

Medium
Complexity

High
Complexity

Number of inputs

6 X 3 = 18

2X4=8

3 X 6 = 18

Number of outputs

7 X 4 = 28

7 X 5 = 35

0X7=0

Inquiries

0X3=0

2X4=8

4 X 6 = 24

Logical internal files

5 X 7 = 35

2 X 10 = 20

3 X 15 = 45

External interface files

9 X 5 = 45

0X7=0

2 X 10 = 20

Unadjusted function-point total

304

Influence multiplier

1.15

Adjusted function-point total

350
Image by MIT OpenCourseWare.

Influence multipliers

Data communications
Distributed processing
Heavy use
Performance
Transaction rate
Online data entry
End user efficiency

Online update
Complex processing
Reusability
Installation ease
Operational ease
Multiple sites
Facilitate change

Rate each element from 0-5


Influence multiplier is 0.65 + 0.01(sum of elements),
varies between 0.65 and 1.35
10

Effort estimation: lines of code (technology)

Language

Level

Statement per
Function Point

Assembler

1.0

320

2.5

125

C++

6.5

50

Language

AWK

15.0

25

Perl

15.0

Lisp

Cont....
Level

Statement per
Function Point

Quick Basic 3

5.5

60

25

Visual Basic 3

10.0

30

5.0

65

Cobol (ANSI 85)

3.5

90

Ada 83

4.5

70

Macro assembler

1.5

215

Pascal

3.5

90

Focus

8.0

40

SAS, SPSS, other


statistics packages

10.0

30

Oracle

8.0

40

20

8.0

40

Smalltalk 80;
Smalltalk/V

15.0

Sybase
Paradox

9.0

35

~ 50

Modula 2

4.0

80

Excel, Lotus 123,


Quattro Pro, other
spreadsheets

dBase IV

9.0

35

Fortran 77

3.0

110

GW Basic

3.25

100

Approximate Language Levels

Image by MIT OpenCourseWare.

Ignore level
11

Exercise
If you had a requirements document with:

10 Web input pages,


15 output pages (reports),
20 (internal) database tables, and
no inquiries or external files,

How many function points would it contain?

Assume medium complexity for each page, report, table


Assume influence multiplier = 1.0

Technology:

If you wrote the system in C, how many lines of code


would it have?
What if you used perl (a simpler scripting language)?
If you could do it in perl instead of C, would you?

How do you decide what technology to use?

12

Solution
If you had a requirements document with 10 Web pages, 15
reports, 20 database tables, and no inquiries or external files,
how many function points would it contain?
Assume influence multiplier = 1.0
About 315 function points, if each item is medium complexity

If you wrote the system in C, how many lines of code would it


have?
About 40,000 lines of C
What if you used perl?

About 8,000 lines of perl

If you could do it in perl instead of C, would you?

Yes. The system is 20% the size and will take <20% of the
resources to write (scale diseconomies)

How do you decide what technology to use?

The one that is capable enough to solve the problem and yields
the fewest lines.

13

Hand in
Upload your answers to the goals and resource
estimation exercises
On paper. Make sure your name is on it. You may hand
in one for your group. Or
Upload to course Web site, in Word, Notepad, or any
other common format

14

MIT OpenCourseWare
http://ocw.mit.edu

1.264J / ESD.264J Database, Internet, and Systems Integration Technologies


Fall

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

You might also like