You are on page 1of 56

Friday, October 24, 2008

DETAILED PLANNING Size Estimating

Nitin V Pujari

TSDP-Sep-2005 - Project Management

Slide 1

Friday, October 24, 2008

Size Estimating

Nitin V Pujari

How Big is the Software?
TSDP-Sep-2005 - Project Management Slide 2

Friday, October 24, 2008

The Big Picture for Cost Estimating

Where Is WBS the Software?

How Big is the Software?
No: rethink assumptions or renegotiate

Size

How Much Effort is Required? Effort How Much Time is Required? Schedule
Slide 3

Yes Done
Nitin V Pujari

Is This Realistic?

Cost

How Much Will it Cost?

TSDP-Sep-2005 - Project Management

Friday, October 24, 2008

Why Do You Need to Estimate the Size?

• In theory, you don’t need to • Since you know the tasks to be performed from the WBS, you can (in theory) compute cost directly For each Task, you determine effort and then cost, as follows:
Task ----------------------------> Effort --------------------> Cost

This is known as a “bottom up” estimating technique
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 4

Friday, October 24, 2008

“Bottom Up” Cost Estimating

Task 1.1.1 1.1.2 ... 2.3.4 ... _____ Total

Effort 23 staff months 5 staff months ... (3 trips) ... _____

x factor $5000/sm $4000/sm ... $1000/trip ... _____

Cost $115,000 $ 20,000 ... $ 3,000 ... ________ $435,000

The highlighted tasks are to develop the software. Other tasks are for related activities required by SOW, etc.
Nitin V Pujari TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost? W here Is the Software?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 5

Friday, October 24, 2008

But

• In practice, the software development tasks are hard to estimate in this fashion • It is very hard to estimate the effort to perform a software development task unless you know something about the size and the complexity of the software • Large software projects cost more than small ones; complex software costs more than simple software • So you need to estimate the size and complexity as part of the process of determining the effort required
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 6

Friday, October 24, 2008

Moreover

• It may be easier to estimate the effort to do a whole software product than to estimate the exact effort of performing each task • Example: -- How long will it take you to answer the questions on the test? vs. -- How long will it take you to answer each question?

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 7

Friday, October 24, 2008

“Short Cut” to Estimate Software Development Effort

For Software Development Tasks: use products rather than tasks:

Products ----------> Size ----------> Effort ------------------------> Cost or Items & Complexity

For Other Tasks: Task -----------------------------------> Effort -------------------------> Cost

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 8

Friday, October 24, 2008

Bottom Up Size Estimating (for the software)

Product File System User I/F ... _____ Total

Size 2400 units 3000 units ... _____ 35,000 units

Complexity simple moderate ... _____ moderate

Historical Data
Nitin V Pujari
W here Is the Software?

Effort Estimate
TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 9

Friday, October 24, 2008

Typical Inputs to Size Estimate

• • • • • • • • •

Tasks to be Performed Prior experience on similar tasks Historical data Programming language(s) to be used Process and methods Reusable software information System design information Requirements of the software Initial concepts of software design (major components, etc.)
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 10

Friday, October 24, 2008

Size Estimating Concept (part 1)

System Requirements

Software Requirements Size Estimate for Each Distinct SW Product or Config. Item
Slide 11

System Design

Distinct Where Is SW Software the SW? Products Architecture Concept

WBS

Other Source Documents
Nitin V Pujari

W here Is the Software?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Friday, October 24, 2008

Size Estimate Concept (part 2)

Size Estimate for Each Distinct SW Product

Σ

Size Estimate for All Software Products

Type P spreadsheets on Nitin V Pujari Assignment 4 TSDP-Sep-2005 - Project Management
W here Is the Software?

(Sum over all software products)
How Big is the Software?
Is This Realistic? How Much Will it Cost?

How Much Effort is Required?

How Much Time is Required?

Done

Type S spreadsheet on Slide Assignment 12 4

Friday, October 24, 2008

Warning -- Estimate = Goal

• Accurate estimates are seldom attained, especially early in the lifecycle • The goal of estimating is -- to assist with planning and risk management, -- not to achieve a perfect prediction • You must plan to reestimate as you gain more knowledge
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 13

Friday, October 24, 2008

What are the Best Units for a Size Estimate?

• Lines of Code?
– which ones count? – comments?

• • • • •

Functions performed? # of requirements? Objects? Required Target Memory? Pounds of Documentation? There are a lot of academic arguments over which is best, and there is merit to measuring whichever fits your application the best
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 14

Friday, October 24, 2008

BUT

Historical data is your best ally It is more important to measure CONSISTENTLY across multiple projects and many years of history NOTES Most methods of size estimating will work with just about any size unit you choose We will illustrate the process with “lines of code”, and will later discuss other units
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 15

Friday, October 24, 2008

Categories of Estimating Methods

1

• Analogy Models (compare with past history)
– History is a good ally – But truly similar models often do not exist – Use as a baseline for “sanity” checks or when no other method is available

• Expert Judgment Models (consult with experts) Examples: Delphi, Wideband Delphi
– Good for new, unique, different situations – Often biased, and knowledge may be insufficient – Use in conjunction with other models

1) Stukes, Sherry, “A Guide to Cost Estimation for Space Systems Software,” Management Consulting and Research, 1995/
Nitin V Pujari TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost? W here Is the Software?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 16

Friday, October 24, 2008

Categories of Estimating Methods (continued)

• Bottom-up Models (estimate each component)
– Good for tracking costs afterwards / good buy-in from developers if they estimate their own parts – Time consuming, often lack info, ignores integration/support – Use if data and time are available

• Top-Down Models (estimate based on general characteristics of the application, environment, personnel, etc.) Examples: Cocomo, Price-S, SEER, SLIM, etc.
– Fast, easy to use, requires little detail, captures system costs – But less accurate and stable than bottom-up, does not foster buy-in to estimate – Use - but calibrate to your own data
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic?

How Much Will it Cost?

How Much Time is Required?

Slide 17

Friday, October 24, 2008

Notation for “Lines of Code”

SLOC = Source Lines of Code KLOC = Thousands of Lines of Code KSLOC = Thousands of Source Lines of Code (essentially the same as KLOC, although some authors use KSLOC for high level languages and KLOC for assembly language)
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 18

Friday, October 24, 2008

Size Estimating Method 1: Compare to Existing Code

• If you have existing software that is similar to the code being developed, you have a good way to estimate the size of the new code Old Actual New Estimated Software Size Software Size Comment Driver 2345 Driver 2345 Identical Transf 1678 Transf 2000 Slightly more advanced Op Sys 3567 Op Sys 3000 Simpler Twiddle 6000 Twaddle 5000 Convert C to Ada etc. etc. etc. etc. etc.
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 19

Friday, October 24, 2008

If the New Code is NOT IDENTICAL to the Old Code ...

... consider computing three numbers: -- minimum size that it could reasonably be -- expected size -- maximum size that it could reasonably be The minimum and maximum sizes tell you something about the level of risk involved Guideline: the chances of the actual size being less than the minimum or greater than the maximum should be very low -- less than 1 chance in 300 (we will see why later)
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 20

Friday, October 24, 2008

Issues for Memory Requirements (Size of Object Code, etc.)

• Source language
– The higher the level, the more memory required per “line of code”

• Compiler
– Compilers can be optimized for speed or space – Some compilers are not very good; others are very good

• Target machine
– RISC architectures require more memory than others

• Run-time libraries and environments
– These can vary greatly with the language and the way the program is designed

• Operating system
Nitin V Pujari

W here Is the Software?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 21

Friday, October 24, 2008

Best Way to Determine Object Code Size

Compiler or Assembler

Representative Object Code b bytes of memory

Target Computer and Operating System

Representative Software Modules m lines of code
Nitin V Pujari

b/m = bytes per line of code

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 22

Friday, October 24, 2008

Best Way to Determine Object Code Size - Part 1

Nitin V Pujari

• Determine the compiler and target system • Develop some representative software modules for different functions • Compile using the planned compiler for the Representative planned target system Object Code --------• Note how important it is to know what the compiler and the target system will be • If these are subject to change, be sure to record this as a risk and plan to reestimate size if they change
Compiler or Assembler
W here Is the Software?

Target Computer and Operating System

Representative Software Modules

How Big is the Software?

How Much Effort is Required?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 23

Friday, October 24, 2008

Best Way to Determine Object Code Size - Part 2

• Determine the ratio of source lines to target lines, with the compiler you will be using
b/m = bytes per line of code

• If the ratio varies a lot from one sample to another, try some additional representative software modules until you get a reasonably consistent range of values • Use this ratio for estimating target size based on lines of source code
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 24

Friday, October 24, 2008

Warning

• Lines of assembly are not equivalent to bytes or words of target machine memory • Some assembly lines generate more target space than others • But ratio of source lines to target space is more reliable in assembly language than it is in high level languages

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 25

Friday, October 24, 2008

Which Lines of Code do you Count?

• Source line images? (80 characters / carriage return character) • Source statements? (semicolons in some languages) • Comments? (usually not) • Data Declarations? (usually yes)
----------------------------------------------------------------------------------

Jones’ translation table counts only source statements and data declarations Most cost estimating tools use this approach as well Comments should translate 1-1, if you count Slide 26 them Nitin V Pujari TSDP-Sep-2005 - Project Management
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Done

Is This Realistic?

How Much Will it Cost?

How Much Time is Required?

Friday, October 24, 2008

So isn’t there Something Better than Lines of Code?

• You can argue about this all day • We will show examples of alternatives - function points, feature points, and object points • The most important thing is not what you measure, but how consistently you measure it and how well it represents your type of application • Much of the debate over “better” methods than lines of code has to do with how well a specific method happens to fit a given collection of data • Consider: how do you measure the size of a house?
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 27

Friday, October 24, 2008

An Example from a Study in England

• Software was rewritten from Cobol to C++ • Design technique was changed from “none” to “object oriented” • The size went down by 30% when measured by lines of code, function points, etc. - because they designed it better • But the functionality and quality went up • The cost per line of code (or function point or whatever) was 10% higher! • An apparent loss in productivity - but not really -- it was actually about a 20% improvement!
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 28

Friday, October 24, 2008

Don Riefer’s Suggestion

• The most important thing to do is to develop a “line of code counter” program and use it consistently to measure the size of all software that you develop • It does not matter nearly as much how you count lines of code (but it may take you longer to agree than it will to write the program)

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 29

Friday, October 24, 2008

Wideband Delphi Method

• This is a disciplined method of using the experience of several people to reach an estimate that incorporates all of their knowledge • This method can also be used to estimate cost directly (see Humphrey Textbook)
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 30

Friday, October 24, 2008

Wideband Delphi Method

1) Get a few experts (typically 3 to 5)
– Include experience in all of the “risk” areas -- application domain, programming language, algorithms, target hardware, operating system, etc.

2) Meet with them to discuss issues and describe the software to them
– Specifications, other source documents, WBS, etc. – Let them add their own information, questions, etc. – All take notes

3) Each expert develops an estimate
– min, expected, max -- or just expected at this point – independent and anonymous
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 31

Friday, October 24, 2008

Wideband Delphi Method (continued)

4) Record estimates anonymously on a graph: ____X_____X_X______________X_________X__ 5) Meet and have each expert discuss his or her estimate
– Assumptions – Rationale

6) Seek consensus on assumptions, etc.
– May result in action items to gather factual data

7) If possible, reach a consensus estimate 8) If no consensus, break until you can gather additional data, then repeat steps 4-7
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 32

Friday, October 24, 2008

Wideband Delphi Method (concluded)

Stop repeating when: a) You reach consensus (i.e., the experts agree) or b) Two consecutive cycles do not change much and there is no significant additional data available (i.e., they agree to disagree) At the end, you have a consensus estimate on the expected value. You should also agree on a minimum and maximum, as with method 1, so you understand the degree of confidence in the estimate.
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 33

Friday, October 24, 2008

Advantages of Wideband Delphi

• Takes advantage of the expertise of several people • All participants become better educated about the software • Buy-in to final estimate • Does not require historical data (although it can be useful input if it is available)

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 34

Friday, October 24, 2008

Drawbacks of Wideband Delphi

• You can reach consensus on an incorrect estimate
– Because you all “buy in”, you may not be skeptical enough when actual data shows it is wrong

• You can develop a false sense of confidence • You may fail to reach a consensus

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 35

Friday, October 24, 2008

Method 2A Prototype

• Build a Prototype of the Software, including certain important functions (especially those whose size is unknown)

• Use the prototype to answer questions raised by other estimating methods • Then revisit previous estimates with the new information
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 36

Friday, October 24, 2008

Function Point Methods (1)

• These methods are based on the idea that software size is better measured in terms of the number and complexity of the functions it performs rather than “lines of code” • The specific definition originated by Albrecht was based on transaction oriented systems, so his concept of a “function” may not work with other types of software • Each of the first three methods can be revised to work with function points rather than lines of code, if you wish to do so
(1) Albrecht, A. (several papers in 1970’s; major revision in 1984)
Nitin V Pujari TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost? W here Is the Software?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 37

Friday, October 24, 2008

Additional Information on Function Points

The function point mailing list may be joined by sending a message without a subject line to: cim@spice.crim.ca Available commands in body of message:
HELp Send Listserv User Guide LISt Relayed lists REView function.point.list Send List of Subscribers SUBscribe function.point.list Firstname Lastname Subscribe to the List SIGnoff list Remove yourself from the list INDex function.point.list Send index of available files GET function.point.list file Get the Nitin V Pujari TSDP-Sep-2005 - Project Management file Slide 38
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Done

Is This Realistic?

How Much Will it Cost?

How Much Time is Required?

Friday, October 24, 2008

Albrecht’s Model of a Computer Software Application

End User / Other Programs EO External Outputs EI External Inputs EQ External Queries Data Base (External Files)

Internal Files
How Big is the Software?

W here Is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 39

Friday, October 24, 2008

Albrecht’s Five Key Categories of Functions Performed by SW

EO External Outputs - things produced by the software that go to the outside EI External Inputs - things received by the software from the outside EQ External Inquiries - specific commands or requests that the software performs, generated from the outside EF External Files - files used by the program IF Internal Files - logical files within the program Nitin V Pujari TSDP-Sep-2005 - Project Management
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Done

Is This Realistic?

How Much Will it Cost?

How Much Time is Required?

Slide 40

Friday, October 24, 2008

Function Point Method in a Nutshell

1) Count the functions in each category 2) Establish the complexity of each:
– High, Medium, or Low

3) Establish weights for each complexity 4) Multiply each function by its weight and then sum up to get total function points

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 41

Friday, October 24, 2008

Function Point Example

Category EO EI EQ IF EF TOTAL

Numbers& 3/4/5 4/2/6 3/3/5 2/2/1 3/1/3

Weights&# 4/5/7 3/4/6 3/4/6 7/10/15 5/7/10

Points 67 [3*4+4*5+5*7] 56 [12+8+36] 51 [9+12+30] 49 [14+20+15] 52 [15+7+30] 275

& simple / medium / complex # The weights shown are based on Albrecht’s papers. You may establish other weights based on specific historical experience.
Nitin V Pujari TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost? W here Is the Software?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 42

Friday, October 24, 2008

Using Function Points as Input to an Effort Estimate

• After all of the calculations above, you must convert function points to lines of code!!! • Formula: LOC = POINTS * ADJ * CONVERSION FACTOR • ADJ is an adjustment for the general characteristics of the application (see later) • The conversion factor is established based on historical experience for your application • It represents the average number of lines of code to implement a simple function
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 43

Friday, October 24, 2008

What About Other Applications?

• Example: Real Time Systems -- Tend to have few internal files -- But have very complex algorithms • Extensions to Function Points are often used to handle different cases, such as scientific and real-time computing

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 44

Friday, October 24, 2008

Feature Points

• This is an extension of the function point method designed to deal with different kinds of applications, such as real time systems. • A feature point is a new category of function that represents complex algorithms • The complexity of the algorithm is defined in terms of the number of “rules” required to express that algorithm

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 45

Friday, October 24, 2008

Function point to “rules” relationship:

Points = Examples:

\

/

__________ # of rules -1

4 rules = 1 point 16 rules = 3 points etc.
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 46

Friday, October 24, 2008

Graphical Picture of Feature Point Weight

# of feature points

Nitin V Pujari

# of rules in algorithm (i.e., algorithm complexity)
TSDP-Sep-2005 - Project Management
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Slide 47

Done

Is This Realistic?

How Much Will it Cost?

How Much Time is Required?

Friday, October 24, 2008

How Do You Determine What Factors Affect the Estimate?

Analysis

Data

Facts about Which Factors have What Impact

Parametric Model

W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 48

Friday, October 24, 2008

Several Types of Adjustment Factors

Linear Factors 10 Im a 5 p ct 0 10
Im a p ct

Non-sensitive Factors 0

1 2 3 4 5 6 7 8
Size

0 1 2 3 4 5 6 7 8 9
Size

Sensitive Factors 10 Im a 5 p ct 0

Sum of All Factors?? 10 Im a 5 p ct 0

0 1 2 3 4 5 6
Size
W here Is the Software?

1 2 3 4 5 6 7 8
Size

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 49

Friday, October 24, 2008

Using a Parametric Model

Specific Values for Specific Situation

Parametric Model

Expected or Estimated Behavior

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 50

Friday, October 24, 2008

Adjustment Method Derived from Price-S®

• Define Attributes for the Software, as follows: -- Software Development Environment -- Software Complexity -- Program Data -- Project Planning • Apply all of these attributes by means of a complex function to adjust the size estimate
® Price-S is a cost and size estimating tool originally developed by RCA and then owned by General Electric, sold to Lockheed-Martin, ...
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 51

Friday, October 24, 2008

Adjustment Process

Function Points Complex and Proprietary Model Attributes Estimated Equivalent Lines of Code

W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 52

Friday, October 24, 2008

Program Data Attributes

• • • • • • • • • • •

Nitin V Pujari

number of unique output page formats number of unique display formats (alphanumeric) number of unique graphic displays number of unique input streams number of unique output streams number of control states (decision points) number of input message fields (unique fields) number of unique operator actions number of unique analog signals on input number of data elements in tables functional bulkiness (tool efficiency, staff experience)
W here Is the Software?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 53

Friday, October 24, 2008

Final Notes

Don’t underscope what you don’t understand
– – – – built-in test requirements control panels displays .....

“I didn’t realize that this part of the software was so complex.”

Nitin V Pujari

The biggest  estimating  errors are  errors of  ignorance

W here Is the Software?

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 54

Friday, October 24, 2008

What Can be Reused? Just about Anything

• • • • • • • •

Code Test Code Test Cases and Procedures Documentation Design Specifications Designs Requirements Specifications etc., etc.

The earlier in the development process, the greater the leverage from reuse
W here Is the Software?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Big is the Software?

How Much Effort is Required?

How Much Time is Required?

Slide 55

Friday, October 24, 2008

Reuse Terminology

Legacy Code Code developed for a previous application that is BELIEVED TO BE OF USE for a new application Modified Code Code developed for a previous application that is suitable for a new application after a MODEST AMOUNT OF MODIFICATION Reused Code Code developed for a previous application that is suitable for a new application WITHOUT CHANGE OF ANY KIND
W here Is the Software?

How Big is the Software?

How Much Effort is Required?

Nitin V Pujari

TSDP-Sep-2005 - Project Management
Done Is This Realistic? How Much Will it Cost?

How Much Time is Required?

Slide 56