Top Banner
Session 5 Scheduling Emanuele Della Valle http://home.dei.polimi.it/dellavalle Lecturer: Dario Cerizza
67
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: P&msp2010 05 scheduling

Session 5

SchedulingEmanuele Della Vallehttp://home.dei.polimi.it/dellavalle

Lecturer: Dario Cerizza

Page 2: P&msp2010 05 scheduling

Credits 2

This slides are partially based on CEFRIEL’s slides for PMI Certification and largely based on Prof. John M l t “P i i l f S ft P j t Musser class notes on “Principles of Software Project Management”

O i i l lid il bl t Original slides are available at http://www.projectreference.com/

Reuse and republish permission was grantedReuse and republish permission was granted

Planning and Managing Software Projects – Emanuele Della Valle

Page 3: P&msp2010 05 scheduling

Today 3

Session 4 review

Scheduling FundamentalsScheduling Fundamentals

Scheduling Techniques• Network DiagramsNetwork Diagrams• Bar Charts

Schedule Optimization TechniquesSchedule Optimization Techniques

Mythical Man-Month

Planning and Managing Software Projects – Emanuele Della Valle

Page 4: P&msp2010 05 scheduling

Session 4 Review 4

WBS

EstimationEstimation

Planning and Managing Software Projects – Emanuele Della Valle

Page 5: P&msp2010 05 scheduling

Session 4 ReviewWBS 5

Types: Process, Product, Hybrid

Formats: Outline or graphical organizational chartFormats: Outline or graphical organizational chart

High-level WBS does not show dependencies or durationsdu at o s

WBS becomes input to many things, esp. schedule

What hurts most is what’s missingWhat hurts most is what’s missing

Planning and Managing Software Projects – Emanuele Della Valle

Page 6: P&msp2010 05 scheduling

Session 4 ReviewEstimation 6

“The single most important task of a project: setting realistic expectations. Unrealistic expectations based

i t ti t th i l l t f on inaccurate estimates are the single largest cause of software failure.” Futrell, Shafer, Shafer, “Quality Software Project Management”So t a e oject a age e t

Session 4 continuation• http://www.emanueledellavalle.org/slides/P&MSP2009http://www.emanueledellavalle.org/slides/P&MSP2009_

05_WBS-Estimation-&-Scheduling.ppt– 55. Effort Estimation

Planning and Managing Software Projects – Emanuele Della Valle

Page 7: P&msp2010 05 scheduling

Session 4 ReviewEstimation 7

History is your best ally• Especially when using Function Points, LOC (Lines of

Code) Code), …

Use multiple methods if possible• This reduces your riskThis reduces your risk• If using “experts”, use two

Get buy-iny

Remember: it’s an iterative process!

Know your “presentation” techniquesKnow your presentation techniques

Planning and Managing Software Projects – Emanuele Della Valle

Page 8: P&msp2010 05 scheduling

Session 4 ReviewEstimation 8

Bottom-up– More work to create but more accurate– Often with Expert Judgment at the task level

Top-downU d i th li t h– Used in the earliest phases

– Usually as is the case with Analogy or Expert Judgment

AnalogyAnalogy– Comparison with previous project: formal or informal

Expert JudgmentExpert Judgment– Via staff members who will do the work– Most common technique along with analogy– Best if multiple ‘experts’ consulted

Planning and Managing Software Projects – Emanuele Della Valle

Page 9: P&msp2010 05 scheduling

Session 4 ReviewEstimation 9

Parametric Methods• Know the trade-offs of: LOC & Function Points

Function PointsFunction Points• Benefit: relatively independent of the technology used to

develop the system• We will re-visit this briefly later in semester (when

discussing “software metrics”)

Planning and Managing Software Projects – Emanuele Della Valle

Page 10: P&msp2010 05 scheduling

Today 10

Session 4 review

Scheduling FundamentalsScheduling Fundamentals

Scheduling Techniques• Network DiagramsNetwork Diagrams• Bar Charts

Schedule Optimization TechniquesSchedule Optimization Techniques

Mythical Man-Month

Planning and Managing Software Projects – Emanuele Della Valle

Page 11: P&msp2010 05 scheduling

Scheduling FundamentalsPlanning, Estimating and Scheduling 11

Initial Planning: – Why

h- SOW, Charter

– What/How (partial/1st pass)- WBS- Other planning documents

- Software Development Plan, Risk Mgmt., Cfg. Mgmt.

EstimatingEstimating– How much/How long

- Size (quantity/complexity) and Effort (duration)- It’s an iterative process

SchedulingI hi h d– In which order- Precedence, concurrences, lag & lead times, slack & float, …- It’s an iterative process

Planning and Managing Software Projects – Emanuele Della Valle

Page 12: P&msp2010 05 scheduling

Scheduling FundamentalsWhat Scheduling is 12

Once tasks (from the WBS) and size/effort (from estimation) are known: then schedule• Define the start and end time of each activity

Objective: trade-off of six objectives• Primary objectives

1. Best time2 Least cost2. Least cost3. Least risk

• Secondary objectives4. Evaluation of schedule alternatives5. Effective use of resources6. Communications6. Communications

Planning and Managing Software Projects – Emanuele Della Valle

Page 13: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Precedence and Concurrence 13

Precedence: • A task that must occur before another is said to have

d f h hprecedence of the other

Concurrence:• Concurrent tasks are those that can occur at the same

time (in parallel)

Planning and Managing Software Projects – Emanuele Della Valle

Page 14: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Four task relationship types 14

Finish-to-start: “A f-to-s B”: the initiation of the successor activity depends upon completion of the FSdepends upon completion of the predecessor activity

Start-to-start: “A s-to-s B”: the

A BFS

AStart to start: A s-to-s B : the initiation of successor activity depends upon initiation of the predecessor activity

A

BSS

activity

Finish-to-finish: “A f-to-f B“: the completion of the successor activity

AFFcompletion of the successor activity

depends upon completion of the predecessor activity

BFF

Start-to-finish: “A s-to-f B“: the completion of the successor activity depends upon initiation of the

ASF

Planning and Managing Software Projects – Emanuele Della Valle

depends upon initiation of the predecessor activity

B

Page 15: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Lag Time 15

It means a delay between tasks in sequence

Example: if "A f-to-s B" and lag is equal to 10, B can Example: if A f to s B and lag is equal to 10, B can start only 10 days after A end

A FS + lagA

B

FS lag

timetimeLag Time

Planning and Managing Software Projects – Emanuele Della Valle

Page 16: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Lead Time 16

It means an advance between tasks in sequence

Example: if "A f-to-s B" and lead is equal to 10, B can Example: if A f to s B and lead is equal to 10, B can start 10 days before A end

A

B

FS - lead

B

time

Planning and Managing Software Projects – Emanuele Della Valle

Page 17: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Slack & Float 17

When then schedule contains several tasks, it may happen that there is some “free” time between tasks

FSFS

FS

Slack Time

Slack & Float: synonymous terms• We’ll use Slack• We ll use Slack

Two types of slack time: Free Slack and Total Slack

Planning and Managing Software Projects – Emanuele Della Valle

Page 18: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Free Slack 18

Free Slack: Maximum delay of a task without causing a delay for any downstream task

Example• A and B can be activated as soon as possible

l h• Relationships– “A finish-to-start C”– “B finish-to-start C”

Free Slack of Task B

Free Slack of Task B= Late Finish of B – Early Finish of B= Late Start of B – Early Start of B

Planning and Managing Software Projects – Emanuele Della Valle

= Late Start of B – Early Start of B

Page 19: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Total Slack 19

Total Slack: Maximum delay of a task without causing a delay for the total project (it can cause delays to th t k )other tasks)

Normally, if not specified, slack stands for total slack

Planning and Managing Software Projects – Emanuele Della Valle

Page 20: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Milestones 20

Identify crucial points in your schedule

Have a duration of zero

Sh i t d t i l di dShown as inverted triangle or a diamond

Often used at “review” or “delivery” timesO d b i i f h• Or at end or beginning of phases

• Ex: Software Requirements Review (SRR)• Ex: User Sign-off• Ex: User Sign off

Can be tied to contract terms

Planning and Managing Software Projects – Emanuele Della Valle

Page 21: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Milestones examples 21

Planning and Managing Software Projects – Emanuele Della Valle

Page 22: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Four Dependency Types 22

1. Mandatory Dependencies• “Hard logic” dependencies• Nature of the work dictates an ordering• Ex: UI design precedes UI implementation• Ex: Coding has to precede testing• Ex: Coding has to precede testing

2. Discretionary Dependencies“Soft logic” dependencies• “Soft logic” dependencies

• Determined by the project management team• Process-drivenProcess driven• Ex: Discretionary order of creating certain modules

NOTE: substantial process innovation often take place when “hard logic” dependencies are shown to be wrong

f

Planning and Managing Software Projects – Emanuele Della Valle

• Ex: Test first approaches

Page 23: P&msp2010 05 scheduling

Scheduling FundamentalsTerminology: Four Task Dependency Types 23

3. External Dependencies• Outside of the project itself• Ex: Release of 3rd party product; contract signoff• Ex: stakeholders, suppliers, year end

4. Resource Dependencies• Two task rely on the same resource• Ex: You have only one DBA but multiple DB tasks

Planning and Managing Software Projects – Emanuele Della Valle

Page 24: P&msp2010 05 scheduling

Today 24

Session 4 review

Scheduling FundamentalsScheduling Fundamentals

Scheduling Techniques• Network DiagramsNetwork Diagrams• Bar Charts

Schedule Optimization TechniquesSchedule Optimization Techniques

Mythical Man-Month

Planning and Managing Software Projects – Emanuele Della Valle

Page 25: P&msp2010 05 scheduling

Scheduling Techniques 25

Network Diagrams• CPM• PERT

Bar Charts• Gantt Chart• Milestone Chart

Planning and Managing Software Projects – Emanuele Della Valle

Page 26: P&msp2010 05 scheduling

Scheduling TechniquesNetwork Diagrams 26

Developed in the 1950’s

A graphical representation of the tasks necessary to A graphical representation of the tasks necessary to complete a project

Visualizes the flow of tasks & relationshipssua es t e o o tas s & e at o s ps

Planning and Managing Software Projects – Emanuele Della Valle

Page 27: P&msp2010 05 scheduling

Network DiagramsCPM & PERT 27

CPM• Critical Path Method

PERT• Program Evaluation and Review Technique

Sometimes treated synonymously

All are models using network diagrams

Planning and Managing Software Projects – Emanuele Della Valle

Page 28: P&msp2010 05 scheduling

Network DiagramsTwo classic formats 28

Two classic formats• AOA: Activity on Arrow• AON: Activity on Node

Each activity labeled with• Identifier (usually a letter/code)• Duration (in standard unit like days)

There are other variations of labeling

There is 1 start & 1 end event

Time goes from left to right

Planning and Managing Software Projects – Emanuele Della Valle

Page 29: P&msp2010 05 scheduling

Network DiagramsFormats 29

Planning and Managing Software Projects – Emanuele Della Valle

Page 30: P&msp2010 05 scheduling

Network DiagramsFormats 30

AOA• Activities on Arrows• Circles representing Events

– Such as ‘start’ or ‘end’ of a given task

• Lines representing Tasks• Lines representing Tasks– Thing being done ‘Build UI’

• a.k.a. Arrow Diagramming Method (ADM)

AONAON• Activities on Nodes

– Nodes can be circles or rectangles (usually latter)– Task information written on node

• Arrows are dependencies between tasks• a k a Precedence Diagramming Method (PDM)

Planning and Managing Software Projects – Emanuele Della Valle

• a.k.a. Precedence Diagramming Method (PDM)

Page 31: P&msp2010 05 scheduling

Network DiagramsCritical Path 31

“The specific set of sequential tasks upon which the project completion date depends”

All the tasks on the critical path have Free and Total Slack time = 0

All projects have a Critical Path

Accelerating non-critical tasks do not directly shorten g ythe schedule

Planning and Managing Software Projects – Emanuele Della Valle

Page 32: P&msp2010 05 scheduling

Network DiagramsCritical Path: an Example 32

Planning and Managing Software Projects – Emanuele Della Valle

Page 33: P&msp2010 05 scheduling

Network DiagramsCritical Path Method (CPM) 33

The process for determining and optimizing the critical path

Non-Critical Path tasks can start earlier or later without impacting completion date

Note: Critical Path may change to another as you shorten the current

Should be done in conjunction with the project manager & the functional manager

Based upon a 2-passes approach• Forward and Backward

Planning and Managing Software Projects – Emanuele Della Valle

Page 34: P&msp2010 05 scheduling

Network DiagramsCPM: Forward Pass 34

To determine early start (ES) and early finish (EF) times for each task

Work from left to right

Adding times to each node and each pathdd g t es to eac ode a d eac pat

Rule: when several tasks converge, the ES for the next task is the largest of preceding EF timesg p g

Planning and Managing Software Projects – Emanuele Della Valle

Page 35: P&msp2010 05 scheduling

Network DiagramsCPM: Example: Forward (part 1) 35

Planning and Managing Software Projects – Emanuele Della Valle

Page 36: P&msp2010 05 scheduling

Network DiagramsCPM: Example: Forward (part 2) 36

Planning and Managing Software Projects – Emanuele Della Valle

Page 37: P&msp2010 05 scheduling

Network DiagramsCPM: Backward Pass 37

To determine the last finish and last start times

Start at the end node and move backward leftStart at the end node and move backward left

Subtract duration from connecting node’s earliest start timet e

Rule: when several tasks converge, the last finish for the previous task is the smallest of following last start p gtimes

Planning and Managing Software Projects – Emanuele Della Valle

Page 38: P&msp2010 05 scheduling

Network DiagramsCPM: Example: Backward (part 1) 38

Planning and Managing Software Projects – Emanuele Della Valle

Page 39: P&msp2010 05 scheduling

Network DiagramsCPM: Example: Backward (part 2) 39

180

Planning and Managing Software Projects – Emanuele Della Valle

Page 40: P&msp2010 05 scheduling

Network DiagramsCPM: Example: Compute Slacks 40

Slack = Late Finish – Early Finish = Late Start – Early StartIt’s the Total Slack since the early and late dates are computed considering all the dependencies until the end of the project

30

0 0 0 0 0

1809090

Planning and Managing Software Projects – Emanuele Della Valle

Page 41: P&msp2010 05 scheduling

Network DiagramsCPM and Slack & Reserve 41

Planning and Managing Software Projects – Emanuele Della Valle

Page 42: P&msp2010 05 scheduling

Network DiagramsCPM and Slack & Reserve 42

Planning and Managing Software Projects – Emanuele Della Valle

Page 43: P&msp2010 05 scheduling

Network DiagramsCPM: Advantages and Disadvantages 43

Advantages• Show precedence well• Reveal interdependencies not shown in other techniques• Ability to calculate critical path• Ability to perform “what if” exercises• Ability to perform “what if” exercises

Disadvantages• Default model assumes resources are unlimited

You need to incorporate this yourself (Resource – You need to incorporate this yourself (Resource Dependencies) when determining the “real” Critical Path

• Difficult to follow on large projects

Planning and Managing Software Projects – Emanuele Della Valle

Page 44: P&msp2010 05 scheduling

Network DiagramsPERT 44

Program Evaluation and Review Technique

Based on idea that estimates are uncertainBased on idea that estimates are uncertain• Therefore uses duration ranges• And the probability of falling to a given range

Uses an “expected value” (or weighted average) to determine durations

Use the following methods to calculate the expected durations, then use as input to your network diagram

Planning and Managing Software Projects – Emanuele Della Valle

Page 45: P&msp2010 05 scheduling

Network DiagramsPERT 45

Start with 3 estimates for each task• Optimistic

– Would likely occur 1 time in 20

• Most likely– Modal value of the distributionModal value of the distribution

• Pessimistic– Would be exceeded only one time in 20

Planning and Managing Software Projects – Emanuele Della Valle

Page 46: P&msp2010 05 scheduling

Network DiagramsPERT Formula 46

Combined to estimate a task duration to be used in the network diagram

Planning and Managing Software Projects – Emanuele Della Valle

Page 47: P&msp2010 05 scheduling

Network DiagramsPERT Formula 47

Confidence Interval can be determined

Based on a standard deviation of the expected timeBased on a standard deviation of the expected time• Using a bell curve (normal distribution)

For each task use

ii i

For the whole critical path use

Planning and Managing Software Projects – Emanuele Della Valle

Page 48: P&msp2010 05 scheduling

Network DiagramsMEMO: bell curve (normal distribution) 48

Planning and Managing Software Projects – Emanuele Della Valle

[source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/Toetsing/bell_curve2.gif ]

Page 49: P&msp2010 05 scheduling

Network DiagramsPERT Example 49

Planner 1 (P1) and Planner 2 (P2) are asked to estimate m, a and b

Confidence interval for P2 is 4 times wider than P1 for a given probability

Description Planner 1 Planner 2

m 10d 10dm 10d 10d

a 9d 9d

b 12d 20db 12d 20d

PERT time 10.2d 11.5d

Std. Dev. 0.5d 1.8d

Ex: 68% probability of 9.7 to 10.7 days (P1) vs. 9.7-

Std. Dev. 0.5d 1.8d

Planning and Managing Software Projects – Emanuele Della Valle

13.3 days (P2)

Page 50: P&msp2010 05 scheduling

Network DiagramsPERT: Advantages and Disadvantages 50

Advantages• Accounts for uncertainty

DisadvantagesDisadvantages• Time and labor intensive• Assumption of unlimited resources is big issue• Lack of functional ownership of estimates• Mostly only used on large, complex project

Get PERT software to calculate it for you

Planning and Managing Software Projects – Emanuele Della Valle

Page 51: P&msp2010 05 scheduling

Network DiagramsCPM vs. PERT 51

Both use Network Diagrams

CPM: deterministicCPM: deterministic

PERT: probabilistic

CPM ti t PERT th ti tCPM: one estimate, PERT, three estimates

PERT is infrequently used

Planning and Managing Software Projects – Emanuele Della Valle

Page 52: P&msp2010 05 scheduling

Bar ChartsGantt Chart 52

ID Task Name Duration

0 Commercial Construction 355 days1 Three-story Office Building (7 355 days2 General Conditions 17 days3 Receive notice to proc 3 days G.C. general management

S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F31 Dec '06 07 Jan '07 14 Jan '07 21 Jan '07 28 Jan '07 04 Feb '07 11 Feb '07 18 Feb '07

3 Receive notice to proc 3 days4 Submit bond and insur 2 days5 Prepare and submit pr 2 days6 Prepare and submit sc 2,33 days7 Obtain building permits 4 days8 Submit preliminary sho 2 wks9 Submit monthly reque 1 day10 Long Lead Procurement 70 days

g gG.C. project management;G.C. general management[25%]

G.C. project management[25%];G.C. schedulerG.C. general management[10%];G.C. project management

G.C. project management[50%];G.C. procurement[50%]G.C. project management[50%];G.C. procurement[50%]

11 Submit shop drawings 2 wks12 Submit shop drawings 2 wks13 Submit shop drawings 2 wks14 Submit shop drawings 2 wks15 Submit shop drawings 2 wks16 Submit shop drawings 2 wks17 Detail, fabricate, and d 12 wks

Steel erection contractor managementRoofing contractor managementElevator contractor managementPlumbing contractor managementElectric contractor managementHVAC contractor management

18 Mobilize on Site 10 days19 Install temporary powe 2 days20 Install temporary wate 2 days21 Set up site office 3 days22 Set line and grade ben 3 days23 Prepare site - lay down 2 days24 Site Grading and Utilities 35 days25 Clear and grub site 3 days

Electric contractorPlumbing contractor

G.C. superintendent;G.C. labor crew [10%]G.C. survey crew

Site grading contractor;G.C. labor crew[10%]

Site grading contractor25 Clear and grub site 3 days26 Stone site access and 2 days27 Rough grade site (cut 1 wk28 Install storm drainage 2 wks29 Install exterior fire line 2 wks30 Perform final site gradi 2 wks31 Erect building batter b 1 wk32 Foundations 39 days

Site grading contractorSite grading contractor

Site grading contractorSite grading contractorPlumbing contractor

32 Foundations 39 days33 Excavate foundations 2 wks34 Excavate elevator pit 2 days35 Form column piers and 4 days36 Rough-in electric and p 4 days37 Form elevator pit walls 4 days38 Set reinforcing and anc 4 days39 Pour column piers and 5 days

Planning and Managing Software Projects – Emanuele Della Valle

40 Pour concrete elevator 1 day41 Cure elevator wall conc 7 days

Page 53: P&msp2010 05 scheduling

Bar ChartsGantt Chart 53

Advantages• Easily understood• Easily created and maintained

Largely used

Disadvantages• It does not show uncertainty of a given activity (as does

PERT)PERT)• It has difficulties to show complex relationships among

tasks

Planning and Managing Software Projects – Emanuele Della Valle

Page 54: P&msp2010 05 scheduling

Bar ChartsMilestone Chart 54

Simple Gantt chart• Either showing just highest summary bars• Or milestones only

Planning and Managing Software Projects – Emanuele Della Valle

Page 55: P&msp2010 05 scheduling

Today 55

Session 4 review

Scheduling FundamentalsScheduling Fundamentals

Scheduling Techniques• Network DiagramsNetwork Diagrams• Bar Charts

Schedule Optimization TechniquesSchedule Optimization Techniques

Mythical Man-Month

Planning and Managing Software Projects – Emanuele Della Valle

Page 56: P&msp2010 05 scheduling

Schedule Optimization Techniques 56

How can you shorten the schedule?

With one or more of the following approaches:With one or more of the following approaches:• Reducing scope

– Doing less

• Reducing quality– Doing faster (or worse)– Pay attention that poorly tested software may cost more Pay attention that poorly tested software may cost more

due to dependencies with other parts

• Adding resources: H i ki– Having more persons working

– See “Critical Man Months” section

• Crashingg• Fast Tracking• …

Planning and Managing Software Projects – Emanuele Della Valle

Page 57: P&msp2010 05 scheduling

Schedule Optimization TechniquesCrashing and Fast Tracking 57

Crashing• Looks at cost and schedule tradeoffs

– Gain greatest compression with least cost

• Add resources to critical path tasks• Changing the sequence of tasks• Changing the sequence of tasks

– Reducing slack times

• Limit or reduce requirements (scope)

Fast Tracking• Overlapping of phases, activities or tasks that would

otherwise be sequential• Involves some risk• May cause rework• May cause rework

Planning and Managing Software Projects – Emanuele Della Valle

Page 58: P&msp2010 05 scheduling

Today 58

Session 4 review

Scheduling FundamentalsScheduling Fundamentals

Scheduling Techniques• Network DiagramsNetwork Diagrams• Bar Charts

Schedule Optimization TechniquesSchedule Optimization Techniques

Mythical Man-Month

Planning and Managing Software Projects – Emanuele Della Valle

Page 59: P&msp2010 05 scheduling

Mythical Man-Month 59

Book: “The Mythical Man-Month”• Author: Fred Brooks• http://www.amazon.com/exec/obidos/ASIN/020183595

9/qid%3D1022856693/sr%3D1-1/ref%3Dsr%5F1%5F1/103-4280067-96878061/ref%3Dsr%5F1%5F1/103 4280067 9687806

• http://my.safaribooksonline.com/0201835959

“The classic book on the human elements of software The classic book on the human elements of software engineering”

First two chapters are full of terrific insight (and p g (quotes)

Planning and Managing Software Projects – Emanuele Della Valle

Page 60: P&msp2010 05 scheduling

Mythical Man-Month 60

“Cost varies as product of men and months, progress does not.”

“Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth”

“Good cooking fakes time. If you are made to wait, it is to serve you better, and to please you - Menu of Restaurant Antoine New Orleans ”Restaurant Antoine, New Orleans -”

Planning and Managing Software Projects – Emanuele Della Valle

Page 61: P&msp2010 05 scheduling

Mythical Man-Month 61

Why is software project disaster so common?1. Estimation techniques are poor & assume things will go

ll ( ‘ d’ )well (an ‘unvoiced’ assumption)2. Estimation techniques fallaciously confuse effort with

progress, hiding the assumption that men and months progress, hiding the assumption that men and months are interchangeable

3. Because of estimation uncertainty, managers lack courteous stubbornness of Antoine's chefcourteous stubbornness of Antoine's chef

4. Schedule progress is poorly monitored5. When schedule slippage is recognized, the natural 5 e sc edu e s ppage s ecog ed, e a u a

response is to add manpower. Which, is like dousing a fire with gasoline

Planning and Managing Software Projects – Emanuele Della Valle

Page 62: P&msp2010 05 scheduling

Mythical Man-Month 62

Optimism• “All programmers are optimists”• 1st false assumption: “all will go well” or “each task

takes only as long as it ‘ought’ to take”• The Fix: Consider the larger probabilities• The Fix: Consider the larger probabilities

Cost (overhead) of communication (and training)– Overhead: n(n-1)/2Overhead: n(n 1)/2

• How long does a 12 month project take?– 1 person: 12 month– 2 persons = 12/2 + 2(2-1)/2 = 6+1 = 7

- 2 man-month extra

– 3 persons = 12/3 + 3(3-1)/2 = 4 + 3 = 7p / ( )/- 9 man-months extra

– 4 persons = 12/4 + 4(4-1)/2 = 3 + 6 = 9

• The Fix: don’t assume adding people will solve the

Planning and Managing Software Projects – Emanuele Della Valle

• The Fix: don t assume adding people will solve the problem

Page 63: P&msp2010 05 scheduling

Mythical Man-Month 63

Sequential nature of the process• “The bearing of a child takes nine months, no matter

h d”how many women are assigned”

What is the most mis-scheduled part of process?• Testing

Why is this particularly bad?• Occurs late in process and without early-warning• Higher costs

The Fix: Allocate more test time• Understand task dependencies, test and fix before

useuse

Planning and Managing Software Projects – Emanuele Della Valle

Page 64: P&msp2010 05 scheduling

Mythical Man-Month 64

Reliance on hunches and guesses• What is ‘gutless estimating’?

– Urgency of Client causes Optimistic Estimates - E.g., omelet and chef analogy- http://my.safaribooksonline.com/0201835959/ch02lev1sec4

– Regardless of Urgency, tasks require the same amount of time

Th th f dditi l The myth of additional manpower• Brooks Law• “Adding manpower to a late project makes it later”• Adding manpower to a late project makes it later

– http://en.wikipedia.org/wiki/Brooks%27s_law

Planning and Managing Software Projects – Emanuele Della Valle

Page 65: P&msp2010 05 scheduling

Mythical Man-Month 65

Q: “How does a project get to be a year late”?• A: “One day at a time”

Studies• Each task: twice as long as estimated• Only 50% of work week is real coding

– The rest 50% is communication, negotiation, documentation, …documentation, …

The Fixes• Consider the 50% not-coding timeConsider the 50% not coding time• Define clearly measurable milestones

– No “fuzzy” milestones

• Reduce the role of conflict among persons• Identify the “true status” of a task

– It’s impressive how much effort is needed to move a 90%

Planning and Managing Software Projects – Emanuele Della Valle

– It s impressive how much effort is needed to move a 90% done task to a 100% done task

Page 66: P&msp2010 05 scheduling

66

Planning and Managing Software Projects – Emanuele Della Valle

Page 67: P&msp2010 05 scheduling

Questions? 67

Planning and Managing Software Projects – Emanuele Della Valle