effort estimation ( 估计 ) and scheduling ( 时序安排 ) presented by basker george

35
Effort Estimation ( 估 估) And Scheduling ( 估估估 估) Presented by Basker George

Upload: anastasia-crawford

Post on 14-Jan-2016

265 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation ( 估计 )

And Scheduling ( 时序安排 )

Presented by Basker George

Page 2: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation & Scheduling

Most difficult & important activities in managing project

Important estimate : Effort, Schedule & Cost

If effort estimate is available, it is easy to determine schedule estimate.

Hence for effective planning, effort & schedule estimate is required for the project & various task of project.

Page 3: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation & Scheduling

The contract between Vendor & Customer is based on cost & schedule Estimates.

In case there is a project overrun ( 蔓延 ) the customer will not pay more

Hence good estimation is essential for any software organization.

Without good EFFORT estimate, effective planning of software project is not possible.

Page 4: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation & Scheduling

A proper effort estimation method is a requirement for Software Project Planning KPA of CMM level 2.

“Good estimation method are available for projects” is the requirement of “Integrated Software Management” KPA of CMM level 3.

Use of past estimation data for future projects is the requirement for “Quantitative Process Management” KPA of CMM Level 4.

Page 5: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation Effort estimation usually takes place at the

early stage of the project Effort estimation can rely on “gut feeling”

or previous experience (CMM level 1) A scientific approach is to use a estimation

model for obtaining the effort estimates We shall study the estimation models

Page 6: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effort Estimation Model ( 型 ) A software estimation model defines

precisely which values are needed & how these values can be used to compute the effort.

Size of the software is a major factor in determining how much effort is needed to build it.

Page 7: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Cont…… Hence with the estimation of size, we can e

stimate the efforts One approach for estimating size is to deco

mpose ( 分解 ) the system into smaller parts & then estimate the size of the system based on size of its parts.

Page 8: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Cont…… This approach is preferred, as

estimating size for smaller system is easier than carrying out the same task for a larger system.

If function points are used for size, then the size in function points can be counted using function point rules.

The size can also be counted in terms of LOC

Page 9: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Knowledge about Software project

Extract values of some

characteristic

Estimation Model

Effort Estimate

Page 10: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Top-Down Approach

In Top-Down approach for estimation of effort, some equation is used to estimate the total effort required for entire project.

Then the efforts for different phase are determined as percentage of the total effort.

COCOMO model is the most famous model for effort estimation using top-down approach.

http://www.cs.unc.edu/~stotts/COMP145/cocomo.html

Page 11: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Bottom-Up Approach In this approach, the estimate is first

obtained for parts of the project, then the overall estimate is obtained.

That is, major activities are identified & then estimation is done for each activity.

Form this estimate, the effort for overall project is obtained.

This approach does not require size to be estimated.

Page 12: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Bottom-Up Approach This approach can be used without the

use of past data. Experience may be used to estimate

the effort required for activity. This approach is also used when a

project involves mix of different software language & technologies, making size estimation difficult.

Page 13: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Bottom-Up Approach

The risk involved in bottom-up approach are: Miss some important activity Difficult to estimate task overhead

(project management which can span the entire project)

Page 14: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Conclusion Both top-down & bottom-up approach

require information about the project to estimate Size for Top-Down approach List of task for Bottom-Top approach

Both types of estimates become more accurate if more information is available about the project or as the projects proceeds.

Page 15: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Building Estimation Models

Size based Top-Down estimation model are generally built from data taken from completed projects

Many factors affect the effort required for a project.

There are around 68 factors that affect productivity.

Page 16: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Building Estimation Models

The COCOMO model first estimates the efforts based on size & then correcting the estimates based on the values of 15 different parameters Complexity Database size Performance requirement etc..

Page 17: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Estimation at Infosys At infosys estimation takes place after

analysis For projects that has little past data,

bottom-up approach is used. As the types of projects undertaken at

Infosys vary substantially, the bottom up approach is preferred & recommended.

If past data & capability baseline is available, then task based approach is used.

Page 18: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Estimation at Infosys For Bottom-Up approach, the software

under development is first divided into major program (or Units).

Each program unit is classified as simple, medium & complex based on some criteria.

For each classification some standard “Build effort” (coding & testing) is identified.

Page 19: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Estimation at Infosys Once the Build effort for each program

unit is known, then total effort for BUILD PHASE of the project is known.

Once the effort for coding is known, the efforts for other phase of project is determined as percentage of coding effort.

From these estimates the total efforts for the project is obtained.

Page 20: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Steps for Estimation.1. Identify programs in the system & classify

them as Simple, Medium & complex(S/M/C).

2. If PCB exists, Get average build effort for S/M/C program from baseline.

3. If project-specific baseline does not exists, use project type, technology, language & other attributes to look for similar projects in PDB. Use data from these projects to define the build efforts for S/M/C programs.

Page 21: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Steps for Estimation.

4. If no similar projects exists in PDB & no project specific baseline exists, (say project is new technology), use average build efforts for S/M/C programs from the general process capability baseline.

5. Use project-specific factors to further refine the build effort for S/M/C programs.

Page 22: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Steps for Estimation.

6. Get the total build effort using the build effort for S/M/C programs.

7. Use the effort distribution data in the capability baseline or similar projects in the PDB to estimate the efforts for other tasks & the total effort.

8. Refine the estimate based on project-specific factors.

Page 23: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Effectiveness of the approach

A common way of analyzing the effectiveness of an estimation approach is to see how the estimated effort compares with the actual effort.

This comparison give a general idea about the accuracy of estimates

That is weather programmers were overstretched or underutilized.

Page 24: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Actual versus estimated effort

0 500 1000 1500 2000 2500 3000

3500

2000

0

Page 25: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Top Down Estimation

This approach starts with the estimation of size of the software.

The size is estimated in terms of function points or LOC

Page 26: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Top Down Estimation overall approach

1. Get the estimate of total size in function points

2. Use productivity data in the process capability baseline for similar process type or productivity data in the process database for similar projects to fix productivity level for the project.

3. Obtain the overall effort estimate from productivity & size estimates.

Page 27: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Top Down Estimation

4. Use effort distribution data from the process capability baseline (or similar projects)_to estimate the effort for different phases.

5. Refine the estimates, taking project-specific factors into consideration

Page 28: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Scheduling ( 时序安排 ) Scheduling activity can be broken into

two sub activity 1) Determine overall schedule (project

duration) with milestone

2) Detail schedule of various tasks

Page 29: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

1) Overall Scheduling Once the effort is known, the various

schedule are determined depending upon resources(people).

Overall schedule for the project is driven more by the business requirement of customer.

Also schedule for major milestone is also fixed.

Page 30: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Manpower BuildUp

Peak Team Size

Design Build Test

Page 31: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Actual versus estimated efforts for recently completed projects

0 100 200 300 400 500 600

600

300

0

Page 32: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

2) Detailed Schedule The detailed schedule is

determined by refining each task in the top-level schedule.

Each activity under top-level activity is scheduled in a manner such that the schedule for the top-level activity can be met.

Page 33: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Cont…

The final schedule lists all the task to be done in the project, along with start date, end date, assigned personnel & other information for each task.

For detailed scheduling features of MSP (Microsoft Project) can be used.

Page 34: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Cont.. For each activity listed in MSP

Activity code Program code Module code The effort Duration Start date End date resources needed and resource dependency

(same resource by two task) are also specified

Page 35: Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George

Cont.. After all these inputs are entered, the resource loa

ding analysis is performed using MSP MSP eventually gives Loading of resources Hence if some activity are overloaded or under loa

ded, activity or resource can be modified for balanced load.

As changes occur, MSP is also kept current to reflect the actual status of the project.

This schedule is useful as a key in project monitoring & control system.