planificación del proyecto estimación

5
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 m 12756 km 41277 sq km

Upload: proexport

Post on 30-Oct-2014

5 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 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

Page 2: Planificación del proyecto   estimación

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

Page 3: Planificación del proyecto   estimación

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?

Page 4: Planificación del proyecto   estimación

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.

Page 5: Planificación del proyecto   estimación

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