5. Measurement n Estimation I
Transcript of 5. Measurement n Estimation I
-
8/9/2019 5. Measurement n Estimation I
1/43
Measurement and Estimation
Measurement andEstimation I
MCS8301 - Software EngineeringManagement
1
-
8/9/2019 5. Measurement n Estimation I
2/43
Software Cost Estimation
Estimating Software Cost and Effort
Objectives:
aspect of Software
Includes cost, effort, and size, and indirectlyschedule
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
2
ows t e re at on etween t e a ove ent t es
-
8/9/2019 5. Measurement n Estimation I
3/43
Purpose of Cost estimation
To estimate how much software-engineering time will berequired to do some work.
The difference in time from the start date to the enddate of a task or ro ect.
Development effort
The amount of labour used in person-monthsor
person-days.
To convert an estimate of development effort to anamoun o money:
You multiply it by the weighted average cost
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
3
engineer for a month (or a day).
-
8/9/2019 5. Measurement n Estimation I
4/43
Principles of effective Cost Estimation
Principle 1: Divide and conquer.
To make a better estimate ou should divide the
project up into individual subsystems.
Then divide each subsystem further into the activities
that will be required to develop it.
Next, you make a series of detailed estimates foreach individual activit .
And sum the results to arrive at the rand total
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
4
estimate for the project.
-
8/9/2019 5. Measurement n Estimation I
5/43
-
8/9/2019 5. Measurement n Estimation I
6/43
Principles of effective Cost Estimation
Principle 3: Base your estimates on past experiencecombined with knowledge of the current project.
similarities with a past project: You can expect it to take a similar amount of work.
Base your estimates on the personal judgementof yourexperts
or
Use algorithmic modelsdeveloped in the softwareindustry as a whole by analyzing a wide range of
. They take into account various aspects of a projectssize and complexity, and provide formulas to
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
6
compute anticipated cost.
-
8/9/2019 5. Measurement n Estimation I
7/43
Principles of effective Cost Estimation
Principle 4: Be sure to account for differenceswhen.
Different software developers Different types of customers and users Different technology
Different domains
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
7
-
8/9/2019 5. Measurement n Estimation I
8/43
Principles of effective Cost Estimation
Principle 5: Anticipate the worst case and plan forcontingencies.
If the project runs into difficulty, then the criticalfeatures are more likel to have been com leted
Make three estimates:
Optimistic (O) Imagining a case of everything going perfectly
Likely (L)
Allowing for typical things going wrong Pessimistic
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
8
Accounting for everything that could go wrong
-
8/9/2019 5. Measurement n Estimation I
9/43
Principles of effective Cost Estimation
. Use several different techniques and compare the
results.
If there are discrepancies, analyze your calculationsto discover what factors are causing the differences.se e e p ec n que o a n e op n on o
experts without necessarily bringing them face to
face).Several individuals initially make cost estimates in
private.
discrepancies.
Each individual re eatedl ad usts his or her
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
9
estimates until a consensus is reached.
-
8/9/2019 5. Measurement n Estimation I
10/43
work progresses
s you a more eta s to t e pro ect.
As the requirements changes occur.
As the risk management process
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
10
.
-
8/9/2019 5. Measurement n Estimation I
11/43
Estimation
Schedule and Cost
Size determines how much effort is required.
changing the resource allocation.
Manpower and months are not fully interchange-
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
11
.
-
8/9/2019 5. Measurement n Estimation I
12/43
Cost Estimation
Cost estimation is related to effort estimation and is necessary forscheduling/planning.
- .
15% of large projects never deliver.
Classic Methods for Cost Estimation
Theoretical (Models based on theory)
Advanced Methods for Cost Estimation
Artificial Intelligence (AI) Component-Based Reuse (CBR)
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
12
e eve opment ec n ques e ase et o s
-
8/9/2019 5. Measurement n Estimation I
13/43
-
8/9/2019 5. Measurement n Estimation I
14/43
Meta-Model
,
come up with its own model with proper set offactors
Based on an empirical method, i.e. use ofprev ous ata to est mate new pro ects
algorithmic, analogy, experts,
Theoretical methods use global assumptions
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
14
-
8/9/2019 5. Measurement n Estimation I
15/43
Model Format
Background or base equation
of the project.
Project factors (e.g. Cost Drivers in COCOMO)
and actual project effort in database projectsdocumented set of ro ects com leted.
Use the model to redict the effort.
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
15
-
8/9/2019 5. Measurement n Estimation I
16/43
Background Equation
Total and new lines of code and modules
Measures of effort
- -
Form of the equation
* . = Development Effort 2. E = a * Sb
*b
. Calculating the equation parameters which can
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
16
-
8/9/2019 5. Measurement n Estimation I
17/43
Project Factors
Choosing a set of factors
Grouping and compressing this data
Incorporating the factors to predictdeviation from base-line
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
17
-
8/9/2019 5. Measurement n Estimation I
18/43
Groups of Factors
Methodology
Top down design Formal documentation
Chief programmer teams
Unit development folders
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
18
orma ra n ng
-
8/9/2019 5. Measurement n Estimation I
19/43
Groups of Factors
Complexity
Customer-initiated design changesApplication process
Internal communicationExternal communication
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
19
-
8/9/2019 5. Measurement n Estimation I
20/43
Groups of Factors
Programmer qualifications
Programmer experience with machine
Programmer experience with language
Measurement and
Estimation IMCS8301 - Software Engineering
Mana ement
20
-
8/9/2019 5. Measurement n Estimation I
21/43
Incorporating Factors
. .
regression - measuring the degree to whichone inde endent variable correlates to thedependent variableto find the effect of
factors
Considering only Methodology and,
Low and High binary attributes we canestimated development effort as:
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
21
Effort = SizeA * 10B
-
8/9/2019 5. Measurement n Estimation I
22/43
Applying the Model
Estimate the size of the project code
Estimate the effort using base-line (the modelbased on baseline (minimum) characteristics.
Estimate factors (methodology, complexity,
Compute the factors-incorporated estimate
(improvement of the baseline estimate)
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
22
-
8/9/2019 5. Measurement n Estimation I
23/43
Some Estimation Methods issues
Parkinson's Law The project costs whatever resources are available Advantages:
Disadvantages: System is usually unfinished
Algorithmic Cost Modelling
Cost is estimated as a mathematical function of product,by project managers
The function is derived from a study of historical costing
Most commonly used product attribute for cost estimation isLOC (code size)
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
23
values.
-
8/9/2019 5. Measurement n Estimation I
24/43
Some Estimation Methods issues contd
One or more experts in both software development and the
application domain use their experience to predict software costs.Process iterates until some consensus is reached.
Advantages: Relatively cheap estimation method. Can be accurate if
experts have direct experience of similar systems Disadvantages:
Very inaccurate if there are no experts!
r c ng to w n The project costs whatever the customer has to spend on it Advantages:
ou ge e con rac Disadvantages: The probability that the customer gets the system he or she
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
24
. Costs do not accurately reflect the work required
-
8/9/2019 5. Measurement n Estimation I
25/43
Cost-Estimation Techniques
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
25
-
8/9/2019 5. Measurement n Estimation I
26/43
Software Cost Estimation Accuracy
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
26
-
8/9/2019 5. Measurement n Estimation I
27/43
Algorithmic Models
Allow you to systematically estimate development.
Based on an estimate of some other factor that,
The number of use cases
The number of classes in the domain model
prototype user interface
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
27
-
8/9/2019 5. Measurement n Estimation I
28/43
gor m c o e s
like the following:
st nstruct ve e :
Effo rt E = a + b N c
S iz e S = W 1
F1
+ W2
F2
+ W3
F3
+
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
28
-
8/9/2019 5. Measurement n Estimation I
29/43
COCOMO ns ruc ve s e Basic (gives an initial estimate of man-months and
develo ment time
Early stages of Project MMNOM= a * KDSIb ; (Time in man-months) TDEV = c * MMDEVd (Development Schedule)
Intermediate (gives a more detailed estimate for small
Main development phases
Detailed (which gives a more detailed estimates forlarge projects).
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
29
Effect of different factors on individual phases.
-
8/9/2019 5. Measurement n Estimation I
30/43
Intermediate COCOMO
Step-1: Nominal effort (MM) estimation as a
- driver attributes
Step-3: Estimate development efforts
Step-4: Use additional factors to determine cost,
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
30
, ,
-
8/9/2019 5. Measurement n Estimation I
31/43
Development Mode for Model
Or anic Stable and in-house familiar ro ects unconstrained MMNOM= 3.2 * KDSI1.05 TDEV = 2.5 * MMDEV 0.38
Semidetached (Intermediate between Organic and Embedded Mode)
MMNOM= 3.0 * KDSI1.12 TDEV = 2.5 * M 0.35
Embedded (More ambitious, unique and constrained projects)
MMNOM= 2.8 * KDSI1.20 TDEV = 2.5 * MMDEV 0.32
The coefficients used are ad usted for each to cater for the a re ate effect
of the cost of factors.
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
31
environments.
-
8/9/2019 5. Measurement n Estimation I
32/43
Development Effort Multipliers
Boehm recommends using the 15 Cost Factors above to evaluate each Projectwith each factor being assessed as being Very Low, Low, Nominal, High, Very
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
32
High or Extra High (plus definitions) and associated with multiplying factor.
-
8/9/2019 5. Measurement n Estimation I
33/43
The Rayleigh-Putnam Curve
ses a nega ve exponen a curve as an n ca or o cumu a vestaff-power distribution over time during a project.
, , ,
languages, methodology, quality assurance procedures.standards etc. It is determined on the basis of historical dataast ro ects .
C is determined from project size, area under effort curve, and
project duration.
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
33
-
8/9/2019 5. Measurement n Estimation I
34/43
The Rayleigh-Putnam Curve contd
Rating: C = 2000 -- poor, C = 8000 -- good, C.
Effort and productivity change whendevelo ment time varies between 2 and 3
years:
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
34
-
8/9/2019 5. Measurement n Estimation I
35/43
Difficulties of Software Cost Estimation
Complexity
Not enou h effort for estimation
Infrequency
Lack of experience
Underestimation bias
Human nature
Goals not estimates
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
35
g er managemen
-
8/9/2019 5. Measurement n Estimation I
36/43
CBR in Effort Estimation
Case-Based Reasoning (CBR) uses analogical
Retrieving solutions to a target problem from
Mapping the source elements to target spaceo strong t eoret ca mo e
Ill-defined, incomplete, and inconsistentdomain rules
Appropriate for software estimation
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
36
-
8/9/2019 5. Measurement n Estimation I
37/43
IF
Staff size of source is small
ANDStaff size of target is large
Increase the effort estimation by 20%
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
37
-
8/9/2019 5. Measurement n Estimation I
38/43
COCOMO-2
Problems with original COCOMO
COTS and re-use Object-Oriented Programming (OOP)
COCOMO-2 defines three stages
Design -
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
38
-
8/9/2019 5. Measurement n Estimation I
39/43
- z
Stage 1
Unadjusted Function Points Stages 2 and 3
Source lines of code
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
39
ages an
-
8/9/2019 5. Measurement n Estimation I
40/43
New Cost Drivers
Team cohesion
Software developed for reuse
Software process maturity (somewhat
practices)
Multi-site development (somewhat replacing
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
40
.
-
8/9/2019 5. Measurement n Estimation I
41/43
Other Differences
Non-linear re-use modeling
Scalin
Scaling factors instead of models
Size-dependent productivity range
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
41
S li
-
8/9/2019 5. Measurement n Estimation I
42/43
Scaling Effort = A SizeB
B > 1: diseconomies of scale (Dis-economies of scale occurwhen a business grows so large that the costs per unitincrease.
B = 1: linear B < 1: economies of scale
In Ada-COCOMO B varies between 1.04 to 1.24 depending on
projects progress in reducing diseconomies of scale via risk, , ,process maturity.
-
B = 1.01 + 0.01 Wi Precedentedness, flexibility, risk resolution, team cohesion,
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
42
and process maturity.
-
8/9/2019 5. Measurement n Estimation I
43/43
Variations of COCOMO Model
Estimation without the cost drivers in person-per-
- -
The intermediate model is more accurate than thebasic model.
Measurement andEstimation I
MCS8301 - Software EngineeringMana ement
43