1 540f07cost10 question of the day u how important is it to be able to estimate the cost of a...
TRANSCRIPT
1540f07cost10
Question of the Day
How important is it to be able to estimate the cost of a software project?
2540f07cost10
exam preview – 150 pts – 10/11/07
1. (30 pts) requirementscreate scenarios for a problem
2. (30 pts) PERT diagrams3. (20 pts) Cost Estimation4. (40 pts) definitions and short discussions5. (30 pts) 10 multiple choice
One crib sheet (8.5 by 11, handwritten) allowed, turn in with exam
3540f07cost10
PERT Diagrams
Program Evaluation and Review Technique
a1
a2
a3
a4
a5
4540f07cost10
Critical Path
If there are N tasks with dependencies between the tasks, what set of tasks determines the minimum completion time for the whole project?
This is the critical path.
5540f07cost10
Critical Path Algorithm (part 1)
For each node (until completion time of all nodes are calculated)
» if the predecessors are completed, then take latest completions time and add required time for this node;
» this is the completion time.
The node with the latest completion time determines the earliest completion time for project.
6540f07cost10
Example
Node pred time start finish critA 5B A 8C B 7D A 4E D 6
7540f07cost10
Critical Path Algorithm (part 2)
Starting with the node with latest completion time, mark it as critical.
Select predecessor node with latest completion time, mark it as critical.
Continue until reaching start node.
8540f07cost10
Example
Node pred time start finish critA 5 0 5 *B A 8 5 13 *C B 7 13 20 *D A 4 5 9E D 6 9 15
9540f07cost10
Critical Path Algorithm (part 3)
Slack time is the amount of time that a specific task can be delayed without changing the project delivery time
For each noncritical node starting with the last node, determine the earliest of the latest start times of the successor nodes. This is the latest completion time. Make the latest start time for the node to reflect this time.
10540f07cost10
Example
Node pred time start finish critA 5 0 5 *B A 8 5 13 *C B 7 13 20 *D A 4 5,10 9,14E D 6 9,14 15,20
11540f07cost10
TTYP
Node pred time start finish crit A 3 0 B A 2 C A 10 D B,C 14 E D 4
12540f07cost10
Cost Estimation
An estimate of the effort and duration, associated costs of equipment, travel and
training and the rationale for the calculations
13540f07cost10
Recommendation
If you are involved with cost estimation, I recommend the following book
Tom DeMarco, Controlling Software Projects, Yourdon Press, NY c1982
14540f07cost10
Definition of Estimate (DeMarco)
Default:– "An estimate is the most optimistic prediction
that has a non-zero probability of coming true" Proposed:
– "An estimate is a prediction that is equally likely to be above or below the actual result"
15540f07cost10
Estimates should not become goals
DeMarco argues that the estimation and the management decision about pricing or goals should be separate.
16540f07cost10
Estimate
cost
estimate price
17540f07cost10
Cost Estimate
should not be a contract bid should not be a schedule should be input into the management
decision to determine the above should be re-estimated frequently
18540f07cost10
TTYP1 Given the following data, what would be
your estimate for a project that would be about 200K? What would you use for a cost estimation formula?
Historical data– project 1 100K 50 prog-months– project 2 20K 10 prog-months– project 3 14K 7 prog-months– project 4 16K 8 prog-months
19540f07cost10
Confidence in your estimate
How confidence are you in this estimate? Would you stake your job/grade on this
estimate? What would be your concerns? What could you do to increase your
confidence? What would you consider to be a successful
estimate?
20540f07cost10
Problems Programmer variability Product complexity Variability of goal Conflict of goals Lack of detailed product description Variation in effort to reuse code Emergence of new processes, methods and
tools
21540f07cost10
Cost Estimation Models
LOC models– Boehm's COCOMO– Price S– Putnam's Model (SLIM)
non-LOC models– Function Points
combination– COCOMO2
22540f07cost10
Prediction Formulas
E=X
>1
<1
=1
TTYP2 – which one did Henry Ford experience?Which one happens in your project?
Size
cost
A non-zero gamma would shift line up or down
23540f07cost10
Tuesday, 10/2
Read
SOS section 4.4.3