Friday, October 24, 2008
DETAILED PLANNING Size Estimating
Nitin V Pujari
TSDP-Sep-2005 - Project Management
Slide 1
Friday, October 24, 2008
Size Estimating
How Big is the Software?
Nitin V Pujari
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?
Size
No: rethink assumptions or renegotiate Yes Done Nitin V Pujari
Is This Realistic?
Cost
How Much Will it Cost?
TSDP-Sep-2005 - Project Management
How Much Effort is Required? Effort How Much Time is Required? Schedule Slide 3
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
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 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
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 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
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 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
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 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
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 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
Effort Estimate
Data Nitin V Pujari
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 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?
Nitin V Pujari
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 10
Friday, October 24, 2008
Size Estimating Concept (part 1)
System Requirements
System Design
Distinct Where Is SW Software the SW? Products Architecture Concept
Other Source Documents Nitin V Pujari
Software Requirements
W here Is the Software?
How Big is the Software?
How Much Effort is Required?
TSDP-Sep-2005 - Project Management Done
Is This Realistic?
WBS
Size Estimate for Each Distinct SW Product or Config. Item
How Much Will it Cost?
How Much Time is Required?
Slide 11
Friday, October 24, 2008
Size Estimate Concept (part 2)
Size Estimate for Each Distinct SW Product
Σ
Size Estimate for All Software Products
(Sum over all software products)
Type P spreadsheets on Nitin V Pujari Assignment 4 TSDP-Sep-2005 - Project Management W here Is the Software?
Done
How Big is the Software?
Is This Realistic?
How Much Effort is Required?
How Much Will it Cost?
How Much Time is Required?
Type S spreadsheet on Slide 12 Assignment 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?
Nitin V Pujari
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 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
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 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
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 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
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 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?
Nitin V Pujari
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 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?
Nitin V Pujari
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 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
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 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?
Nitin V Pujari
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 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?
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 21
Friday, October 24, 2008
Best Way to Determine Object Code Size
Compiler or Assembler
Target Computer and Operating System
Representative Object Code b bytes of memory
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
• 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
Target Computer and Operating System
Representative Software Modules
W here Is the Software?
Nitin V Pujari
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?
Nitin V Pujari
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 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
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 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 them Nitin V Pujari TSDP-Sep-2005 - Project Management 26 W here Is the Software?
Done
How Big is the Software?
Is This Realistic?
How Much Effort is Required?
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?
Nitin V Pujari
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 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
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 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?
Nitin V Pujari
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 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?
Nitin V Pujari
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 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
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 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?
Nitin V Pujari
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 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?
Nitin V Pujari
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 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?
Nitin V Pujari
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 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?
Nitin V Pujari
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 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
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 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
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 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:
[email protected] 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 Get the file Nitin V Pujari TSDP-Sep-2005file - Project Management Slide 38 W here Is the Software?
Done
How Big is the Software?
Is This Realistic?
How Much Effort is Required?
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
EI
External Outputs
External Inputs
EQ External Queries Data Base (External Files)
Internal Files
W here Is the Software?
Nitin V Pujari
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 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?
Done
How Big is the Software?
Is This Realistic?
How Much Effort is Required?
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
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 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
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 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
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 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
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 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?
Nitin V Pujari
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 45
Friday, October 24, 2008
Function point to “rules” relationship:
__________
Points =
\
/
# of rules
-1
Examples: 4 rules = 1 point 16 rules = 3 points etc. W here Is the Software?
Nitin V Pujari
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 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?
Done
How Big is the Software?
Is This Realistic?
How Much Effort is Required?
How Much Will it Cost?
How Much Time is Required?
Slide 47
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
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 48
Friday, October 24, 2008
Several Types of Adjustment Factors
Linear Factors 10 Impact 5 0
Non-sensitive Factors 10 Impact
1 2 3 4 5 6 7 8
0
0 1 2 3 4 5 6 7 8 9
Size
Size
Sensitive Factors 10 Impact 5 0
Sum of All Factors?? 10 Impact 5 0
0 1 2 3 4 5 6 Size
Size W here Is the Software?
Nitin V Pujari
1 2 3 4 5 6 7 8
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 49
Friday, October 24, 2008
Using a Parametric Model
Specific Values for Specific Situation
Parametric Model
W here Is the Software?
Nitin V Pujari
Expected or Estimated Behavior
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 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?
Nitin V Pujari
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 51
Friday, October 24, 2008
Adjustment Process
Function Points Complex and Proprietary Model
Estimated Equivalent Lines of Code
Attributes
W here Is the Software?
Nitin V Pujari
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 52
Friday, October 24, 2008
Program Data Attributes
• • • • • • • • • • •
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?
Nitin V Pujari
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 53
Friday, October 24, 2008
Final Notes
Don’t underscope what you don’t understand – – – –
built-in test requirements control panels displays .....
The biggest estimating errors are errors of ignorance
Nitin V Pujari
“I didn’t realize that this part of the software was so complex.”
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 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
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 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?
Nitin V Pujari
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 56