Planificación del proyecto estimación
description
Transcript of Planificación del proyecto estimación
06-Feb-2012
1
Session 5
Software estimation
The perspective of estimation
First encounter
with your client
“What is your
price?”
Getting to know
each other
Pricing strategy
General Terms and
Conditions
Project proposal
and requirements
Estimation
Contracting
Detailed pricing
SLA and conditions
“Estimation is the activity with the highest degree of uncertainty throughout the whole development,- and project lifecycle”
True or not?
Estimation exercise
• Choose one of the collaboration techniques– Estimate as a group, come to consensus– Divide the work among you, estimate individually
Estimation Questions
1. What is the average distance of the Moon from the Earth?
2. What is the height of the highest mountain?3. What is the diameter of the Earth?4. What is the area of Switzerland?
384400 km
8848 m12756 km
41277 sq km
06-Feb-2012
2
Estimation
• Estimate a Range, negotiate a number
• Numbers are for facts Ranges are for estimates
WHAT DO WE NEED TO KNOW FOR SOFTWARE ESTIMATION?
• The sizes of major deliverables, such as specifications, source code, and manuals
• The rate at which requirements are likely to change during development
• The probable number of bugs or defects that are likely to be encountered
• The capabilities of the development team
• The salaries and overhead costs associated with the development team
• The tools that are going to be utilized on the project• The set of activities that are going to be carried out• The cost and schedule constraints set by clients of the project being
estimated
WBS - GANTT
WBS
• A WBS is a logical hierarchy of deliverables• A WBS is an essential tool in the project planning
process• Does not represent the relationships and dependencies
between activities• A WBS helps to define the work required for the project
and to break it into manageable pieces• A good WBS can help in the development of schedules,
project plans, budgets, project control and resource requirements
WBS - Development
1. Take the committed deliverables2. Decompose the deliverables down to activity level
� 7 (+/- 2) activities for any WBS entry. If not:• Split entries• Combine activities
3. Validate, bottom-up
06-Feb-2012
3
WBS – Final steps
• Risk assessment• Milestones• Develop WBS from the top down; not bottom up• Don’t exceed about 5 levels in a WBS• Check to make sure that the WBS is consistent with the
project charter
GANTT
GANTT - Development
• Represents dependences between activities• Activities (from WBS) +
– Duration
– Person responsible– Person authorizes completion
(John & Mary)
(Pete)
ESTIMATION OR GUESTIMATION?
06-Feb-2012
4
Group work
• Create a clear, step-by-step process for software estimation
• At each step indicate the uncertainty in the process, where is it coming from and how can you eliminate it
• Present your software estimation process
Issues and challenges
� Lack of historical data� No formal method for
estimation� No estimation updates
Estimation and the cone of uncertainty
“The further a project progressed, the more accurate the estimates for the remaining effort and time became”
Barry Boehm,
"If I give you another week to work on your estimate, can you refine it so that it contains less uncertainty?"
The cone of uncertainty
Degree of error:4 / 0.25 = 16
That’s a reasonable request, but unfortunately it’s not possible to deliver on that request. Research has found that the accuracy of the software estimate depends on the level of refinement of the software’s definition. The more refined the definition, the more accurate the estimate.
The Cone represents the
error in estimates created
by skilled estimators.
It’s easily possible to do
worse.
It isn’t possible to be more
accurate; it’s only possible
to be more lucky.
06-Feb-2012
5
A smaller-than-actual project is planned, understaffing, missing essential tasks. As a result defect rates and costs increase.Most project teams underestimate by a factor of 2!
Underestimation
OverestimationWork expands to fill available time.
Accurate estimate +/- 5-10%
What do we estimate?
• Effort• Cost• Schedule
Software estimation process1. Analyse requirements2. Plan activities3. Start sizing the project by using;
– Estimation tools– Counting Function Points– Analogy with other projects and industry averages– Guessing the size
• By the project manager• By the programmer team• By Wideband-Delphi
4. Estimate defect potential, defect removal and cha nging requirements5. Estimate staffing requirements6. Adjust based on staff experience and capabilities7. Create schedule and effort estimates
Software estimation process (continuation)
7. For cost estimates and budget you need to know:– Salaries– Overhead applied for the project– Inflation rate– Currency excahnge rates– Licence fees– Equipment– Travel and living costs– Contractors and subcontractors– Legal fees– Marketing and advertising– Content acquisition