Network Planning Techniques: CPM-PERT - DSpace@MIT Home

Transcription

ESD.36J System & Project Management -Lecture 2Network PlanningTechniques: CPM-PERTInstructor(s)Prof. Olivier de Weck09 Sept 2003

Today’s Agenda Overview of PM methods and toolsCPM 101Critical Paths, SlackProbabilistic Task TimesTask “Crashing” and CostConclusions and Class DiscussionsIntroduce HW19/9/2003 - ESD.36J SPM2

History of Project Management Big Projects since antiquity Pyramids (Egypt), Great Wall (China)Enormous workforce, but no documented evidence offormal project managementFormal Project Management Henry Gantt (1861-1919) Æ bar chart1957 Sputnik Crisis Æ revival of “scientific management”Polaris (1958) Æ Project Evaluation and ReviewTechnique (PERT)DuPont Company (1960) Æ Critical Path Method (CPM)1960’s NASA projects: Mercury, Gemini, Apollo Work Breakdown Structures (WBS)Cost and Schedule Tracking, Configuration Management9/9/2003 - ESD.36J SPM3

Comments about early PM Project decomposition necessary due to complexityResource allocation and workload smoothingSchedule urgency .”before the decade is out” JFKCircumstances Other Innovations Complex Relations between Government and Contractors“Shielded” from Society, Competition, RegulationsCold War Pressures for Nuclear Power, Space Race .Project Manager as a central figureBeginnings of Matrix Organization“Earned Value” – adopted by USAF (1963)Professionalization since 1969 Diffusion into other industries: computers, automotive Project Management Institute (PMI) founded – PMBOKISO 10006:1997 Quality in Project ManagementRecent criticism about PM standards as “bureaucratic”9/9/2003 - ESD.36J SPM4

Fundamental Approaches How to represent task relationships?Network-based (graph theory) methods bacMatrix-based methods CPM, PERT, .Task is a node or an arcDSM - Tasks are columns and rowsInterrelationships are off-diagonal entries Feedback loops, causal relationshipsStocks and flows simulationTasks that are done or waiting to be doneare stocks – “amount of work”Doing project work causes a “flow”9/9/2003 - ESD.36J SPMex xxxx xx xx xSystem Dynamics dWORKTO BEDONEPEOPLE PRODUCTIVITYWORKBEING DONEWORKDONE5

-Gantt ChartsAttributed to Henry Gantt – most popular PM tool (80%)Used to plan big shipbuilding projects (cargo ships WWI)Graphical way of showing task durations, project scheduleDoes not explicitly show relationships between tasksLimited use for project trackingEasy to understandcalendartodaycompletion Gantt Chart Builder System (Excel) 1.608 Sep'03Bus UnitMktSysEngSysMfgSysProjectProject "XYZ"Customer ClinicRequirements DefinitionParts DesignDesign ReviewManufacturingProduct Release9/9/2003 - ESD.36J -Sep-200305-Oct-200306-Oct-200308/0915/09actual22 Sep'0322/0929/0906 Oct'0306/1013/10milestone planned6

CPM 101 Represent a project (set of task) as anetwork using graph theory Capture task durationsCapture task logic (dependencies)ExpectedDurationTask ID (Series)A,5B,8“B can only start after Ais completed”9/9/2003 - ESD.36J SPM(Parallel)B,8A,5D,3C,2“B and C do not dependon each other”7

CPM AssumptionsProject consists of a collection of well definedtasks (jobs)Project ends when all jobs completedJobs may be started and stoppedindependently of each other within a givensequence (no “continuous-flow” processes)Jobs are ordered Æ “technological sequence”9/9/2003 - ESD.36J SPM8

Task Representations Tasks as Nodes of a Graph CirclesBoxesA,5Tasks as Arcs of a Graph ESID:ALSEFDur:5LFTasks are uni-directional arrowsNodes now represent “states” of a projectKelley-Walker formbroken9/9/2003 - ESD.36J SPMA, 5fixed9

Work Breakdown StructureUsed to create the task (job) listTree-decomposition of project tasksWBS identifies “terminal elements”The key starting point for project planningRequired by US Govt as part of SOWCan be activity-oriented or deliverable- orientedUse “sticky-notes” method early onCarl L. Pritchard. Nuts and Bolts Series 1: How toBuild a Work Breakdown Structure. ISBN1890367125Job A9/9/2003 - ESD.36J SPMJob BJob XJob G10

WBS – Painting a Room 1 Prepare materials 2. Prepare room 1.1 Buy paint1.2 Buy brushes/rollers1.3 Buy wallpaper remover2.12.22.32.42.5Remove old wallpaperRemove detachable decorationsCover floor with old newspapersCover electrical outlets/switches with tapeCover furniture with sheets4.14.24.34.4Dispose or store left over paintClean brushes/rollersDispose of old newspapersRemove covers3. Paint the room4. Clean up the room 9/9/2003 - ESD.36J SPMhttp://www.wikipedia.org11

WBS Guidelines No more than 100-200 terminal elements, ifmore Æ use subprojectsCan be up to 3-4 Levels deepNot more than 5-9 jobs at one level Human cognitive “bandwidth” only 3 bits 23 8Short term memory for most people 5-9 itemsPoorer planning if “too-fine grained” – dilution ofattentionThe more tasks there are, the more intricatedependencies there will be to keep track ofJobs should be of similar size/complexityManageable chunks Æ sense of progressLevel of graininess Æ very difficult to answer9/9/2003 - ESD.36J SPM12

Task List List all tasks in a table with Identifying symbol (tag)Task descriptionImmediate prerequisite jobsExpected task durationArrange jobs in “technological order” No job appears in the list until all its predecessorshave been listedIterations are NOT allowed Æ “cycle error”Job a precedes b precedes c precedes aWe will discuss iterations a lot in this class !!!9/9/2003 - ESD.36J SPM13

Simple Example: Job ListTwo Parts X and Y: Manufacture and AssemblyJob #DescriptionAStartBGet materials for XA10CGet materials for YA20DTurn X on latheB,C30ETurn Y on latheB,C20FPolish YE40GAssemble X and YD,F20HFinishG09/9/2003 - ESD.36J SPMImmediateTimePredecessors [min]014

Project GraphEach job is drawn on a graph as a circle*Connect each job with immediate predecessor(s) –unidirectional arrows “Æ”Jobs with no predecessor connect to “start”Jobs with no successors connect to “finish”“start” and “finish” are pseudo-jobs of length 0A finite number of “arrow paths” from “start” to “finish”will be the resultTotal time of each path is the sum of job timesPath with the longest total time Æ “critical path”There can be multiple critical paths Æ minimum time tocomplete project* or other symbol, see before9/9/2003 - ESD.36J SPM15

-Project GraphF,40E,20C,20critical pathG,20A,0H,0FinishStartB,10D,304 unique paths: A,C,E,F,G,H; A,C,D,G,H; A,B,D,G,H; A,B,E,F,G,H9/9/2003 - ESD.36J SPM10070609016

Critical Path CP is the “bottleneck route”Shortening or lengthening tasks on the critical pathdirectly affects project finishDuration of “non-critical” tasks is irrelevant“Crashing” all jobs is ineffective, focus on the few % ofjobs that are on the CP“Crashing” tasks can shift the CP to a different taskShortening tasks – technical and economical challenge How can it be done?Previously non-critical tasks can become criticalLengthening of non-critical tasks can also shift thecritical path (see HW1).9/9/2003 - ESD.36J SPM17

Critical Path Algorithm For large projects there are many pathsNeed a algorithm to identify the CP efficientlyDevelop information about each task in context of theoverall projectTimes Start time (S)For each job: Earliest Start (ES) Earliest start time of a job if all its predecessors start at ESJob duration: tEarliest Finish (EF) (ES) tFinish time (F) – earliest finish time of the overall projectShow algorithm using project graph9/9/2003 - ESD.36J SPM18

1.2.3.4.CP AlgorithmMark the value of S to left and right of StartConsider any new unmarked job, all of whosepredecessors have been marked. Mark to theleft of the new job the largest number to theright of its immediate predecessors: (ES)Add to ES the job time t and mark result tothe right (EF)Stop when Finish has been reached9/9/2003 - ESD.36J SPM19

-CP Algorithm - Graphicalcritical path0C,202020E,2040F,4040S 0 A,0 08080Start0 B,10 109/9/2003 - ESD.36J SPMFinishG,20H,0100 100 F 10020 D,30 5020

Latest Start and Finish TimesSet target finish time for project: T FUsually target is a specific calendar date,e.g. October 1, 2007When is the latest date the project can bestarted?Late Finish (LF) - latest time a job can befinished, without delaying the projectbeyond its target time (T)Late Start: LS LF-t9/9/2003 - ESD.36J SPM21

-Determine LF and LSWork from the end of the project: T1. Mark value of T to left and right of Finish2. Consider any new unmarked job, all ofwhose successors have been marked - markto the right the smallest LS time marked tothe left of any of its immediate successors3. Subtract from this number, LF, the job time tand mark result to the left of the job: LS4. Continue upstream until Start has beenreached, then stop 9/9/2003 - ESD.36J SPM22

-LS and LF : Project Graph0 200 2020 4020 4040 8040 80C,20E,20F,40FinishG,20S 0 A,080 100 100 10080 100 100 100Start0 00 0H,00 B,10 10D,300 1010 2020 5050 809/9/2003 - ESD.36J SPMLegendearly ES EFlate LS LF23

Slack Some tasks have ES LS -- no slackTotal Slack of a task TS LS-ESMaximum amount of time a task may be delayedbeyond its early start without delaying projectcompletionSlack time is precious managerial freedom, don’tsquander it unnecessarily e.g. resource, work load smoothingWhen T F then all critical tasks have TS 0At least one path from Start- Finish with critical jobsonlyWhen T F, then all critical jobs have TS T-F9/9/2003 - ESD.36J SPM24

-Project Graph - Slack0 200 2020 4020 4040 8040 80C,20E,20F,40TS 0TS 0TS 00 00 0TS 0 TS 0G,20S 0 A,0StartFinishTS 10TS 300 B,10 10D,300 1010 2020 5050 809/9/2003 - ESD.36J SPMH,080 100 100 10080 100 100 100Legendearly ES EFlate LS LF25

-Task Times Detail - Task iLS(i)ES(i)Duration t(i)Total SlackTS(i)FS(i)LF(i)EF(i)Duration t(i)j is the immediatesuccessor of i withthe smallest ESES(j)j iFree Slack Free Slack (FS) is the amount a job can bedelayed with delaying the Early Start (ES) ofany other job.FS TS always9/9/2003 - ESD.36J SPM26

Main CPM ErrorsEstimated job times are wrongPredecessor relationships may contain cycles Æ “cycleerror”List of prerequisites contains more than the immediatepredecessors, e.g. aÆb, bÆc and a,bÆcOverlooked some predecessor relationshipsSome predecessor relationships may be listed that arespuriousand . Some tasks/jobs may be missing !!!9/9/2003 - ESD.36J SPM27

Gradual Refinement of CPM Job Times Predecessor Relationships Given rough time estimates construct CPM chartRe-estimate times for CP and those with very small TSIterate until the critical path is stableFocus attention on a subset of tasksCheck algorithmically for cycle errors and pre-predecessorerrorsCancel all except immediate predecessor relationshipsWrong or Missing Facts Cannot be detected by computers!9/9/2003 - ESD.36J SPM28

How long does a task take? Conduct a small in-class experimentFold MIT paper airplane Have sheet & paper clip ready in front of youPaper airplane type will be announced, e.g.A1-B1-C1-D1Build plane, focus on quality rather than speedNote the completion time in seconds /- 5 [sec]Plot results for class and discuss Call out your time aloudWe will build a histogram and display results in realtime9/9/2003 - ESD.36J SPM29

-MIT Paper AirplaneCredit:S. Eppinger9/9/2003 - ESD.36J SPM30

Job Duration Distribution Job task durations are stochastic in realityActual duration affected by Individual skillsLearning curves what else?Proje ct Tas k iFrequency15105010152025303540com ple tion tim e [days ]9/9/2003 - ESD.36J SPM31

CPM vs PERT Difference how “task duration” is treatedCPM assumes time estimates are deterministic Obtain task duration from previous projectsSuitable for “construction”-type projectsPERT treats durations as probabilistic PERT CPM probabilistic task timesBetter for R&D type projectsLimited previous data to estimate time durationsCaptures schedule (and implicitly some cost) risk9/9/2003 - ESD.36J SPM32

PERT Project Evaluation and Review TechniqueTask time durations are treated as uncertain A - optimistic time estimate M - most likely task duration minimum time in which the task could be completedeverything has to go righttask duration under “normal” working conditionsmost frequent task duration based on past experienceB - pessimistic time estimate time required under particularly “bad” circumstancesmost difficult to estimate, includes unexpected delaysshould be exceeded no more than 1% of the time9/9/2003 - ESD.36J SPM33

-A-M-B Time EstimatesProje ct Tas k iRange of Possible TimesFrequency15105010152025303540timescom ple tion tim e [days ]Time ATime MTime B9/9/2003 - ESD.36J SPMAssume aBeta-distribution34

Beta-DistributionAll values are enclosed within interval t [ A, B ]As classes get finer - arrive at β-distributionStatistical distributionpdf:beta function:x [ 0,1]9/9/2003 - ESD.36J SPM35

Expected Time & VarianceA 4M BMean expected Time (TE)TE 62 B A 2Time Variance (TV)TV σ t 6 Early Finish (EF) and Late Finish (LF) computed asfor CPM with TESet T F for the end of the projectAssume that times are Gaussian distributed due toCentral Limit TheoremExample: A 3 weeks, B 7 weeks, M 5 weeks -- then TE 5 weeks9/9/2003 - ESD.36J SPM36

-Probabilistic timesProbability distributionfor early finish of task iProbability distributionfor late finish of task iTimeE[EF(i)]E[LF(i)]expected slack SL(i) E[EF(i)]- E[LF(i)]9/9/2003 - ESD.36J SPM37

Probabilistic Slack Variance of task times: i22σES(i) σ[] Start times: t Finish times:j 0σ2i[ EF (i)] σj nj2tjSum all variances of thelongest path from start(task 0) to task iSum all variances of thelongest path from finish(task n) upstream to task iNormal (Gaussian)Distributionfor Slack SL(i)TimeVariance of Slack:9/9/2003 - ESD.36J SPMSL(i)σ 2 [ SL(i ) ] σ 2 [ EF (i ) ] σ 2 [ LF (i ) ]38

Probability of no slack?Target date is not met when SL(i) 0, i.e. negativeslack occursConvert slack to a normalized random variable z:EF LF SLz 22σ ( EF ) σ ( LF ) σ ( SL ) For each value of z one can look up the probabilitythat SL 0 from a table of the normal (Gaussian)distribution functionFor tasks on the critical path, the probability thatSL 0 is always 50%9/9/2003 - ESD.36J SPM39

Many Projects have target completion dates, T Probability of meeting target ?Interplanetary mission launch windows 3-4 daysContractual delivery dates involving financial incentives orpenaltiesTimed product releases (e.g. Holiday season)Finish construction projects before winter startsAnalyze expected Finish F relative to Tn # of last taskNormal Distribution for FProbability thatproject will bedone at or beforeT9/9/2003 - ESD.36J SPMTE[EF(n)] FTime40

Normal random variable zT E[ F ]z σ (F )ComputeLook up probability in a standardnormal probability z-dist.htmExample: Company wants to have prototype at car showon T May 3rd. Expected Early Finish F for project fromPERT plan is: May 12 with a standard deviation s 20.z (5/2-5/12)/20 -8/20 -0.4 * there are 8 workingdays between 5/2 and 5/12. For z -0.4 we obtain aProbability of 35% that we can meet the target date.9/9/2003 - ESD.36J SPM41

Crashing Tasks If we theoretically were building 100prototypes, 35 of them would make it ontimeImportant decision basis for management How could we speed up the project?Cost of speedup?Is there a net savings resulting fromreduction in overall project time?9/9/2003 - ESD.36J SPM42

Cost CalculationsCan compute project costs if cost of each job isincluded in the task data(Potentially) shorten crew jobs by adding personnelSpeedup carries price tag: “normal time”, “crash time”Assign some critical jobs to their “crash time”Direct costs will increase as we “crash” critical tasksIndirect (fixed, overhead) costs will decrease as theoverall project duration decreases – “standing armyphenomenon”Minimize the sum of fixed and direct costs9/9/2003 - ESD.36J SPM43

-Typical Cost PatternProjectCosts [ ]Total CostsFixed CostsDirect CostsA9/9/2003 - ESD.36J SPMBTotal ProjectTime [days]44

CPM Judgment Focuses attention on a subset of critical tasksDetermine effect of shortening/lengthening tasksEvaluate costs of a ”crash” program Doesn’t capture task iterations, in fact Prohibits iterations “cycle error”Treats task durations as deterministic9/9/2003 - ESD.36J SPM45

Summary CPM is useful, despite criticism, to identify thecritical path - focus on a subset of the projectSlack (TS and FS) is precious PERT treats task times as probabilistic apply flexibility to smooth resource/schedulesIndividual task durations are β-distributedSums of multiple tasks are normal z-distributedSelective “crashing” of critical tasks canreduce total project costCPM and PERT do not allow task iterations9/9/2003 - ESD.36J SPM46

Class Frustrations Poor examples set by project managersPerception of PM as bureaucratic “box-checking”Why? Traditional Project Management Doesn’t acknowledge the existence of iterationsIs inflexible, “changing the plan” considered a failureDoes not think of projects in a probabilistic sense“Hostage” to existing project management softwareIn a reactive mode – no “early warning” systemsBased on pure reductionism9/9/2003 - ESD.36J SPM47

HW1 Introduction – out 9/9You are Project Manager for a UAVDevelopment ProjectfuselagePlan the project empennagebavionicswingsTask list, project graphsuiteBCritical pathSlack timesengineLpayloadReplanning after changeFig 1. UAV concept, Specifications:L 2000 mm, B 3500 mm, b 500 mmChallenge Question Æprobability of completion at target time T?“managerial”-type questions9/9/2003 - ESD.36J SPMDue 9/1848

9/9/2003 - ESD.36J SPM 3 History of Project Management Big Projects since antiquity Pyramids (Egypt), Great Wall (China) Enormous workforce, but no documented evidence of formal project management Formal Project Management Henry Gantt (1861-1919) Æbar chart 1957 Sputnik Crisis Ærevival of "scientific management" Polaris (1958) ÆProject Evaluation and Review