Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela
Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela
Price to win
Pricing to win
‘Price to win’ is setting a target that is likely to win business when
tendering for work
The project costs whatever the customer can spend on it.
Advantages:You get the contract
Disadvantages: Costs do not accurately reflect the work required.
Either:
◦ (1) the customer does not get the desired system or
◦ (2) the customer overpays.
Pricing to win
This approach may seem unethical and unbusiness-like….
◦ However, when detailed information is lacking it may be the only
appropriate strategy…
Which is the most ethical approach?
◦ The project cost is agreed on the basis of an outline proposal and
the development is constrained by that cost
◦ A detailed specification may be negotiated or an evolutionary
approach used for system development
Project Parameters to be Estimated
For project planning, we need:
◦ Effort (cost)
◦ Duration
3. Consensus estimating
4. Delphi
Basic Expert Judgment
One or more experts predict software costs.
◦ Process iterates until some consensus is reached.
Estimated effort = (O + 4M + P ) / 6
Consensus estimating
Steps in conducting a consensus estimating session:
A briefing is provided to the estimating team on the project.
Each person is provided with a list of work components to estimate.
Each person independently estimates O, M and P for each work
component.
The estimates are written up on the whiteboard.
Each person discusses the basis and assumptions for their estimates.
A revised set of estimates is produced.
Averages for the O, M and P values are calculated.
These values are used in the formula.
Delphi Estimation
A variation of consensus estimation technique
Team of Experts and a coordinator.
Experts carry out estimation independently:
◦ mention the rationale behind their estimation.
◦ coordinator notes down any extraordinary rationale:
circulates the estimation rationale among experts.
Experts re-estimate.
Experts never meet each other
◦ to discuss their viewpoints.
Delphi
Delphi is an expert survey in two or more "rounds".
Starting from the second round, a feedback is given (about
the results of previous rounds).
The same experts assess the same matters once more -
influenced by the opinions of the other experts
important: anonymity
Delphi Method: Steps
1. Coordinator presents each expert with a specification & an estimation
form.
2. Coordinator calls a group meeting in which the experts discuss
estimation issues with the coordinator.
3. Experts fill out forms anonymously.
4. Coordinator prepares and distributes a summary of the estimation on
an iteration form.
5. Coordinator calls a group meeting, specially mentioning the noted
rationale where the estimates varied widely.
6. Experts fill out forms, again anonymously, and Steps 4 and 6 are iterated
for as many rounds as appropriate.
Types of Estimation Techniques
Though there are many techniques of estimating, they can
broadly be classified into:
◦ Top-down
◦ Bottom-up
What about:
◦ Algorithmic models?
◦ Expert opinion?
◦ Analogy ?
◦ Price to win?
Bottom-up versus top-down
Bottom-up
◦ identify all tasks that have to be done – so quite time-
consuming
◦ use when you have no data about similar past projects
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 the project activities into smaller and smaller
components
Stop when you get to what one person can do in
one/two weeks
2. Estimate costs for the lowest level activities
3. At each higher level calculate estimate by adding
estimates for lower levels
Top-down estimates
Estimate Produce overall estimate
overall 100 days using effort driver(s)
project
Distribute proportions of
overall estimate to
design code test components
30% 30% 40%
i.e. i.e. i.e. 40 days
30 days 30 days
Top-down Example
Top-Down Estimating: Pros
It accounts for system-level activities such as integration,
documentation, configuration management, etc.: