What Makes A Successful Project?: Stages: 1. Set Targets 2. Attempt To Achieve Targets
What Makes A Successful Project?: Stages: 1. Set Targets 2. Attempt To Achieve Targets
successful project?
Delivering:
Stages:
agreed functionality
1. set targets
on time
2. Attempt to
at the agreed cost
achieve targets
with the required
quality
Software Effort
estimation Techniques
Bottom-up
Top-down
Analogy - case-based, comparative
algorithmic models e.g. function points
Parametric- COCOMO (Based on parameters)
Parkinson-which identifies the staff effort
available to do a project and uses that as the
estimate
price to win- where estimate is a figure that
appears to be sufficiently low to win a contract
Expert opinion - just guessing?
2
Top-down
produce overall estimate based on project cost
drivers
based on past project data
divide overall estimate between jobs to be done
Bottom-up estimating
1. Break project into smaller and
smaller components
2. Estimate costs for the lowest level
activities
3. At each higher level calculate
estimate by adding estimates for
lower levels
4
Top-down estimates
Estimate
100 days
Produce overall
estimate using
effort driver (s)
overall
project
design
code
test
30%
i.e.
30 days
30%
i.e.
30 days
40%
i.e. 40 days
distribute
proportions of
overall estimate
to components
Parametric models
Some models like Function Points
focus on task or system size
FPs originally used to estimate
Lines of Code, rather than effort
Number
of file types
system
size
model
Numbers of input
and output transaction types
7
10
11
12
Productivity= size/effort
Effort=size/productivity
13
#entities
accessed
#input
items
data items
input (Ni)
data items
output (No)
entity types
accessed (Ne)
#output
items
COCOMO
Model proposed by Boehm
Basic model
effort = c x sizek
C and k depend on the type of
system: organic, semi-detached,
embedded
Size is measured in kloc ie.
Thousands of lines of code
15
Organic (broadly,
information
systems)
2.4
1.05
Semi-detached
3.0
1.12
Embedded
3.6
1.20
(broadly, realtime)
k exponentiation to the power of
adds disproportionately more effort to the larger projects
takes account of bigger management overheads
16
17
18
COCOMO II
A new family of models, COCOMO II, is being refined by Barry Boehm and his
co-workers.
COCO MO II
has been designed to accommodate this by having models for three different
stages.
Application composition: Where the external features of the system that the
users will experience are designed. Prototyping will typically be employed to do
This.
Early design: Where the fundamental software structures are designed.
With larger, more demanding systems, where, for example, there will be large
volumes of transactions and performance is important, careful attention will
need to be paid to the architecture to be adopted.
Post architecture : Where the software structures undergo final construction.
modification and tuning to create a system that will perform as required.
19
20
21
22
Estimating by analogy
Use effort
from source
as
estimate
source cases
attribute values
effort
attribute values
effort
attribute values
effort
attribute values
effort
attribute values
effort
attribute values
effort
target case
attribute values
?????
Select case
with closet attribute
values
23
Stages: identify
Significant features of the current
project
previous project(s) with similar
features
differences between the current and
previous projects
possible reasons for error (risk)
measures to reduce uncertainty
24
Euclidean distance =
sq root of ((Target_parameter1Source_parameter1)2 + ...(Target_parameternSource_parametern)2 )
25
Number of
inputs
It-Is
Ot-Os
target
Number of outputs