Project Estimation
-
Upload
kasun-ranga-wijeweera -
Category
Engineering
-
view
89 -
download
3
description
Transcript of Project Estimation
![Page 2: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/2.jpg)
Why We Need Estimation?
• Large software systems usually take 200-300% cost overruns and a 100% schedule slip
• 15% of large projects fail without delivering anything
• Failures occur basically due to poor management and inaccurate estimations of development cost and development schedule
• Developers have to pay the price in schedule slips
![Page 3: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/3.jpg)
Estimation Problems
• Software cost prediction• Software schedule prediction• Software risk control• Progress tracking• Project management
![Page 4: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/4.jpg)
Software Cost
• Hardware and software• Travel and training• Effort: (dominant factor)– Salaries of engineers– Social and insurance
• Other– Building, heating, lighting– Networking and communications– Shared facilities (E.g. library, restaurant)
![Page 5: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/5.jpg)
Cost and Price
• The relationship between the software development cost and charged price from the customer is not simple
• Price is influenced by– Organization– Economy– Politics– Business considerations
![Page 6: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/6.jpg)
Pricing Factors
• Market opportunity– Accepting low profit on one project may give the
opportunity of more profit later– Gaining experience–Wish of moving into a new segment in market
• Cost estimate uncertainty– Unsure cost estimate can lead expecting higher
than normal profit
![Page 7: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/7.jpg)
Pricing Factors…
• Contractual terms– Customer allows developers to retain the
ownership of the source code and reuse it in other projects
• Requirements volatility– Requirements are likely to change– Price can be lowered to win the contract– Higher prices can be charged later for changing
requirements
![Page 8: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/8.jpg)
Pricing Factors…
• Financial health– Developers may be in financial difficulty– Price can be lowered to win the contract– Better to make smaller profit than normal profit
than to go out of business– Break even may also be a solution
![Page 9: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/9.jpg)
Estimation Models
• Expert judgment• Analogy• Parkinson’s law• Price to win
![Page 10: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/10.jpg)
Expert Judgment
• Experts in both software development and application domain use their experience
• Advantages– Relatively cheap– Accurate if they have knowledge in similar
systems
• Disadvantages– If there are no experts!
![Page 11: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/11.jpg)
Analogy
• The project is compared to a similar project in the same application domain
• Advantages– Accurate if project data is available and
people/tools are the same
• Disadvantages– Impossible without a similar project available– Systematically maintained cost database is
necessary
![Page 12: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/12.jpg)
Parkinson’s Law
• Whatever the resources available is the cost of the project
• Advantages– No need to overspend
• Disadvantages– System is usually unfinished
![Page 13: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/13.jpg)
Cost Pricing to Win
• Whatever the customer is able to spend is the cost of the project
• Advantages– Can get the contract
• Disadvantages– Customer satisfaction of the product is less– Cost does not reflect the work required
![Page 14: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/14.jpg)
Algorithmic Cost Modeling
• A mathematical function is used to estimate the cost– Inputs: Project, Process, Product– Decided by project managers
• Historical data are studied to derive the function
• Commonly used product attribute is LOC (code size)
![Page 15: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/15.jpg)
Software Productivity
• The rate at which individual software engineers involve in development process is known as software productivity
• Although quality assurance is a factor in productivity assessment, the productivity is not quality oriented
• The useful functionality produced per time unit should be measured
![Page 16: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/16.jpg)
Productivity Measures
• Size related measures:– Lines of delivered source code– Object code instructions– Etc
• Function related measures:– Functionality of the delivered software– E.g. Function points
![Page 17: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/17.jpg)
Lines of Code
• What programs should be considered as part of the system?
• Assumption of the model:– The relationship between system size and volume
of documentation is linear
• Key thing to remember:– Uncertainty is more important than the initial line– Seek justifiable bounds
![Page 18: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/18.jpg)
Productivity Comparison
• Low level language verses high level language• Verbose code verses compact code
![Page 19: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/19.jpg)
Function Points
• Program characteristics are considered– External inputs and outputs– User interactions– External interfaces– Files used by the system
• Corresponding weights are assigned to each characteristic
![Page 20: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/20.jpg)
FPs and LOC
• FPs can be used to estimate LOC– LOC = AVC * (Number of FPs)– AVC is a factor which depends on the
programming language• Assembly language: AVC = 200 to 300• 4 GL language: AVC = 2 to 40
• FPs are subjective and dependent on the estimator– FP automation is impossible
![Page 21: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/21.jpg)
Productivity Estimates
• Real time embedded systems– 40 to 60 LOC per month
• Systems programs– 150 to 400 LOC per month
• Commercial applications– 200 to 900 LOC per month
![Page 22: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/22.jpg)
Productivity Factors
• Application domain experience• Process quality• Product size• Technology support• Working environment
![Page 23: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/23.jpg)
Changing Technologies
• Previous estimating experience does not carry over to new systems due to changes in technology – Use of web services– Use of CASE tools and program generators– Development for and with reuse– Using scripting languages
![Page 24: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/24.jpg)
COCOMO
• Constructive Cost Model (COCOMO)• Estimates are derived as functions of variables• Data of past projects must be available• First published by Dr. Barry Boehm in 1981• Derived through statistical regression of data
from 63 past projects
![Page 25: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/25.jpg)
Example
Size 2000 SLOC
8000 SLOC
32000 SLOC
128000 SLOC
MM 5 21 91 392
Schedule Months
5 8 14 24
Staff 1.1 2.7 6.5 16
SLOC/ MM
400 376 352 327
![Page 26: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/26.jpg)
Basic Effort Equation
• (Effort) = A * (Size) ^ (Exponent) • (Effort) = (EAF) * A * (Size) ^ (Exponent)• Estimates the man-months (MM) of effort for
software development project– 1 MM = 152 hours of development
• Size is the source lines of code (SLOC)
![Page 27: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/27.jpg)
Modes and Models of COCOMO
• Three modes– Organic mode– Semidetached mode– Embedded mode
• Three models– Basic model– Intermediate model– Detailed model
![Page 28: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/28.jpg)
Modes of COCOMO
• Organic mode– Similar to an earlier project– Familiar and stable environment– E.g. Accounting system
• Semidetached mode– Between Organic and Embedded modes
• Embedded mode– New project involving new inventions– E.g. Real-time systems
![Page 29: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/29.jpg)
Models of COCOMO
• Basic model– Roughly estimates project cost, performance and
schedule
• Intermediate model– EAF (Effort Adjustment Factor) is used from 15
cost drivers
• Detailed model– Different Effort Multipliers are used for each phase
of project
![Page 30: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/30.jpg)
Effort Equation : Basic
• (Effort) = A * (Size) ^ (Exponent)• A is a constant which depends on the mode of
development– Organic: 2.4, Semidetached: 3.0, Embedded: 3.6
• (Exponent) is also a constant which depends on the mode of development– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
![Page 31: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/31.jpg)
Schedule Equation : Basic
• Minimum time to develop (MTDEV)• (MTDEV) = 2.5 * (Effort) ^ (Exponent)• Exponent is a constant which depends on the
mode– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes• MTDEV is independent from the number of
people assigned
![Page 32: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/32.jpg)
Effort Equation : Intermediate
• (Effort) = (EAF) * A * (Size) ^ (Exponent)• A is a constant which depends on the mode of
development– Organic: 3.2, Semidetached: 3.0, Embedded: 2.8
• (Exponent) is also a constant which depends on the mode of development– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
![Page 33: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/33.jpg)
EAF (Effort Adjustment Factor)
• EAF = Product of effort multipliers
![Page 34: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/34.jpg)
Schedule Equation : Intermediate
• Minimum time to develop (MTDEV)• (MTDEV) = 2.5 * (Effort) ^ (Exponent)• Exponent is a constant which depends on the
mode– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes• MTDEV is independent from the number of
people assigned
![Page 35: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/35.jpg)
Tool Demonstration
http://sunset.usc.edu/research/COCOMOII/expert_cocomo/expert_cocomo2000.html
![Page 36: Project Estimation](https://reader033.fdocuments.in/reader033/viewer/2022061220/54845741b4af9ff46c8b4959/html5/thumbnails/36.jpg)
Thank you!