Part VIII

Formal Scheduling, Estimation & Tracking

How a plan-driven project turns a pile of work into a dated, costed schedule, finds the handful of tasks that decide the end date, and then tells, month by month, whether it is on time and on budget. This is the most calculation-heavy Part of the course, and the exam's calculation questions come straight from it.

  • You willbuild a WBS and a task network, and name the four dependency types.
  • You willrun a forward and backward pass, find the critical path, and tell total float from free float.
  • You willmake three-point (PERT) estimates, level resources and crash a schedule at least cost.
  • You willtrack a project with earned value: SV, CV, SPI, CPI, ETC and EAC.
8.1

The Project Schedule exam

Before anyone signs a contract or approves a budget for a software project, somebody has to say how long it will take and what it will cost. In a formal (also called plan-driven) life cycle, such as waterfall or the V-model from Part II, the project manager answers those questions up front by building a detailed schedule, analysing it, and then steering the project against it. This Part is about that whole loop. The agile alternative, where the plan is rebuilt every sprint from story points and velocity, is in Part VI.

Definition · project schedule (W07)

The project schedule is one of the most important artefacts of the planning phase. It is used and maintained throughout the project to monitor and track progress, which makes it a living document: it is not written once and filed, but updated every time the facts change. At heart it answers two questions: How long will the system take to develop? and How much will it cost?

An artefact here just means a document or model the project produces. A task (also called an activity) is a piece of work that takes time and resources, such as "design the database". A deliverable is something tangible handed over, such as a requirements document or a working release, and a milestone is the moment a significant deliverable or phase is finished. §8.7 defines these terms precisely.

How long will it take?How much will it cost?ANSWERS TWO QUESTIONSProject schedulea living document, updatedfor the whole projectCONTAINS FOUR THINGS1Task durations & dependencies2People & physical resources3Milestones & deliverables4The project timelinePRESENTED ASGantt chartbars against a calendarPERT chartnetwork + critical path
One artefact, two questions, four contents. Everything on the right has to be in a schedule for it to be complete: the tutorial quiz rewards the option that lists all four. The two charts at the bottom are just two ways of drawing the same schedule; §8.9 compares them.

The W07 slides say a schedule contains four things: (1) the duration and dependencies of each task; (2) the people and physical resources each task needs; (3) the milestones and deliverables; and (4) the project timeline. A dependency is a rule that one task can't start (or finish) until another has, which §8.4 covers. A schedule without any one of the four is incomplete. A list of dates with no resources, for example, can't tell you whether anyone is free to do the work.

Two kinds of chart present a schedule. A Gantt chart is a bar chart of the tasks against a calendar, so you can see when each one runs. A PERT chart is an activity network, a diagram of boxes and arrows that shows which tasks depend on which and picks out the critical path, the chain of tasks that sets the project's length. §8.7 builds one step by step.

The schedule doesn't stand alone. It is part of the Project Management Plan (Part V), it feeds the budget and the business case (Part I), and its estimates are one of the biggest sources of risk (Part IV): an optimistic estimate is a risk you have built into the plan yourself.

Check yourselfWhich option best describes what a project schedule contains?
  1. The list of tasks and their start and end dates.
  2. Task durations and dependencies, the people and physical resources needed, milestones and deliverables, and the project timeline.
  3. The budget, the business case and the risk register.
  4. A Gantt chart of the tasks.

B. This is the tutorial quiz: the right option is the one that lists all four contents. A is only the timeline, C names other planning artefacts that the schedule feeds or draws on, and D confuses the schedule with one way of drawing it.

Check yourselfWhy do the W07 slides call the schedule a "living document"?

Because it is not finished when the plan is approved. It is used and maintained throughout the project to monitor and track progress, so it is updated whenever tasks slip, estimates change or the scope changes. A schedule that is never updated stops telling you anything about the real project.

In short

The project schedule answers "how long?" and "how much?". It contains task durations and dependencies, people and resources, milestones and deliverables, and the timeline. It is drawn as a Gantt chart (when) or a PERT chart (why, and the critical path), and it is a living document maintained for the whole project.

8.2

Five Steps to a Schedule exam

A schedule for a project of hundreds of tasks can't be written down in one go: you can't estimate work you haven't identified, and you can't put dates on tasks until you know what order they must run in. So the slides break schedule development into five steps, each using the output of the one before.

  1. Work Breakdown Structure (WBS). Break the work into small chunks you can deal with (§8.3).
  2. Identify the interdependencies between the tasks, and use them to build a task network (§8.4).
  3. Estimate the effort and time for each task (§8.5).
  4. Allocate resources to the tasks and validate the effort (§8.6).
  5. Develop the schedule itself, using PERT/critical path analysis and a Gantt chart (§8.7 and §8.9).
1 · WBSbreak the work down2 · Dependenciesbuild the task network3 · Estimateeffort and time4 · Resourcesallocate, validate effort5 · SchedulePERT / CPM / GanttTrack & controlearned value (§8.10)W07 SLIDES: FIVE STEPS, THEN TRACKINGre-plan when reality drifts from the planTUTORIAL VERSION: FOUR STEPSIdentify tasksthe WBSDependenciesnetwork diagramEstimate duration & resourcesstaff, hardware, artefactsConstruct scheduledates & resources
Each step feeds the next, and tracking feeds back. The top row is the W07 slides' five steps; the green row underneath lines the tutorial's four steps up against them, so you can answer in either vocabulary. The dashed arrow is the point of the whole process: once the plan is approved you track against it, and when reality drifts you go back and re-estimate.

The tutorial version has four steps: identify the tasks (the WBS); identify the dependencies (the network diagram); estimate the duration and resources (staff, hardware, artefacts); and construct the schedule (allocate dates and resources). Once the plan is approved, you track and control the project against it (§8.10), and re-plan when needed.

Pressman's scheduling principles

Pressman, the textbook the W07 slides cite, lists seven principles of software scheduling. They map neatly onto the steps, which makes them easy to remember:

PrincipleWhat it meansWhere it lives
CompartmentalisationSplit the project into manageable activities and tasks.Step 1, the WBS
InterdependencyWork out which tasks depend on which.Step 2, the network
Time allocationGive every task a duration and a start and end date.Steps 3 and 5
Effort validationNever allocate more people than exist at any time.Step 4
Defined responsibilitiesEvery task is assigned to a specific person.Steps 4–5
Defined outcomesEvery task produces a defined work product.Steps 1 and 5
Defined milestonesTasks are grouped under milestones; a milestone is reached when its work products have passed review.Step 5 and tracking
Check yourselfA colleague estimates every task's duration before anyone has listed the tasks or their dependencies. Which step have they skipped, and why does the order matter?

They have skipped steps 1 and 2, the WBS and the dependency network. The order matters because you can only estimate work you have identified (an un-listed task gets no estimate and silently vanishes from the plan), and durations alone don't give dates: you need the network to know which tasks run in sequence and which in parallel.

Check yourselfWhich of Pressman's principles is broken by a plan that has five developers working full time on parallel tasks in week 3 when the team only has four?

Effort validation: never allocate more people than exist. Step 4 of the procedure (allocate resources and validate the effort) is where this is caught. §8.11 calls such a schedule invalid.

In short

WBS → dependencies and network → effort and time estimates → resource allocation and effort validation → the schedule (PERT/CPM, Gantt). Then track and control, re-planning as needed. Pressman's principles (compartmentalisation, interdependency, time allocation, effort validation, defined responsibilities, outcomes and milestones) line up with these steps.

8.3

Step 1: the Work Breakdown Structure exam

"Build the patient-records system" is far too big to estimate, assign or track: nobody can say how long it will take, and three months in nobody can say how much of it is done. The Work Breakdown Structure (WBS) solves that by breaking the work into manageable units, each with a specific outcome or deliverable, small enough that each one can be estimated and owned.

Definition · WBS

The W07 slides: large tasks are hard to estimate, hard to split into interim goals and deliverables, and hard to monitor, so break the work into manageable units with specific outcomes. PMBOK (the Project Management Institute's Body of Knowledge, the standard reference for project management) defines the WBS as a hierarchical decomposition of the total scope of work needed to meet the project's objectives and create its deliverables.

The five rules of a good WBS

A WBS can be drawn badly: it can miss work, count work twice, or stop at chunks still too big to estimate. Five rules guard against that.

Principle · five WBS rules
  1. 100% rule. The WBS includes all the project work, including project management, integration, testing, training and deployment, and nothing outside the scope. The children of each node add up to 100% of their parent.
  2. Deliverable-oriented. Every element has a verifiable outcome: you can check whether it is done.
  3. Mutually exclusive. No work is counted twice. If "write unit tests" sits under both Development and Testing, it gets estimated twice.
  4. Work packages. At the lowest level, each work package (a leaf of the tree) can be estimated, given to one owner, and tracked. A rule of thumb is 8–80 hours, or one reporting period.
  5. Hierarchical numbering (1, 1.1, 1.1.1). These IDs are reused in the network and the Gantt chart, so the same task has the same number everywhere.
Medic systemDesignBuildTestProjectmgmt?Training?Deploy?children ≠ 100% of the parent
Bad: work goes missing. Nobody estimated managing the project, training users or deploying, so those days appear nowhere in the schedule, yet they will still have to be done.
Medic systemProjectmgmtAnalysisDesignDevelop-mentTest &deploychildren = 100% of the parent
Good: 100% of the work. The top level of the Medic WBS from the T07 tutorial (§8.13). Project management and deployment are tasks too, so they get their own branches.

The 8–80 hour rule has a reason at each end. Below about a day, a package is so small that tracking it costs more than doing it. Above about two weeks, it is too big to estimate well, and it can sit at "in progress" for a long time without anyone noticing that it has stalled. Making a package last no longer than one reporting period means every package is either done or not done at each progress report.

Two ways to draw a WBS

The W07 slides show a WBS in two forms. One is an indented list, an outline in which each level is indented under its parent. The other is a tree graph, which draws the same hierarchy as boxes joined by lines. They hold exactly the same information.

INDENTED LIST1Concept1.1Scope1.2Planning1.3aTechnology risk assessment…2Requirements2.1Elicitation2.2Prototype2.3Analysis2.4Specification2.5Validation3Design4Implementation4.1Code/test client4.2Code/test server4.3Integration testing5Acceptance testing
Indented list. The W07 slide's outline. Numbers show the hierarchy: 2.3 is the third part of 2. It packs a lot onto one page and is how scheduling tools hold a WBS.
TREE GRAPHProjectReq.evaluationDesignR&DTestInstallationInstall hardwareMigrate dataTrain usersGo Live…work packages (leaves) are what you estimate and schedule
Tree graph. The same idea drawn as a tree, from the slide's top-level areas down to packages such as "Go Live". The middle three leaves under Installation are illustrative. Easier to read in a meeting, harder to fit on a page.
Check yourselfSelect all that are rules of a good WBS (MRQ style).
  1. The children of each element add up to 100% of the parent.
  2. Each work package is small enough to estimate, has one owner, and can be tracked.
  3. Project management is left out because it is overhead, not product work.
  4. Each element is listed in the order in which it will be done.
  5. No piece of work appears under two different branches.

A, B and E (the 100% rule, work packages, and mutual exclusivity). C breaks the 100% rule: project management, integration, testing, training and deployment must be included. D is wrong because a WBS shows what the work is, not its order; the order comes from the dependency network in step 2.

Check yourselfA team's WBS has a single leaf, "4.2 Build the reporting module", estimated at 400 hours. What is wrong, and how would you fix it?

It breaks the work-package rule: 400 hours is far above the 8–80 hour rule of thumb, so it can't be estimated reliably and will sit at "in progress" for weeks without showing whether it is on track. Decompose it further into packages such as 4.2.1 design the report queries, 4.2.2 build the report screens, 4.2.3 export to PDF, 4.2.4 test the reports, each with a verifiable outcome and one owner.

The fishbone (cause-and-effect) diagram

The W07 slides also introduce a tool for when the schedule goes wrong. A fishbone diagram, also called a cause-and-effect or Ishikawa diagram, identifies, sorts and displays the possible causes of a specific problem, such as a late or over-budget project. The problem is the head of the fish and the categories of cause are the bones. The slide's categories are People, Process, Equipment, Materials, Environment and Management; for software they are typically People, Processes, Tools and External influences.

Project late andover budgetPEOPLEinexperienced developerskey staff leavePROCESSrequirements changerisks not consideredEQUIPMENTnew, unfamiliar toolsslow test hardwareMATERIALSthird-party parts lateunclear specificationENVIRONMENTclient imposes deadlineoffice move, outagesMANAGEMENTunrealistic estimateslip not acted on
Read a fishbone from the head backwards. The problem is the head; each bone is a category of cause (the W07 slide's six), and the small ribs are candidate causes, illustrative, several of them taken from Pressman's reasons projects run late (§8.11). The team fills the ribs in together, then digs into the likeliest ones. For software the bones are often simplified to People, Processes, Tools and External influences.

The slides list four benefits: problem solving (it pushes the team towards root causes instead of symptoms), visualisation (everyone sees all the candidate causes at once), team collaboration (it is built together, so knowledge from everyone goes in) and focus on factors (it keeps the discussion on causes, not on blaming people). It is also one of the quality tools of Part VII, and in §8.10 it is the first step when a project drifts from its plan.

Check yourselfIn a fishbone diagram, what goes in the head, and what do the bones represent?

The head holds the specific problem (the effect), for example "release three weeks late". The bones are categories of cause (People, Process, Equipment, Materials, Environment, Management on the slide; People, Processes, Tools, External influences for software), and the individual causes hang off them as ribs.

In short
  • The WBS breaks the whole scope into work packages with verifiable outcomes, drawn as an indented list or a tree.
  • Five rules: 100%, deliverable-oriented, mutually exclusive, estimable work packages (8–80 h), hierarchical numbering.
  • A fishbone diagram sorts the possible causes of a problem into categories, to find root causes as a team.
8.4

Step 2: Dependencies and Task Networks

A WBS lists what has to be done but says nothing about order. Some tasks can only happen after others: you can't test code that hasn't been written. Step 2 records those ordering rules and draws them as a network, which is what later lets you work out dates and find the tasks that control the end date.

Tasks come in two kinds. Unconstrained tasks can start at any time; the slides' example, from redecorating a room, is buying paint. Constrained tasks depend on another task: you can't remove the wallpaper until the decorations are off. When B depends on A, written A → B, A is the predecessor and B the successor. A dependency arises when a task needs either (1) a work product of another task (the design document, the built module), or (2) resources used by another task (the one database expert, the one test lab).

The four types of dependency exam

A dependency links one end of the predecessor (its start or its finish) to one end of the successor, so there are four combinations. Finish-to-start is by far the most common, and start-to-finish is rare.

FINISH-TO-START (FS)most commonA · predecessorB · successorB can't start until A finishesslide example: UI design → front-end devSTART-TO-START (SS)A · predecessorB · successorB can't start until A startsslide example: set up dev env → code backendFINISH-TO-FINISH (FF)A · predecessorB · successorB can't finish until A finishesslide example: API endpoints → API docsSTART-TO-FINISH (SF)rareA · predecessorB · successorB can't finish until A startsslide example: start deploy → finish regression tests
The gold arrow joins the end of A that matters to the end of B that waits. Read each name as "predecessor's end, then successor's end": in start-to-finish, A's start releases B's finish. The bar positions show one schedule that satisfies each rule.
TypeRuleW07 slide exampleClassic example
Finish-to-Start (FS), the most commonB can't start until A finishesComplete the UI design → start front-end developmentCode → unit test
Start-to-Start (SS)B can't start until A startsStart setting up the dev environment → start coding the backendStart coding → start writing tests
Finish-to-Finish (FF)B can't finish until A finishesImplement the API endpoints → complete the API documentationFinish coding → finish code review
Start-to-Finish (SF), rareB can't finish until A startsStart deploying the new version → finish the final regression testsNew system live → old system switched off
Memory hook

Read each name as "predecessor's end, then successor's end". The first word is what A must do; the second is the part of B that waits for it. Finish-to-start: A must finish before B can start. Start-to-finish: A must start before B can finish, like the old system that can't be switched off (finish) until the new one has gone live (start).

Watch out · the practice-exam answer key

The staff's official answers to the practice exam attach the finish-to-start wording ("B can't start until A finishes") to the name "Start-to-Finish" (see Part XII). The table above, taken from the W07 slides, is the version to learn; if a question uses the names, follow the slide definitions.

A dependency can also carry a lag, which forces a wait before the successor (for example FS + 2 days), or a lead, which lets the successor overlap the end of its predecessor.

LAG: FS + 2 DAYSA · pour concreteB · build wallswait 2 daysLEAD: B OVERLAPS AA · write test planB · write tests2-day lead
Lag delays, lead overlaps. A lag is forced waiting time after the predecessor (concrete must cure). A lead lets the successor start before its predecessor is quite finished. The examples are illustrations, not from the slides.
Check yourself"The user manual can't be finished until the final UI is finished." Which dependency type is this?
  1. Finish-to-start
  2. Start-to-start
  3. Finish-to-finish
  4. Start-to-finish

C, finish-to-finish. Nothing stops the writers starting the manual early; what waits is the manual's finish, on the UI's finish. Predecessor's end (finish), then successor's end (finish).

Check yourselfGive the two reasons a dependency can arise between tasks, with a software example of each.

(1) The successor needs a work product of the predecessor: integration testing needs the built modules. (2) The successor needs a resource the predecessor is using: if one specialist must do both the database design and the security review, the second waits for the first even though neither needs the other's output.

Task networks

A task (activity) network is a graphic representation of the task flow. It is used to show the dependencies, to find the critical path (§8.7), and to feed task sequences into scheduling tools such as MS Project. The course uses activity-on-node (AON) networks, in which the boxes are tasks and the arrows are dependencies. Older texts, and the 2002 past exam's Q14, use activity-on-arrow (AOA) instead, where the arrows are the activities and the numbered circles are events (moments when activities start or end).

ACTIVITY-ON-NODE (AON)A · 3dB · 2dC · 4dD · 1dbox = task · arrow = "must finish before"
AON, the course's notation. Every task is a box, so there is room to write its numbers inside it (§8.7).
ACTIVITY-ON-ARROW (AOA)1020304050A · 3dB · 2dC · 4ddummyD · 1dcircle = event · arrow = task
AOA, the older notation. Tasks ride on the arrows between numbered events. Expressing "D needs both B and C" needs a zero-length dummy arrow; past exam Q6 (§8.8) is drawn this way.

The lecture example

The W07 lecture uses one small network throughout, and this Part does too. Tasks a and b have no predecessor. Tasks c and d both follow a; e follows b and c; f follows d; and g follows e. The figure turns that list into a network, adding a Start node before the tasks with no predecessor and an End node after those with no successor.

abcdefgStartEnd
The lecture network: logic only. Tasks a and b have no predecessor, so both hang off Start; f and g have no successor, so both lead to End. Nothing here says how long anything takes. A network shows order; the durations come in step 3.

A software example

The slides' second network (compare Pressman Fig. 25.5) is a concept-development phase. It starts with 1.1 Concept Scoping, followed by 1.2 Concept Planning. Three tasks then follow 1.2: 1.3a Technical Risk Assessment, 1.3b Initial Requirements and 1.3c Build Configuration. All three lead into 1.4 Proof of Concept, which is followed by 1.5a/b/c Concept Implementation A, B and C. These come together in 1.6 Integrate Prototypes, and the network ends with 1.7 Evaluate with Customer.

1.1Concept scoping1.2Concept planning1.3aTech. risk assess.1.3bInitial reqs1.3cBuild config.1.4Proof of concept1.5aConcept impl. A1.5bConcept impl. B1.5cConcept impl. C1.6Integrate protos1.7Eval. w/ customer
A software task network (after Pressman Fig. 25.5). Its shape is "fan out, then fan in" twice: after planning, three concept tasks run in parallel and all must finish before the proof of concept; then three implementations run in parallel and all must finish before integration. The WBS numbers (1.3a…) are reused as the task IDs.
Check yourselfFrom the lecture example's predecessor list, which tasks would you connect to the Start node, and which to the End node? Why?

Start → a and b, because they are the only tasks with no predecessor. f and g → End, because no task lists f or g as a predecessor (c, d and e all have successors). Start and End are zero-duration nodes that give the network a single beginning and a single end.

In short
  • Dependencies come from needing another task's work product or its resources; A → B makes A the predecessor.
  • Four types: finish-to-start (most common), start-to-start, finish-to-finish, start-to-finish (rare); lags delay, leads overlap.
  • An AON network draws tasks as boxes and dependencies as arrows. It shows logic only; durations come next.
8.5

Step 3: Estimating Effort and Duration

Once you know what the tasks are and what order they run in, you need numbers: how much work each task is, and how long it will take on the calendar. Those are two different quantities, and confusing them is a classic beginner's mistake.

Definition · effort

Effort is the amount of work, measured in person-months (or person-days): the number of months one person working full time would need. A 12 person-month task is 12 months of one person's work.

Definition · duration

Duration is elapsed calendar time from start to finish. It depends on the effort, on how many people work on the task, and on how well the work can be shared out.

12 PERSON-MONTHS OF EFFORT, THREE WAYS1 personduration 12 months2 peopleduration 6 months4 peopleduration 3 monthseach block = one person workingfull time for one monthOnly if the work divides perfectly:Brooks says it doesn't (§8.6)
Effort is area; duration is width. The same 12 person-months can in principle be spread thin or stacked up. Adding people shortens the bar only if the work can be split and the extra people cost nothing to coordinate, which is rarely true.

Three-point estimating

Ask a developer "how long will the login page take?" and you get one number, a single-point estimate. It hides the fact that the real answer is uncertain: it might take 3 days if all goes well, or 9 if the authentication library fights back. Three-point estimating captures that uncertainty with three values:

  • Optimistic (O): the duration if everything goes right;
  • Most likely (M): the duration you would expect normally;
  • Pessimistic (P): the duration if things go wrong (but not a catastrophe).

O, M and P come from experience on similar projects; the W07 slides admit this is often "a well-informed best guess".

Formulas · expected time TE exam

Triangular: TE = (O + M + P) / 3, a simple average, which the slides call "less reliable".

PERT (beta): TE = (O + 4M + P) / 6, the more common one, because it weights the most likely value four times as heavily. The weights add to 6 (1 + 4 + 1), hence the division by 6.

2345678910duration (days)how likely each duration isO = 3optimisticM = 5most likelyP = 9pessimisticTE = 5.33triangular 5.67long tail: more can go wrong than rightshort tail
Activity b: O = 3, M = 5, P = 9. P is 4 days above M but O only 2 below, so the curve is lopsided with a long right tail. Both averages land right of the peak: PERT's TE (5.33) less so, because it gives M four times the weight; the triangular average (5.67) is pulled further by the tail.

The W07 slides apply both formulas to the seven activities of the lecture network. Step through the calculation below, then check the full table.

PERT expected times, one activity at a time
01234567891011ACTIVITYapred. —246TE 4.00bpred. —359TE 5.33cpred. a457TE 5.17dpred. a4610TE 6.33epred. b, c457TE 5.17fpred. d348TE 4.50gpred. e358TE 5.17O optimisticM most likelyP pessimisticTE = (O + 4M + P) / 6
  1. The seven activities of the lecture network, each with an optimistic (O), most likely (M) and pessimistic (P) duration in days. Each step adds one row and computes its PERT expected time.
  2. a: TE = (2 + 4×4 + 6) / 6 = (2 + 16 + 6) / 6 = 24/6 = 4.00. Triangular: (2 + 4 + 6) / 3 = 4.00. The spread is symmetric (M is midway), so TE = M exactly.
  3. b: TE = (3 + 4×5 + 9) / 6 = (3 + 20 + 9) / 6 = 32/6 = 5.33. Triangular: (3 + 5 + 9) / 3 = 5.67. P is 4 above M but O only 2 below, so TE > M.
  4. c: TE = (4 + 4×5 + 7) / 6 = (4 + 20 + 7) / 6 = 31/6 = 5.17. Triangular: (4 + 5 + 7) / 3 = 5.33. P is 2 above M but O only 1 below, so TE > M.
  5. d: TE = (4 + 4×6 + 10) / 6 = (4 + 24 + 10) / 6 = 38/6 = 6.33. Triangular: (4 + 6 + 10) / 3 = 6.67. P is 4 above M but O only 2 below, so TE > M.
  6. e: TE = (4 + 4×5 + 7) / 6 = (4 + 20 + 7) / 6 = 31/6 = 5.17. Triangular: (4 + 5 + 7) / 3 = 5.33. P is 2 above M but O only 1 below, so TE > M.
  7. f: TE = (3 + 4×4 + 8) / 6 = (3 + 16 + 8) / 6 = 27/6 = 4.50. Triangular: (3 + 4 + 8) / 3 = 5.00. P is 4 above M but O only 1 below, so TE > M.
  8. g: TE = (3 + 4×5 + 8) / 6 = (3 + 20 + 8) / 6 = 31/6 = 5.17. Triangular: (3 + 5 + 8) / 3 = 5.33. P is 3 above M but O only 2 below, so TE > M.
  9. All seven done. The highlighted rows, a, c, e, g, are the critical path you will find in §8.7: 4.00 + 5.17 + 5.17 + 5.17 = 19.5 days. Notice every TE except a's sits right of M: in software the pessimistic tail is longer.
Act.Pred.OMPPERT TETriangular
a—246(2 + 16 + 6)/6 = 24/6 = 4.004.00
b—359(3 + 20 + 9)/6 = 32/6 = 5.335.67
ca457(4 + 20 + 7)/6 = 31/6 = 5.175.33
da4610(4 + 24 + 10)/6 = 38/6 = 6.336.67
eb, c457(4 + 20 + 7)/6 = 31/6 = 5.175.33
fd348(3 + 16 + 8)/6 = 27/6 = 4.505.00
ge358(3 + 20 + 8)/6 = 31/6 = 5.175.33

TE comes out greater than M whenever P is further from M than O is. That skew is typical of software, where things go wrong more often than right. Activity a is the only symmetric one (2, 4, 6), so its TE equals M.

Check yourselfAn activity has O = 6, M = 8, P = 16 days. Find the PERT TE and the triangular estimate. Which is larger, and why?
PERT:       TE = (6 + 4×8 + 16) / 6 = (6 + 32 + 16) / 6 = 54/6 = 9.00 days
Triangular: TE = (6 + 8 + 16) / 3 = 30/3 = 10.00 days

The triangular value is larger. Both are pulled right of M = 8 by the long pessimistic tail (P is 8 above M, O only 2 below), but the triangular formula gives P a third of the weight, while PERT gives it only a sixth and M two-thirds.

Spread and probability standard PERT, beyond the 2026 slides

PERT can also say how sure an estimate is. The spread of each activity is its standard deviation, σ = (P − O) / 6, and its variance is σ². A wide O-to-P range means a large σ and an uncertain task. To combine the activities along a path you add the variances, not the σs, and then take the square root. With the expected path length and its σ, a normal-distribution table gives the chance of finishing by any date.

From three-point estimates to a probability
Critical path a – c – e – gactOPσ=(P−O)/6σ2a264/6 = 0.6670.444c473/6 = 0.5000.250e473/6 = 0.5000.250g385/6 = 0.8330.694TE sum = 4 + 5.17 + 5.17 + 5.17 = 19.5Σσ2 = 1.639 → σ = √1.639 = 1.28z = (21 − 19.5) / 1.28 = 1.17P(finish ≤ 21) ≈ 88%≈ 88%15161718192021222324project duration (days)mean 19.521 days (z = 1.17)
  1. The question: how likely is the project to finish within 21 days? PERT answers it from the three-point estimates of the activities on the critical path, a, c, e and g.
  2. The expected duration of the path is the sum of the TEs: 4 + 5.17 + 5.17 + 5.17 = 19.5 days. That is the centre of the curve.
  3. Each activity's spread is its standard deviation, σ = (P − O)/6: the range from optimistic to pessimistic is treated as about six standard deviations. a: 4/6, c: 3/6, e: 3/6, g: 5/6.
  4. To combine activities, add the variances (σ²), never the σs: (4/6)² + (3/6)² + (3/6)² + (5/6)² = (16 + 9 + 9 + 25)/36 = 59/36 = 1.639. So the path's σ = √1.639 = 1.28 days, and the curve can be drawn.
  5. Convert the target into standard deviations from the mean: z = (21 − 19.5)/1.28 = 1.17. 21 days is 1.17 σ above the expected finish.
  6. The area under a normal curve to the left of z = 1.17 is about 0.88 (from a z-table), so there is roughly an 88% chance of finishing in 21 days or less, and a 12% chance of running over.
Common mistake

Adding the σs: 4/6 + 3/6 + 3/6 + 5/6 = 2.5 days, nearly double the correct 1.28. Variances add; standard deviations don't.

Check yourselfWhy do we add variances rather than standard deviations when combining activities on a path?

Because for independent activities it is the variances that add: σ²path = σ²1 + σ²2 + …. Intuitively, some activities run long while others run short, so the deviations partly cancel and the total spread grows more slowly than the sum of the individual spreads. Adding σs would assume every activity goes wrong at once, which overstates the risk.

The Putnam–Norden–Rayleigh (PNR) curve

The Week 12 revision lecture lists the PNR curve under this step, although the 2026 W07 slides have no slide on it, so know the idea. It comes from Pressman, the textbook the slides cite as reference [2]. Norden found that the effort spent on a development project, plotted against time, follows a Rayleigh curve: staffing builds up to a peak and then tails off. Putnam applied this to software, and the consequence for scheduling is that effort and delivery time trade off non-linearly.

effort per month (staffing)time →peakbuild-uptail-off
Norden's Rayleigh curve. Staffing on a development project builds up, peaks and tails off; it is not a flat rectangle. (Shape only; there are no numbers on the slide.)
impossibleregion0m1m2m3m4m0.750.91.01.11.3delivery time t_a (× t_d)effort E_a1.52mm0.68m3.16m
The Putnam trade-off, E_a = m × (t_d / t_a)⁴. Squeeze delivery 10% and effort rises 52%; relax it 10% and effort falls by about a third. At the 0.75 t_d limit the effort is (1/0.75)⁴ ≈ 3.16 times nominal; any shorter is the impossible region.

Effort is lowest when delivery is unhurried, and as you try to deliver earlier the effort needed rises steeply. Pressman puts the practical limit at about 0.75 td, three-quarters of the nominal delivery time; compressing further enters the "impossible region", where the risk of failure becomes very high. From Putnam's software equation he derives the trade-off as

E_a = m × (t_d⁴ / t_a⁴)

E_a  effort in person-months for the delivery time you want
t_a  the delivery time you want
t_d  the nominal (unhurried) delivery time
m    a constant: set t_a = t_d and E_a = m, so m is the effort at the nominal time

Compress to 90%:  t_a = 0.9 t_d  →  E_a = m × (1/0.9)⁴ = 1.52 m   (+52% effort for −10% time)
Stretch to 110%:  t_a = 1.1 t_d  →  E_a = m × (1/1.1)⁴ = 0.68 m   (−32% effort for +10% time)

The fourth power is what makes the curve so steep. This is the quantitative form of Brooks' point in §8.6 that people and months are not interchangeable: compressing a schedule costs far more effort than the time it saves, while a modestly later date saves a great deal of effort.

Check yourselfA sponsor wants a 20-month project delivered in 18 months "by adding a few people". Using the PNR trade-off, how much extra effort should they expect, and is it feasible?
t_a / t_d = 18/20 = 0.9
E_a = m × (1/0.9)⁴ = 1.52 m

About 52% more effort for a 10% shorter schedule. It is above the 0.75 td limit (15 months), so it is not in the impossible region, but it is expensive and risky; Brooks' law (§8.6) warns that adding people late can make things worse. A better answer is to negotiate scope or the date.

Check yourself[Past exam 433-443 2002 Q5] Why is CPM still used instead of PERT, despite modern computing power?

CPM (the Critical Path Method, DuPont/Remington Rand, 1957) uses one deterministic duration per activity and supports time–cost trade-offs (crashing, §8.8). PERT (the Program Evaluation and Review Technique, US Navy Polaris, 1958) uses three-point estimates to give an expected duration and a variance, and so a probability of meeting a date.

Computing power was never the constraint; estimate quality is. CPM is simple, needs little data, is understood by stakeholders, and supports crashing and levelling. PERT's precision is partly illusory: the O and P values are guesses, it assumes a beta distribution, and it ignores near-critical paths. Verdict: CPM suffices for well-understood work, while high-uncertainty software tasks benefit from three-point estimates (or Monte Carlo simulation), because they make the uncertainty and the size of buffers visible. (The guide's model answer, not an official one.)

In short
  • Effort (person-months) is not duration (calendar time).
  • Three-point estimates: triangular TE = (O + M + P)/3; PERT TE = (O + 4M + P)/6. Software skews TE above M.
  • σ = (P − O)/6; add variances along a path, then z = (target − mean)/σ gives the chance of meeting a date (lecture: 88% for 21 days).
  • PNR: effort rises with the fourth power as you compress; ~0.75 td is the limit.
8.6

Step 4: Allocating Resources

An estimate in person-months says nothing yet about who will do the work or whether they are free. Step 4 assigns people (and equipment) to tasks and checks that the plan never asks for more of them than exist. The arithmetic is easy; the judgement is not.

Formula · Pressman

Number of personnel = Effort / Time duration

For example, 24 person-months of effort delivered over 6 months needs 24 / 6 = 4 people.

The calculation is simple, but allocation is complicated. The project manager has to weigh each person's expertise (only some people can do the 3D rendering) and availability (they may be on leave or on another project), and that may force the schedule to be validated and adjusted (W07, citing Brooks' The Mythical Man-Month, ch. 2).

People and months are not interchangeable

The formula above quietly assumes that 4 people for 6 months equals 6 people for 4 months. Fred Brooks showed why it doesn't. Some tasks are sequential and can't be split at all (nine women can't make a baby in one month). New people need training, usually from the experienced people who were doing the work. And the number of communication paths grows much faster than the team: n people have n(n − 1)/2 pairs who may need to talk.

4 people → 4×3/2 = 6 paths
4 people, 6 paths. Every pair of people is a channel that must be kept in sync.
12 people → 12×11/2 = 66 paths
12 people, 66 paths. Three times the people, eleven times the paths. Coordination cost grows roughly with the square of team size.
Brooks' law

"Adding manpower to a late software project makes it later." The newcomers add training effort and communication paths before they add any output.

Check yourselfA 36 person-month project must be delivered in 9 months. How many people does Pressman's formula say you need, and how many communication paths will that team have?
People = Effort / Duration = 36 / 9 = 4 people
Paths  = n(n − 1)/2 = 4 × 3 / 2 = 6

If the deadline were halved to 4.5 months the formula would say 8 people, with 8 × 7 / 2 = 28 paths: more than four times the coordination, which is why the formula is only a starting point.

Resource loading and levelling

Resource loading is the demand for a resource in each period (people needed per day, say), usually drawn as a histogram under the Gantt chart. Over-allocation means that the demand exceeds what is available in some period: the plan books more people than exist.

Resource levelling fixes over-allocation by delaying non-critical tasks within their float (the slack they have before they would delay the project, §8.7) so that demand stays within the limit. If the float runs out, the end date slips, and the chain linked by logic and by shared resources becomes the resource-constrained critical path. PMBOK calls it smoothing when the end date doesn't move. Past exam Q2(D) in §8.14 works a full example.

Resource levelling: delay non-critical work within its float
TASKDAY012345678910X · 2 peopleXW · 1 personWY · 2 peopleYfloat 3Y (moved within float)Yfloat used upend day 6end slips to day 9RESOURCE LOADINGpeople needed per day012345444111limit: 3 peopleover-allocated222333limit: 3 people222111222limit: 2 people
  1. The early-start plan. X (2 people) then W (1 person) form the critical path, 6 days. Y (2 people) has no predecessor and 3 days of total float. Started as early as possible, Y overlaps X, so days 0–3 need 4 people, but only 3 are available: the plan is over-allocated, and therefore invalid.
  2. Level it. Y is not critical, so delay it within its float to days 3–6, alongside W. Demand is now 2, 2, 2, 3, 3, 3: never above 3. The end date stays at day 6, because Y used only its own float. PMBOK calls a no-slip adjustment like this smoothing.
  3. When the float runs out. Suppose only 2 people are available. Y (2 people) can't overlap X (2) or W (1 + 2 = 3), so it must wait until day 6 and runs 6–9. It needed a 6-day delay but had only 3 days of float, so the project slips 6 − 3 = 3 days, to day 9. The chain X → W → Y, linked by logic and by shared people, is now the resource-constrained critical path.
Check yourselfLevelling a schedule removes an over-allocation by delaying task Y by 5 days. Y has a total float of 3 days. What happens to the project end date, and what has happened to the critical path?

The end date slips by 5 − 3 = 2 days, because Y used up all of its float and then 2 more days. The critical path is now resource-constrained: Y and the task it had to wait for are linked by a shared resource rather than by logic, so both are now critical.

Check yourselfMCQ: Which statement about resource levelling is correct?
  1. It shortens the project by adding people to critical tasks.
  2. It delays non-critical tasks within their float so demand stays within availability, and may extend the project if the float runs out.
  3. It always keeps the end date fixed.
  4. It moves critical tasks earlier to free up people later.

B. A describes crashing (§8.8). C describes smoothing, the special case where the end date doesn't move; levelling in general may extend it. D is impossible: critical tasks already start as early as their predecessors allow.

In short
  • People = effort / duration (24 PM over 6 months = 4 people), but expertise and availability complicate allocation.
  • People and months aren't interchangeable: sequential work, training, n(n − 1)/2 communication paths (4 → 6, 12 → 66). Brooks' law: adding people late makes it later.
  • Levelling delays non-critical tasks within their float to remove over-allocation; when float runs out the date slips and a resource-constrained critical path appears.
8.7

Step 5: the PERT Chart and Critical Path

You now have tasks, dependencies and durations. Step 5 turns them into dates and answers the most important scheduling question: which tasks control the end date? A delay to most tasks is absorbed by spare time, but a delay to a few of them delays the whole project. Finding those few is critical path analysis.

A PERT chart is a task network that shows the dependencies together with timing information and the critical path. It helps the project manager to understand the project's characteristics and make scheduling trade-offs, to perform critical path analysis, and to monitor progress and re-plan.

Six terms from the W07 slides exam
  • An activity (task) is part of a project that requires resources and time.
  • A milestone is the completion of an activity that evidences a deliverable or the end of a phase. It is an event taking zero time.
  • Free float (free slack) is the time a task can be delayed without delaying subsequent tasks.
  • Total float (total slack) is the time a task can be delayed without delaying project completion.
  • The critical path is the longest continuous path from the initial to the terminal event.
  • A critical activity is an activity with total float = 0.

Why is the critical path the longest path? Because every path through the network has to be completed, so the project can't finish before its longest path does. The longest path therefore is the project's duration, and it has no spare time anywhere along it.

The PERT node

In the course each node of a PERT chart is a box with the task's name and duration, its early and late start and finish times, and its slack:

ESdurEFLSslackLFtask nameforward pass fills the top:EF = ES + durationbackward pass fills the bottom:LS = LF − durationslack (total float):LS − ES = LF − EFearliest the task can runlatest it can run without delaying the endcritical task: slack 0, drawn with a red border
Six numbers per task. The forward pass fills the top row from left to right across the network; the backward pass fills the bottom row from right to left. Where the two rows agree (ES = LS), the task has no slack and is critical.

The procedure exam

  1. Draw the AON network from the predecessor table, with Start and Finish nodes.
  2. Forward pass (left to right). Tasks with no predecessor have ES = 0. For every task, EF = ES + D, and ES = the MAXIMUM EF of its predecessors, because a task can't start until all of them are done. The project duration is the largest EF.
  3. Backward pass (right to left). Tasks with no successor have LF = project duration. Working backwards, LS = LF − D, and LF = the MINIMUM LS of its successors, because a task must finish in time for whichever successor has to start first.
  4. Compute the floats: Total float = LS − ES = LF − EF, and Free float = earliest successor ES − EF.
  5. The critical path is the chain of TF = 0 tasks. Check it by summing every path: the longest is critical, and there may be several. Time starts at 0, so a task ending at 4 lets its successor start at 4.

Worked example 1: the lecture chart

The lecture network from §8.4, with the durations rounded to M: a 4, b 5, c 5, d 6, e 5, f 4, g 5. Step through the forward pass first.

Forward pass: early start and early finish
044a055b459c4610d9514e10414f14519gStartEnd19duration
  1. The network with each task's duration (the lecture's M values, rounded: a 4, b 5, c 5, d 6, e 5, f 4, g 5). The top-left cell of each node will hold its early start (ES), the top-right its early finish (EF). Time starts at 0.
  2. a and b have no predecessor, so ES = 0. Then EF = ES + D: a: 0 + 4 = 4; b: 0 + 5 = 5.
  3. c and d each have one predecessor, a, so ES = EF(a) = 4. c: EF = 4 + 5 = 9; d: EF = 4 + 6 = 10.
  4. e is a merge point: it needs both b and c finished. ES = max(EF b, EF c) = max(5, 9) = 9, because e can't start until the later of the two is done. EF = 9 + 5 = 14.
  5. f follows d: ES = 10, EF = 10 + 4 = 14.
  6. g follows e: ES = 14, EF = 14 + 5 = 19. The project duration is the largest EF of the tasks feeding End: max(EF f, EF g) = max(14, 19) = 19 days.
Backward pass, float and the critical path
044004a055449b459409c46109515d95149014e1041415519f1451914019gStartEndLF = 19
  1. The forward pass is done: the project takes 19 days. Now work backwards from End to fill the bottom row, the late finish (LF) and late start (LS): the latest each task can finish and start without delaying the project.
  2. f and g have no successor except End, so LF = project duration = 19. Then LS = LF − D: g: 19 − 5 = 14; f: 19 − 4 = 15.
  3. e's only successor is g, so LF(e) = LS(g) = 14, LS = 14 − 5 = 9. d's only successor is f, so LF(d) = LS(f) = 15, LS = 15 − 6 = 9.
  4. c and b both feed e, so each has LF = LS(e) = 9. c: LS = 9 − 5 = 4; b: LS = 9 − 5 = 4.
  5. a is a burst point with two successors, c and d. LF(a) = min(LS c, LS d) = min(4, 9) = 4, because a must finish in time for whichever successor has to start first. LS = 4 − 4 = 0.
  6. Now the slack (total float) of each task: TF = LS − ES. a 0 − 0 = 0; b 4 − 0 = 4; c 4 − 4 = 0; d 9 − 4 = 5; e 9 − 9 = 0; f 15 − 10 = 5; g 14 − 14 = 0.
  7. The tasks with zero float, a → c → e → g, form the critical path: 4 + 5 + 5 + 5 = 19 days. Any delay to one of them delays the project day for day.

Every number in one table, including the free float (FF = earliest ES of the successors − own EF; for a task feeding only End, use the project duration):

TaskDESEFLSLFTFFF
a4040400
b5054944
c5494900
d641091550
e5max(5, 9) = 91491400
f41014151955
g51419141900
Free float, task by task
a: successors c, d start at 4        → FF = 4 − 4  = 0
b: successor e starts at 9            → FF = 9 − 5  = 4
c: successor e starts at 9            → FF = 9 − 9  = 0
d: successor f starts at 10           → FF = 10 − 10 = 0
e: successor g starts at 14           → FF = 14 − 14 = 0
f: End at 19                          → FF = 19 − 14 = 5
g: End at 19                          → FF = 19 − 19 = 0

Summing the paths confirms the result, as step 5 of the procedure says to:

PathSumLength
a – d – f4 + 6 + 414
b – e – g5 + 5 + 515
a – c – e – g4 + 5 + 5 + 519, critical

Total float versus free float

Task d is the example to remember. It has TF 5 but FF 0. Total float says d can slip 5 days before the project is late; free float says any slip at all pushes back its successor f, because f starts the moment d ends. The 5 days are shared along the chain d–f: if d uses 3 of them, f has only 2 left.

ON PLAN02468101214161820dfend 19TF 5TF 5d: TF 5, FF 0 (f starts the moment d ends)
Total float is shared along a chain. d and f each show 5 days of total float, but it is the same 5 days.
d SLIPS 3 DAYS02468101214161820dfend 19+3f is pushed 3 days; only 2 days of float are left
Free float 0 means the next task moves. d had no free float, so its slip pushes f, which loses 3 of the shared 5 days. The project still ends at 19.

The slide adds that two parallel paths could both be critical. And with the unrounded TE values from §8.5 the critical path is the same, a–c–e–g, at 19.5 days (4 + 5.17 + 5.17 + 5.17); this version appears in the slides' MS Project Gantt chart (§8.9).

Check yourselfMCQ: In the forward pass, task K has predecessors with early finishes 7, 12 and 9. What is K's early start?
  1. 7
  2. 9
  3. 12
  4. 28

C, 12. The forward pass takes the maximum EF of the predecessors: K can't start until all three are done, and the last finishes at 12. (A is the backward-pass habit of taking the minimum; D adds them up.)

Check yourselfMRQ: Select all true statements about the lecture network.
  1. b can slip 4 days without delaying any other task.
  2. d can slip 5 days without delaying any other task.
  3. f can slip 5 days without delaying the project.
  4. The critical path is the path with the most tasks.

A and C. b has FF 4 (e doesn't start until 9 anyway), so A is true. d has TF 5 but FF 0, so a slip pushes f: B is false. f has TF 5 (and FF 5), so C is true. D is false: the critical path is the longest path in time, not in number of tasks (here it happens to have the most tasks too, but that is a coincidence).

Worked example 2: the tutorial walkthrough

The tutorial uses durations A 4, B 5, C 5, D 6, E 5, F 4, G 16, H 4. C and D depend on A; F and H depend on D; E depends on B and C; and G depends on E.

044004A055449B459409C4610201626D95149014E10414261630F10414261630H14163014030GStartEnd
The tutorial walkthrough, solved. Critical path A → C → E → G = 4 + 5 + 5 + 16 = 30 days (red). D, F and H share 16 days of float; B has 4.
TaskABCDEFHG
ES / EF0/40/54/94/109/1410/1410/1414/30
LS / LF0/44/94/920/269/1426/3026/3014/30
Slack04016016160

Critical path A–C–E–G = 4 + 5 + 5 + 16 = 30 days. D's LF = min(LS F, LS H) = min(26, 26) = 26, since both of its successors have LS 26. D's free float is 0, because F and H start right after it (ES 10 = D's EF 10). F and H each have FF 16, since they feed only the End at 30.

Check yourselfIn the tutorial network, G's duration is cut from 16 to 8 days. What is the new project duration, and which path is critical?
A–C–E–G = 4 + 5 + 5 + 8 = 22
B–E–G   = 5 + 5 + 8     = 18
A–D–F   = 4 + 6 + 4     = 14
A–D–H   = 4 + 6 + 4     = 14

The project now takes 22 days and A–C–E–G is still critical. Only once the A–C–E–G path dropped below another path would the critical path change.

Worked example 3: the software chart (W07)

The durations for the Pressman-style network of §8.4 are 1.1 = 2, 1.2 = 2, 1.3a = 1, 1.3b = 4, 1.3c = 2, 1.4 = 1, 1.5a = 5, 1.5b = 2, 1.5c = 3, 1.6 = 4 and 1.7 = 3. (The slide's table mislabels 1.5b and 1.5c as "1.5a".)

0220021.1 Scoping2242041.2 Planning4157381.3a Risk4484081.3b Reqs4266281.3c Config8198091.4 PoC951490141.5a Impl A9211123141.5b Impl B9312112141.5c Impl C14418140181.6 Integrate18321180211.7 Evaluate
Worked example 3, solved. Two merge points decide everything: 1.4 waits for the slowest of the three 1.3 tasks (1.3b, EF 8), and 1.6 for the slowest implementation (1.5a, EF 14). Critical path 1.1–1.2–1.3b–1.4–1.5a–1.6–1.7 = 21 days.
Forward pass
1.1  0 → 2         1.2  2 → 4
1.3a 4 → 5         1.3b 4 → 8         1.3c 4 → 6
1.4  ES = max(5, 8, 6) = 8  → 9
1.5a 9 → 14        1.5b 9 → 11        1.5c 9 → 12
1.6  ES = max(14, 11, 12) = 14 → 18
1.7  18 → 21                                   project = 21 days

Slack: 1.3a = 8 − 5 = 3   1.3c = 8 − 6 = 2   1.5b = 14 − 11 = 3   1.5c = 14 − 12 = 2

That leaves the critical path 1.1–1.2–1.3b–1.4–1.5a–1.6–1.7, 21 days (2 + 2 + 4 + 1 + 5 + 4 + 3).

Near-critical paths and merge bias

Near-critical paths have little float, like b–e–g in the lecture network with its 4 days. A small slip makes them critical, so monitor them as well. This is also a weakness of classic PERT: because it looks at a single path, it understates the risk when several paths are almost as long. This effect is called merge bias.

Merge and burst activities

The W07 slides don't use these two terms, but the official practice exam asked for the merge activities of a network (see Part XII), so know them. A merge activity has two or more immediate predecessors: it is where paths join. A burst activity is the opposite, with two or more immediate successors, where paths split. To find merge activities, read down the predecessor column for any task with more than one entry.

abcdefgStartEndBURST: 2 successorsMERGE: 2 predecessors
Paths split at a burst and join at a merge. e is the lecture network's only merge activity (predecessors b and c), and a its only burst activity (successors c and d). Start and End are not activities, so they don't count.

They matter for two reasons you can use when justifying an answer. The forward pass takes the maximum EF at a merge activity, so a slip on any feeding path, critical or not, can delay it once that path's float is used up. And merge activities are where merge bias comes from: a task that needs several paths to finish is less likely to start on time than any one path suggests, so they are worth monitoring closely.

Check yourselfWhich activities in the tutorial network (A 4; B 5; C, D after A; E after B and C; F, H after D; G after E) are merge activities, and which are burst activities?

Merge: E only, the only task with more than one predecessor (B and C). Burst: A (successors C and D) and D (successors F and H).

In short
  • Forward pass: ES = max EF of predecessors, EF = ES + D. Backward pass: LF = min LS of successors, LS = LF − D.
  • Total float = LS − ES (slip before the project is late); free float = earliest successor ES − EF (slip before the next task moves). Float is shared along a chain.
  • The critical path is the longest path, all TF = 0: lecture a–c–e–g 19 days; tutorial A–C–E–G 30; software chart 21.
  • Merge activities (≥ 2 predecessors) and near-critical paths need watching.
8.8

Delays, Acceleration, Crashing and Fast-Tracking exam

A schedule is only a prediction. Tasks will slip, and sponsors will ask whether the date can be brought forward. The floats from §8.7 let you answer both kinds of question precisely, and without redrawing the whole network.

Rules · the effect of a delay or an acceleration
  • If a critical activity is delayed by x, the project is x late.
  • For a non-critical activity, it depends on the size of the delay. A delay within its free float affects nothing. Between FF and TF, the successors move but the end date doesn't. Beyond TF, the project slips by (delay − TF), and the critical path changes.
  • Accelerating a critical activity shortens the project only until another path becomes critical; accelerating a non-critical activity gains nothing.
delay ≤ FFnothing else movesFF to TFsuccessors movedelay > TFproject slips by delay − TF0123456789101112delay to the task (days)FF = 7TF = 9EXAMPLE: TASK T7 OF PAST EXAM Q2 (EXPECTED DURATIONS, §8.14)e.g. a 10-day delay to T7 makes the project 10 − 9 = 1 day late
Three zones for a non-critical task. Free float is the inner, "nobody notices" zone; total float is the outer, "the boss doesn't notice" zone. A critical task has FF = TF = 0, so it has only the red zone: every day of delay is a day late.

The lecture example shows all three effects on the 19-day network. Each step below changes one task and re-measures the three paths.

What-if: delays and accelerations on the lecture network
0246810121416182022path length (days)a – d – fb – e – ga – c – e – g141519project 19141521project 21142019project 20141516project 16141515project 15141514project 15baseline: c = 5, b = 5c slips 2 days (c = 7)b slips 5 days (b = 10)c shortened by 3 (c = 2)c shortened by 4 (c = 1)c shortened by 5 (c = 0)
  1. Baseline. The three paths are 14, 15 and 19 days long; a–c–e–g is the longest, so it is critical and the project takes 19 days.
  2. c (critical) slips 2 days. a–c–e–g becomes 4 + 7 + 5 + 5 = 21. A critical delay of x makes the project x late: 21 days.
  3. b (non-critical, TF 4) slips 5 days. b–e–g becomes 10 + 5 + 5 = 20, now longer than a–c–e–g. The project slips by delay − TF = 5 − 4 = 1 day, to 20 days, and b–e–g becomes the critical path.
  4. Accelerate c by 3 days. a–c–e–g = 4 + 2 + 5 + 5 = 16, still the longest, so the project gains all 3 days: 16 days.
  5. Accelerate c by 4 days. a–c–e–g = 15, but b–e–g is also 15. The project is 15 days, and now there are two critical paths.
  6. Accelerate c by 5 days. a–c–e–g = 14, but b–e–g still takes 15, so the project is still 15 days. The last day of acceleration bought nothing: b–e–g now governs. That is diminishing returns.
Check yourselfIn the lecture network (a–c–e–g = 19, b–e–g = 15, a–d–f = 14; d has TF 5, FF 0), task d slips 7 days. What is the new project duration and critical path?

d is non-critical with TF 5, so the project slips by 7 − 5 = 2 days, to 21. Check: a–d–f = 4 + 13 + 4 = 21 > 19. The new critical path is a–d–f. (f moved as soon as d slipped at all, because d's FF is 0.)

Crashing and fast-tracking

When the sponsor needs the project earlier, there are two ways to shorten it. The W07 slides define crashing as shortening the project by shortening the critical path, and give two ways of doing it: (1) by removing dependencies between critical activities, or (2) by shortening the durations of critical activities.

PMBOK splits these apart. It reserves crashing for (2), adding resources (people, overtime, tools) to critical tasks at the least extra cost, and calls (1) fast-tracking: overlapping or parallelising activities that were sequential, which raises the risk of rework.

CRASHING (PMBOK)BuildTestBuild +2Testsame order, shorter task: add people, overtime, tools ($)
Crashing shortens a critical task itself by adding resources. Faded bars are the original plan.
FAST-TRACKING (PMBOK)DesignBuildDesignBuildsame durations, overlapped: cheaper, but rework risk
Fast-tracking removes (or loosens) a dependency so sequential tasks overlap. The gold wash is work done on an unfinished design.
How this is examined

Give the slides' version (crashing = shorten the critical path, by removing dependencies or shortening durations) and then add the PMBOK terms (crashing vs fast-tracking). Always say that only critical tasks are worth shortening, and only until another path becomes critical.

Least-cost crashing older exam topic

Older exams ask for the cheapest way to shorten a project. Every day saved also saves indirect costs (office, management, overheads that accrue per day), so crashing is worth it as long as a day of crashing costs less than a day of overheads. It is found step by step:

  1. Compute each activity's cost slope = (crash cost − normal cost) / (normal duration − crash duration), the extra cost per day saved.
  2. Crash the cheapest critical activity by one unit. If there are several critical paths, crash the cheapest combination that shortens all of them.
  3. Repeat while the marginal cost is less than the indirect cost saved per day and the crash limits allow.
  4. At each step, total cost = direct cost + indirect cost × duration.
Past exam 433-443 2002 Q14 · the data

An activity-on-arrow network (§8.4). Indirect costs are $400 per day. Find the least-cost plan.

ActivityArrowNormalNormal costCrashCrash costCost slopeMax crash
A10→205$2002$700500/3 = $166.673
B10→307$5005$700200/2 = $1002
C20→301$100——can't crash0
D20→405$1,0003$1,600600/2 = $3002
E30→404$6002$800200/2 = $1002
Least-cost crashing, one day at a time (past exam Q6)
10203040A · 5dB · 7dC · 1dD · 5dE · 4dA · 5dB · 7dC · 1dD · 5dE · 3dA · 4dB · 7dC · 1dD · 5dE · 2dA · 3dB · 6dC · 1dD · 5dE · 2dA · 2dB · 5dC · 1dD · 5dE · 2dA · 2dB · 5dC · 1dD · 5dE · 2dCOST SLOPES ($/DAY, MAX DAYS): A 166.67 (3) B 100 (2) C — D 300 (2) E 100 (2)pathdaysA – DA – C – EB – E101011duration 11 daysdirect $2,400indirect 400 × 11 = $4,400total $6,80010910duration 10 daysdirect $2,500indirect 400 × 10 = $4,000total $6,500979duration 9 daysdirect $2,766.67indirect 400 × 9 = $3,600total $6,366.67868duration 8 daysdirect $3,033.33indirect 400 × 8 = $3,200total $6,233.33757duration 7 daysdirect $3,300indirect 400 × 7 = $2,800total $6,100757duration 7 daysdirect $3,300indirect 400 × 7 = $2,800total $6,100B and E fully crashed: stop
  1. Normal durations. Paths: A–D = 5 + 5 = 10, A–C–E = 5 + 1 + 4 = 10, B–E = 7 + 4 = 11, so B–E is critical and the project takes 11 days. Direct cost = 200 + 500 + 100 + 1000 + 600 = $2,400; indirect = $400 × 11 = $4,400; total $6,800.
  2. Crash E by 1 day ($100, the cheapest activity on B–E, tied with B; E also shortens A–C–E). $100 < the $400 a day saves, so it is worth it. Paths 10 / 9 / 10; direct $2,500, indirect $4,000, total $6,500. Now A–D and B–E are both critical.
  3. Two critical paths, so any useful crash must shorten both. Options: A + E = 166.67 + 100 = $266.67; A + B = $266.67; D + B or D + E = $400. Take A + E ($266.67 < $400). Paths 9 / 7 / 9; direct $2,766.67, indirect $3,600, total $6,366.67.
  4. E is used up (crashed 2 of its 2 days), so the cheapest pair is now A + B ($266.67). Paths 8 / 6 / 8; direct $3,033.33, indirect $3,200, total $6,233.33.
  5. A + B again ($266.67 < $400). Paths 7 / 5 / 7; direct $3,300, indirect $2,800, total $6,100. A has now been crashed 3 days (its maximum) and B 2 (its maximum).
  6. Stop. B and E are fully crashed, so B–E can't go below 5 + 2 = 7, and the project can't be shortened any further. Least-cost plan: 7 days, crash A by 3, B by 2, E by 2; C and D normal; total $6,100, saving $700 on the normal $6,800.
StepActionA–D / A–C–E / B–EDaysDirectIndirectTotal
0Normal10 / 10 / 11112,4004,4006,800
1Crash E by 1 ($100 < $400)10 / 9 / 10102,5004,0006,500
2Two critical paths: cheapest pair A + E ($266.67)9 / 7 / 992,766.673,6006,366.67
3E used up: A + B ($266.67)8 / 6 / 883,033.333,2006,233.33
4A + B ($266.67)7 / 5 / 773,3002,8006,100
5B and E fully crashed, so B–E can't go below 7: stop
Model answer (the guide's)

Least-cost plan: 7 days, crashing A by 3, B by 2 and E by 2, with C and D at normal. Total $6,100 (direct $3,300 + indirect $2,800), saving $700 on the normal $6,800. Each step was worth taking because it cost less than the $400 per day it saved. D ($300/day) is never worth crashing, because A shortens path A–D more cheaply.

$2,000$3,000$4,000$5,000$6,000$7,0007 days8 days9 days10 days11 days$6,800$6,500$6,366.67$6,233.33$6,100directindirect ($400/day)totaldirect cost per day saved: $100, then $266.67, $266.67, $266.67
Why it pays to crash, and why it gets dearer. Each day saved cuts $400 of indirect cost but adds the crash cost: $100 for the first day, then $266.67, because two paths must now be shortened together. While the marginal crash cost stays below $400 the total keeps falling; here the crash limits stop it at 7 days.
Check yourself[Past exam 433-443 2002 Q4 / Q9] (a) Why determine the critical path, and what happens if critical activities are delayed or accelerated? (b) "The cost of acceleration rises exponentially near completion." Do you agree?

(a) The critical path gives the minimum duration and shows which tasks have zero float. Knowing this lets you focus monitoring, risk management and the best staff on those tasks. It also shows how far the other tasks may slip, and where crashing or fast-tracking actually works. A delay of x on the critical path makes the project x late, while acceleration shortens the project only until another path becomes critical.

(b) Agree, with nuance: the cost curve is convex rather than literally exponential. The cost rises because the cheapest options are used first, and later days need several parallel activities crashed at once (in Q6, $100 for the first day, then $266.67 per day), until the crash limits make further compression impossible. Near the end, few activities remain to compress. On top of that, new staff bring ramp-up and communication overhead (Brooks), and overtime brings fatigue and defects. (The guide's model answer.)

Check yourselfAn activity's normal duration is 6 days at $1,200; it can be crashed to 4 days at $2,000. What is its cost slope, and should you crash it if indirect costs are $300 a day and it is on the only critical path?
slope = (2,000 − 1,200) / (6 − 4) = 800 / 2 = $400 per day

No. Each day of crashing costs $400 but saves only $300 of indirect cost, so the total cost would rise by $100 per day. Crash only while the cost slope is below the indirect cost per day (unless the date itself is worth the money, e.g. a penalty clause).

In short
  • Critical delay x → project x late. Non-critical: ≤ FF nothing; FF–TF successors move; > TF project slips by delay − TF.
  • Acceleration helps only until another path is critical (lecture: c −3 → 16, c −4 or −5 → 15).
  • Slides: crashing = shorten the critical path by removing dependencies or shortening durations. PMBOK: crashing = add resources; fast-tracking = overlap.
  • Least-cost crashing: cheapest cost slope first, combinations for parallel critical paths, stop when slope ≥ indirect/day or limits hit (Q6: 7 days, $6,100).
8.9

Gantt vs PERT vs Milestone Charts exam

A finished schedule has to be shown to people who want different things from it: the team wants to know what to do next week, the project manager wants to know which tasks can't slip, and the sponsor just wants the dates. The three chart types show the same schedule from different angles. The Gantt chart shows when, the network shows why, and the milestone chart shows only the key dates.

Gantt chartPERT / network chartMilestone chart
ShowsTask bars against a calendar; summary tasks, milestones (diamonds), dependency arrows, % complete, baseline vs actualLogic: dependencies, ES/EF/LS/LF, float, critical pathKey events/deliverables with planned (and actual) dates only
StrengthsEasy to read; shows when and overlaps; good for tracking and reportingShows why; supports critical path, what-if and trade-off analysisSimplest view, for executives and clients
WeaknessesLogic and critical path hard to see in big projectsNo calendar view; clutters when largeNo detail, durations or dependencies

The slides' MS Project Gantt chart shows the 7-task lecture example with TE durations. Critical tasks are red, slack appears as black lines, and the bars stretch across weekends because weekends are non-working days: a 5-day task that starts on a Thursday ends the following Wednesday on the calendar.

TASKDAY02468101214161820a · 4.00 db · 5.33 d3.83c · 5.17 dd · 6.33 d4.67e · 5.17 df · 4.50 d4.67g · 5.17 dfinish 19.5 days
The lecture schedule as a Gantt chart (TE durations). Like the slides' MS Project chart, critical tasks are red and slack trails non-critical bars (dashed here; black lines in MS Project). The chart shows when at a glance; it does not show why e waits for c, which is what the network is for. Slack shown is total float: d and f share their 4.67 days.

The network for the same schedule is the solved lecture chart in §8.7: the same four red tasks, but drawn as boxes and arrows with ES, EF, LS, LF and slack in each node, and no calendar. It answers why e starts when it does (it waits for c) but not "what happens in week 3?" at a glance.

0246810121416months from T0Requirements reviewBuild A deliveredplanned T0+4Build B deliveredplanned T0+10Build C deliveredplanned T0+16
The milestone view of the same project. Just the key events and their planned dates (a tracking version adds the actual dates beside them). This is the view for executives and clients; all the detail of the Gantt chart is gone.
Check yourselfMCQ: The steering committee wants a one-page view of when the three releases will land, and nothing else. Which chart do you give them?
  1. A PERT chart
  2. A Gantt chart with every work package
  3. A milestone chart
  4. A resource histogram

C. A milestone chart shows only key events and their dates: the simplest view, made for executives and clients. A PERT chart shows logic, not dates on a calendar; a full Gantt chart buries the three dates in detail.

Check yourselfWhy is it hard to see the critical path in a large Gantt chart, and what does a scheduling tool do about it?

A Gantt chart is laid out by time, not by logic: dependency arrows tangle across hundreds of rows, and nothing in a bar's position says whether it has float. Tools such as MS Project compute the network (forward and backward pass) behind the scenes and then colour the critical bars red and draw slack, which is exactly what the slides' chart does.

Past exam: drawing a Gantt chart from a brief

Past exam 433-443 1999 Q19.1

Draw a Gantt chart for three builds. Months of Analysis / Design / Implementation / Test: A = 1/1/1/1, B = 2/2/2/2, C = 2/2/2/2. Deliveries at T0+4, T0+10 and T0+16. A full requirements review at T0+4; an acceptance review after each build.

A question like this has no single right answer: the marks are for a chart that meets every constraint and for stating your assumptions. The guide's answer rests on three:

  • The whole-system SRS (software requirements specification) must be ready for the T0+4 review, so the B and C analysis both run in months 2–4.
  • C's design starts after B's acceptance review, which is the go/no-go on B's success. Overlapping C's design with B's test would add float, but it risks rework.
  • Sections act as summary tasks, and T0 is drawn as January 2027.
JFMAMJJASONDJFMAM20272028BUILD A · INFRASTRUCTUREA AnalysisA DesignA ImplementationA TestA acceptance reviewT0+4BUILD B · COREB AnalysisB DesignB ImplementationB Test + C go/no-goB acceptance reviewT0+10BUILD C · ADVANCEDC AnalysisC DesignC ImplementationC TestC acceptance reviewT0+16REVIEWSFull requirements reviewT0+4deliveries at T0+4, T0+10, T0+16
Past exam Q14, one valid answer. Colour marks the build. Note the gap in Build C: its analysis runs early (the whole-system SRS is needed at the T0+4 review) but its design waits for B's acceptance review, the go/no-go on B. Diamonds are the reviews and deliveries.
Exam technique

For a "draw a Gantt chart" question: a time axis with units, one row per task grouped by deliverable, milestones as diamonds at the required dates, and a short list of assumptions. Check that every given date is hit and no task starts before its input exists.

In short

Gantt = when (bars on a calendar; good for tracking, weak on logic). PERT/network = why (dependencies, floats, critical path; no calendar). Milestone chart = key dates only, for executives and clients. Same schedule, three audiences.

8.10

Project Tracking and Control exam

An approved schedule is a prediction, and predictions drift. A project still needs control after it starts, because estimates are uncertain. Risks, requirement changes, staff turnover and technical surprises push reality away from the plan, and the slips accumulate silently: every task is "90% done" for weeks (the "90% done" syndrome). Detecting a deviation early makes correction cheap and lets stakeholders be warned in time. Control also keeps scope, time, cost and quality balanced, and keeps the living schedule current.

Six ways to track progress

1

Progress meetings

Periodic meetings where each team reports status and problems.
2

Reviews and audits

Evaluate the results of reviews and audits of the work products.
3

Formal milestones

Track whether each milestone was reached on its date.
4

Start dates

Compare each task's actual start date with its scheduled start.
5

Informal talks

Informal discussions with the engineers doing the work.
6

Earned value analysis

A formal, quantitative method: EVA.

Earned value analysis (EVA)

Comparing money spent with money budgeted is not enough. If a project has spent exactly what was planned by month 6, is that good? Only if it has also done what was planned. EVA fixes this by measuring the work done in budget dollars. It reports current and past performance and predicts future performance from it, in dollars and/or percentages. It rests on three quantities plus the total budget (definitions from W07; the old names in brackets are the ones the 1999 past exam uses):

PV · planned value (BCWS)

The authorised budget for the work scheduled to date: Budgeted Cost of Work Scheduled. "What we planned to have done by now, priced at budget."

EV · earned value (BCWP)

The value of the work actually completed, at its approved budget: Budgeted Cost of Work Performed. "What we have done, priced at budget."

AC · actual cost (ACWP)

The cost actually incurred for the work completed: Actual Cost of Work Performed. "What we really spent."

BAC · budget at completion

The total approved budget for the whole project (tutorial definition).

From these come the variances, indices and forecasts below. In the variances and indices EV always comes first, so a positive variance or an index above 1 is good news.

MetricFormulaReading
Schedule VarianceSV = EV − PV ($)+ ahead, − behind
Schedule Performance IndexSPI = EV / PV> 1 ahead, < 1 behind
Cost VarianceCV = EV − AC ($)+ under budget, − over budget
Cost Performance IndexCPI = EV / ACValue earned per $1 spent
Estimate To Complete (tutorial)ETC = (BAC − EV) / CPIRemaining cost at current efficiency
Estimate At Completion (tutorial)EAC = AC + (BAC − EV) / CPI (= BAC / CPI)Forecast final cost
Variance At Completion (PMBOK)VAC = BAC − EACForecast over-run (−)
Time forecastPlanned duration / SPIRough total duration
Why EAC = BAC / CPI

AC + (BAC − EV)/CPI = EV/CPI + (BAC − EV)/CPI = BAC/CPI, because AC = EV/CPI. In words: if every dollar of budget keeps costing 1/CPI real dollars, the whole budget costs BAC/CPI.

Earned value, worked example 1 (W07)
0204060801001201401601800246810121416monthcumulative $kBAC 100PV (plan)end of month 3PV 25EV 20AC 35SV −5CV −15EAC 175VAC −75≈ 15 monthsBAC = $100,000, 12 monthsPV = 100k × 3/12 = 25kEV = 100k × 20% = 20kAC = 35kSV = 20 − 25 = −5kSPI = 20/25 = 0.80CV = 20 − 35 = −15kCPI = 20/35 = 0.57ETC = 80/0.5714 = 140kEAC = 35 + 140 = 175kVAC = 100 − 175 = −75ktime ≈ 12/0.8 = 15 months
  1. The project. 12 months, a total budget (BAC) of $100,000. At the end of month 3, 20% of the work is complete and $35,000 has been spent. The dashed blue line is the plan, assuming the work is spread evenly.
  2. Planned value: what the plan said should be done (in budget dollars) by now. PV = 100,000 × 3/12 = $25,000. (Evenly spread work is an assumption; normally PV comes from the time-phased budget.)
  3. Earned value: the budget of the work actually done. EV = 100,000 × 20% = $20,000. Actual cost: what was really spent, AC = $35,000.
  4. Schedule: SV = EV − PV = 20,000 − 25,000 = −$5,000, so the project is behind schedule; SPI = EV/PV = 20,000/25,000 = 0.8: only 80% of the planned work is done.
  5. Cost: CV = EV − AC = 20,000 − 35,000 = −$15,000, so it is over budget; CPI = EV/AC = 20,000/35,000 = 0.57: only $0.57 of work is earned for every $1 spent.
  6. Forecast cost (extension). The remaining work is BAC − EV = $80,000 of budget; at the current efficiency it costs ETC = 80,000/0.5714 = $140,000. So EAC = AC + ETC = 35,000 + 140,000 = $175,000 (= BAC/CPI = 100,000/0.5714), and VAC = BAC − EAC = −$75,000.
  7. Forecast time: planned duration / SPI = 12/0.8 ≈ 15 months, about 3 months late. Behind and over budget: the worst quadrant.

Reading SPI and CPI together

Each index on its own tells half the story. Together they place the project in one of four positions, each calling for a different response:

Behind (SPI < 1)Ahead (SPI > 1)
Over budget (CPI < 1)Worst case; re-plan urgentlyBuying speed (e.g. overtime); check this was intended
Under budget (CPI > 1)Work not getting done (under-staffed, blocked)Best case; check for padded estimates or cut quality
BEHIND + OVER BUDGETworst case: re-plan urgentlyAHEAD + OVER BUDGETbuying speed (overtime?): intended?BEHIND + UNDER BUDGETwork not getting done (under-staffed?)AHEAD + UNDER BUDGETbest case: padded estimates? cut quality?0.50.50.60.60.70.70.80.80.90.91.01.01.11.11.21.21.31.3SPI = EV/PV (schedule) →↑ CPI = EV/AC (cost)W07 ex. 1VV scenario 1VV scenario 2abcd
Read SPI across and CPI up. Every example on this page lands in one quadrant. The red dots are the two troubled projects (W07 example 1 and VirtualVision scenario 1), the green dot the healthy one (scenario 2), and the blue a–d are past exam Q7's four cases. On the dividing lines (index = 1) the project is exactly on plan.
Earned value, worked example 2 (tutorial: VirtualVision)
0501001502002503000246810121416monthcumulative $kBAC 240PVmonth 10PV 200EV 160AC 190CV −30SV −40EAC 285≈ 15 monthsPV 200 · EV 160 · AC 190BAC 240 (all $k)CV = 160 − 190 = −30SV = 160 − 200 = −40CPI = 160/190 = 0.842SPI = 160/200 = 0.80ETC = 80/0.842 = 95EAC = 190 + 95 = 285285 − 240 = 45 over (19%)12/0.8 = 15 monthscheck: 160/10 = 16 per month80/16 = 5 more months
  1. VirtualVision, scenario 1 (T07). The project is in month 10 of 12. Its scope grew (detailed inner-ear models caused rework), two senior 3D/haptics developers left, and haptic integration proved hard. The dashed plan line is drawn schematically: only the month-10 PV and the BAC are given.
  2. The figures: PV = $200k, EV = $160k, AC = $190k, BAC = $240k.
  3. Q1, the variances. CV = EV − AC = 160 − 190 = −$30k; SV = EV − PV = 160 − 200 = −$40k.
  4. Q1, the indices. CPI = 160/190 = 0.842; SPI = 160/200 = 0.80. Q2: both below 1, so the project is behind schedule and over budget.
  5. Q3, the forecast. ETC = (BAC − EV)/CPI = (240 − 160)/0.842 = $95k, so EAC = AC + ETC = 190 + 95 = $285k: $45k (19%) over the BAC. Only $0.84 of planned work is earned per dollar, so performance is worse than planned.
  6. Q4, the time. Duration ≈ 12/0.8 = 15 months, about 3 months late. As a check, work is being earned at 160/10 = $16k per month, so the remaining $80k of work takes 80/16 = 5 more months: 10 + 5 = 15.

The tutorial also asks for the reasons and the actions. The reasons are scope change without change control, the loss of key staff and the ramp-up time that follows, the haptics risk not being mitigated, and optimistic estimates. The actions are to re-baseline through change control, negotiate the scope or the deadline, put experienced people on the critical tasks, prototype the risky parts, and not add people late (Brooks).

Check yourself[T07 EVA scenario 2] VirtualVision, month 10 of 12, going well: PV = $200k, EV = $220k, AC = $180k, BAC = $240k. Answer the four tutorial questions: variances and indices; position; EAC; time.
CV  = 220 − 180 = +$40k        CPI = 220/180 = 1.22
SV  = 220 − 200 = +$20k        SPI = 220/200 = 1.10
ETC = (240 − 220)/1.222 = 20/1.222 = $16.4k
EAC = 180 + 16.4 = $196.4k     (about $43.6k under BAC)
Time ≈ 12/1.1 = 10.9 months    (about one month early)

The project is ahead of schedule and under budget, the best quadrant. Reasons: good resource allocation and tracking, no rework, a capable team. Still check for padded estimates, and check that the quality and "done" are genuine.

Common mistake

"We spent more than planned, so we're over budget." Not necessarily: compare spending with EV, not with PV. If you spent more because you also did more (case b below), CV = EV − AC can be zero.

Past exam: the old names

Past exam 433-443 1999 Q4 / Q5

Define BCWS, ACWP and BCWP. Given (BCWS, BCWP, ACWP) = a (1000, 1000, 1000), b (1000, 1100, 1100), c (1000, 900, 1100), d (1000, 900, 800), state each schedule and budget position. Which is worst?

a1000BCWS1000BCWP1000ACWPon schedule, on budgetb1000BCWS1100BCWP1100ACWPahead, on budgetc1000BCWS900BCWP1100ACWPbehind AND over: worstd1000BCWS900BCWP800ACWPbehind, under-spending
Compare the middle bar with its neighbours. BCWP (earned value) is the reference: below BCWS means behind schedule, below ACWP means over budget. In b, spending is above plan only because more work was done, so it is not over budget.
CaseSV = BCWP − BCWSCV = BCWP − ACWPPosition
a00On schedule, on budget
b+1000Ahead, on budget (spent more only because more work was done)
c−100−200Behind (SPI 0.9), over-spending (CPI 900/1100 = 0.82)
d−100+100Behind, under-spending

Worst: c, which is behind schedule and over budget. BCWS is PV, BCWP is EV and ACWP is AC in today's terms.

Past exam: budget versus actual

Past exam 433-443 2002 Q13

Weekly budget (k$): Task 1 = 10, 15, 5 (weeks 1–3); Task 2 = 10, 10, 10, 20, 10, 10 (weeks 2–7); Task 3 = 5, 5, 25, 5 (weeks 5–8); Task 4 = 5, 5, 20 (weeks 8–10). The actuals table is printed identical. Find the cumulative budget and actual at week 6, the variance, and its cause.

Week12345678910
Task 110155
Task 2101010201010
Task 355255
Task 45520
Week total1025151025153510520
Cumulative1035506085100135145150170

The cumulative budget at week 6 = 10 + 25 + 15 + 10 + 25 + 15 = $100k (Task 1 30 + Task 2 60 + Task 3 10). The actual, summed the same way, is also $100k, so there is no over- or under-run to explain. Method: compare the cumulative actual against the cumulative budget, then go task by task to locate the source.

0306090120150180012345678910weekcumulative $kweek 6budget = actual = $100kEV 89 if Task 2 were only 70% done → CV −11budget (BAC 170)actual
Budget versus actual hides the real question. The two lines coincide at week 6, so a budget-only report says "no variance". Only earned value says whether $100k bought $100k of work.

Caveat: comparing budget with actual ignores how much work has been done, so it needs EV as well. If Task 2 were only 70% complete, EV = 30 + 0.7 × 70 + 10 = 30 + 49 + 10 = 89 and CV = 89 − 100 = −$11k. That over-run is caused by Task 2, even though spending matches the plan.

When actual progress differs from the plan exam

  1. Diagnose the cause, using variance analysis, a fishbone diagram (§8.3) and a check of the estimates.
  2. Re-forecast the EAC and the end date, and inform the stakeholders.
  3. Recover. Move people from non-critical to critical tasks (using the float), add skilled staff early, use short-term overtime, crash or fast-track (§8.8), and remove blockers.
  4. Trade off scope, time and cost with the client through change control, for example by deferring features to a later release or extending the date or budget.
  5. Re-baseline if the change is permanent.
  6. If the project is ahead, verify the quality and that "done" really is done, then release resources.
Check yourself[Past exam 433-443 2002 Q8] Why control a project after it starts? What should you do if progress doesn't match the plan?

Why. Estimates are uncertain, and risks, changes and turnover cause deviations that compound silently. Early detection makes correction cheap, and stakeholders need accurate forecasts. Progress is tracked with milestones, reviews, start-date comparisons, meetings and EVA.

If it differs. First diagnose the cause, then re-forecast the EAC and end date. Next, recover: shift resources to critical tasks, add skilled staff early, use short overtime, and crash or fast-track. Then negotiate scope, time or cost through change control, re-baseline, and communicate. If the project is ahead, verify the quality.

Check yourselfMCQ: At a status date PV = $50k, EV = $60k, AC = $75k. Which is true?
  1. Behind schedule, over budget
  2. Ahead of schedule, over budget
  3. Ahead of schedule, under budget
  4. Behind schedule, under budget

B. SV = 60 − 50 = +10k (SPI 1.2, ahead); CV = 60 − 75 = −15k (CPI 0.8, over budget). This is the "buying speed" quadrant: check whether the overtime was intended.

In short
  • PV (BCWS) = budget of work scheduled; EV (BCWP) = budget of work done; AC (ACWP) = actual cost; BAC = total budget.
  • SV = EV − PV, SPI = EV/PV; CV = EV − AC, CPI = EV/AC; EV first, so negative / below 1 is bad.
  • ETC = (BAC − EV)/CPI, EAC = AC + ETC = BAC/CPI, VAC = BAC − EAC; time ≈ duration/SPI.
  • W07: SPI 0.8, CPI 0.57, EAC $175k, ~15 months. VirtualVision 1: CPI 0.842, SPI 0.8, EAC $285k, ~15 months.
8.11

Why Scheduling Software Is Hard; Valid vs Invalid Schedules

Construction projects are scheduled with the same tools, yet software projects are notorious for running late. The reasons are worth knowing both for exam questions that ask "why?" and for justifying the techniques in this Part.

Software is hard to schedule for many reasons. The product is intangible and progress is invisible: you can see half a bridge, but not half a program. Each project is novel, with little comparable history, and its size is uncertain early on (the cone of uncertainty). Requirements change, productivity varies widely between developers, and people and months are not interchangeable (§8.6). Integration and testing effort is non-linear, and there are new technologies and third-party dependencies. On top of all that, estimators are optimistic and deadlines are imposed from outside.

eventual actualidearequirementsdesignbuilddoneestimates could land anywhere in here
The cone of uncertainty (shape only). Early on, nobody knows the size of the system, so any estimate has a wide range; the range only narrows as requirements and design pin the system down. This is why early schedules should be quoted as ranges and re-estimated at milestones.

Pressman's eight reasons projects run late

  1. An unrealistic deadline is set by someone outside the team.
  2. Changing requirements are not reflected in the schedule.
  3. There is an honest underestimate of the effort or resources needed.
  4. Risks were not considered at the start.
  5. Unforeseen technical difficulties arise.
  6. Unforeseen human difficulties arise.
  7. There is miscommunication among staff.
  8. Management fails to recognise the slip and act on it.

Valid and invalid schedules

Definition · valid schedule

A valid schedule is one that is feasible, which means it meets five conditions:

  • Every dependency is respected.
  • No resource is over-allocated at any time.
  • The allocated effort matches the estimate.
  • 100% of the WBS is covered, and every task has a duration, an owner and an outcome.
  • Fixed dates are met.

An invalid schedule breaks any of these, for example by booking a developer at 150% or placing a task before its input exists. It may look complete, but it cannot be executed.

INVALIDDesign APISamBuild clientSamBuild serverSamclient build starts before its input existsSam's load100%200%: over-allocatedlooks complete, but can't be executed
Invalid. Two violations: the client build starts before the API design it needs exists, and Sam is booked on two tasks at once (200%).
VALIDDesign APISamBuild clientSamBuild serverAnaSam's load100%every dependency and limit respected
Valid. The client build waits for the design, and the server build goes to Ana, so Sam stays at 100%. (Illustrative example.)
Check yourself[Past exam 433-443 2002 Q12] Why is scheduling software projects so challenging, and what pushes them past their due dates?

Challenges. The product is intangible and progress is invisible; each project is novel, with little history; the size is unknown early; requirements are volatile; productivity varies widely; people and months are not interchangeable; integration effort is non-linear; the technology is new; and estimators are optimistic.

Causes of overrun (Pressman). Unrealistic external deadlines, requirement changes not reflected in the schedule, honest underestimates, unconsidered risks, unforeseen technical and human problems, miscommunication, and failure to act on slippage.

Check yourself[Past exam 433-443 1998 Q3 / 1999 Q3] (a) What is the difference between a valid and an invalid schedule? (b) "There is no point developing a schedule until requirements analysis is complete." Comment.

(a) A valid schedule is feasible: it respects every dependency, has no over-allocation, has validated effort, covers the whole WBS with an owner and outcome for every task, and meets the fixed dates. An invalid schedule violates any of these and cannot be executed.

(b) Disagree. A schedule is needed early for feasibility, the business case, budgeting, bids and staffing, and the requirements phase itself must be scheduled. Use rolling-wave planning: detail the near term, keep the later phases coarse with ranges, and re-baseline after requirements, because the schedule is a living document. The statement is right only in that early schedules are less accurate, so present them with ranges and assumptions. (The guide's model answer.)

Check yourselfMRQ: Which of these make a schedule invalid? Select all that apply.
  1. A task has 10 days of float.
  2. A tester is allocated to two full-time tasks in the same week.
  3. The deployment task has no owner.
  4. The critical path has seven tasks.
  5. Integration testing starts before the modules it tests are built.

B, C and E. B is over-allocation; C breaks "every task has an owner"; E breaks a dependency. Float (A) and a long critical path (D) are normal features of a valid schedule.

In short

Software is hard to schedule because it is intangible, novel, uncertain in size, volatile, people-dependent and non-linear to integrate, and estimators are optimistic. Pressman's eight reasons for lateness run from unrealistic deadlines to management not acting on slips. A valid schedule respects dependencies, never over-allocates, matches the estimates, covers 100% of the WBS with owners and outcomes, and meets fixed dates.

8.12

Estimation Methods and Models older exam topic

This material comes from older exams (of predecessor subjects 433-443 and 433-341) rather than the 2026 slides, but the exam's calculation questions can draw on it. So far, estimates have come from experience and three-point guesses. This section covers the systematic ways of producing them: building an estimate from the top or the bottom, measuring size with function points, and turning size into effort with a model such as COCOMO.

Top-down and bottom-up

An estimate can be built in two directions, from the whole system down or from the work packages up, and each has its own strengths and weaknesses.

TOP-DOWNWhole systemPhase 1Phase 2Phase 3estimate the whole, then split ↓
Top-down starts from the shaded box: one estimate for the whole system (by analogy, expert judgement, FP or COCOMO), then apportioned downwards.
BOTTOM-UPTotal = ΣPhase 1Phase 2Phase 3estimate each package, roll up ↑
Bottom-up starts from the shaded leaves: the people who will do each work package estimate it, and the estimates are rolled up.
Top-downBottom-up
HowEstimate the whole system (analogy, expert judgement, FP, COCOMO), then split it across phases and tasksEstimate each WBS work package (by the people doing it), then roll up the sum
ProsFast and early; includes system-level costs (integration, management)Detailed and justifiable; accurate once the WBS is complete; gives the tracking baseline
ConsMay miss hard components; needs historical dataSlow; needs a design; misses system-level work; padding accumulates

Function points (Albrecht / IFPUG)

Lines of code can't be counted until the code exists, and depend on the language. Function points (FP) instead measure functional size from the user's view: how much the system does, counted from the requirements. You count five kinds of component, rate each one simple, average or complex, and weight it.

APPLICATION BOUNDARYuserEI · external inputweights S/A/C: 3 / 4 / 6EO · external outputweights S/A/C: 4 / 5 / 7EQ · external inquiryweights S/A/C: 3 / 4 / 6ILFinternal logical file7 / 10 / 15EIFexternal interface file5 / 7 / 10another system's dataread only
Five things to count, all from the user's point of view. Transactions cross the boundary (inputs, outputs, inquiries); ILFs are data the system maintains; EIFs are data it only references from another system. Each is rated simple, average or complex, which picks its weight.
ComponentSimpleAverageComplex
EI · external inputs346
EO · external outputs457
EQ · external inquiries346
ILF · internal logical files71015
EIF · external interface files5710
Formulas · function points

UFP = Σ count × weight (unadjusted function points)

VAF = 0.65 + 0.01 × Σ(14 general system characteristics, each 0–5)

FP = UFP × VAF

Function points, from counts to effort
componentcount× weight (avg)= pointsEIexternal inputs10× 440EOexternal outputs8× 540EQexternal inquiries5× 420ILFinternal logical files4× 1040EIFexternal interface files2× 714UFP (unadjusted)40 + 40 + 20 + 40 + 14 =154value adjustment factorΣGSC = 42 (14 factors, 0–5)VAF = 0.65 + 0.01 × 42 = 1.07adjusted sizeFP = 154 × 1.07 = 164.78 ≈ 165 FPeffortat 10 FP per person-month:165 / 10 ≈ 16.5 PM
  1. The example. A system has 10 external inputs, 8 external outputs, 5 external inquiries, 4 internal logical files and 2 external interface files, all of average complexity. Its 14 general system characteristics add up to 42.
  2. Weight each count. Average weights: EI 4, EO 5, EQ 4, ILF 10, EIF 7. So 10 × 4 = 40, 8 × 5 = 40, 5 × 4 = 20, 4 × 10 = 40, 2 × 7 = 14.
  3. Unadjusted function points: UFP = Σ count × weight = 40 + 40 + 20 + 40 + 14 = 154.
  4. Value adjustment factor. Each of the 14 general system characteristics (things like performance or distributed processing) is rated 0–5; they total 42. VAF = 0.65 + 0.01 × 42 = 1.07. (VAF can range from 0.65 to 1.35.)
  5. Adjusted size: FP = UFP × VAF = 154 × 1.07 = 164.78 ≈ 165 FP.
  6. Effort: with a historical productivity of 10 FP per person-month, effort ≈ 165 / 10 = 16.5 person-months. FP measures size; it needs a productivity rate to become effort.

Mark II function points (Symons)

Mark II FP is counted per logical transaction (one complete user request and its response) instead of per component. Each transaction scores

UFP = 0.44 × input data element types + 1.67 × entity types referenced + 0.38 × output data element types

These are the weights given in the 1999 exam. A data element type is a distinct field (an account number, a name); an entity type is a kind of thing the system stores (ACCOUNT, CUSTOMER).

Past exam 433-443 1999 Q14 · worked

Calculate the Mark II FP for Melanie's ACCOUNT-record transaction (create a new account record), with weights input 0.44, entity 1.67, output 0.38. The count rests on three assumptions:

  • There are 5 input data element types: account number, name, address (counted as one element), interest rate and opening balance.
  • There is 1 entity referenced, ACCOUNT, which is read for the duplicate check and then written.
  • There is 1 output data element type, the error message. No confirmation message is specified.
UFP = 0.44 × 5 + 1.67 × 1 + 0.38 × 1
    = 2.20 + 1.67 + 0.38
    = 4.25          (4.63 if a confirmation message is also counted: + 0.38)

COCOMO (Boehm 1981)

The COnstructive COst MOdel turns size in thousands of lines of code (KLOC) into effort and schedule. The basic model is

E = a × KLOC^b   person-months
D = 2.5 × E^c    months
people ≈ E / D
ModeKind of projectabc
Organicsmall, familiar2.41.050.38
Semi-detachedin between3.01.120.35
Embeddedtight constraints3.61.200.32

Intermediate COCOMO multiplies E by 15 cost drivers (in four groups: product, computer, personnel, project), and COCOMO II accepts FP or object points as the size instead of KLOC.

020040060080010000102030405060708090100size (KLOC)effort E (person-months)organic ≈ 302semi-detached ≈ 521embedded ≈ 90432 KLOC organic: 91.3 PM
Effort grows faster than size. Every exponent b is above 1, so doubling the code more than doubles the effort (diseconomy of scale), and the tighter the constraints (embedded), the steeper the curve.
Worked example: 32 KLOC, organic
E = 2.4 × 32^1.05 = 2.4 × 38.05 = 91.3 person-months
D = 2.5 × 91.3^0.38 = 2.5 × 5.56 = 13.9 months
people ≈ 91.3 / 13.9 ≈ 6.6

Algorithmic models

Function points and COCOMO are both algorithmic models, which come in two kinds. Mathematical (parametric) models compute effort = f(size, cost drivers) from a fixed formula. Regression models fit that equation to historical project data (for example, log effort against log size), and the organisation calibrates it to its own projects.

Check yourself[Past exam 433-443 2000 Q6 / 1998 Q5] (a) What is the role of the WBS in bottom-up estimation? (b) How are FPs used in top-down estimation? (c) Give two more advantages of FP. (d) How do FP and COCOMO differ?

(a) The WBS breaks the project into work packages small enough to estimate accurately, ideally by the people who will do them. Those estimates are then rolled up to the total. The 100% rule ensures nothing is forgotten, and the same packages become the baseline for scheduling and tracking.

(b) Count FPs from the requirements to size the whole system, convert the count to effort using historical productivity (hours per FP) or COCOMO II, then apportion the effort to the phases using standard percentages.

(c) FPs can be counted early, from the requirements. They are meaningful to users, which helps in scope and price negotiation. They allow benchmarking across languages (FP per person-month, defects per FP). The count is standardised (IFPUG/ISO), and scope creep can be measured in FP.

(d) FP is a technology-independent size measure from the user's view, so it needs a productivity rate before it gives effort. COCOMO is an effort and schedule model: it takes KLOC (language-dependent and hard to know early) plus the project mode and cost drivers, and outputs person-months and duration. They are complementary, because FP can be converted to LOC and fed into COCOMO.

Check yourself[Past exam 433-443 2002 Q7] Explain mathematical and regression estimation models, with examples or uses.

Mathematical (parametric) models compute effort = a × Sizeb × Π(cost drivers). Basic COCOMO organic is one example: E = 2.4 × KLOC1.05 gives 91 PM and 13.9 months for 32 KLOC. FP × productivity is another.

Regression models derive the equation statistically from historical projects: regress log effort on log size to fit E = a × sizeb, calibrated to the organisation. Walston–Felix, E = 5.2 × KLOC0.91, is an example.

Both are used for objective, repeatable early estimates, sanity checks on expert judgement, and what-if analysis. Their limits: they need a size estimate, local calibration data and a stable process, and they are unreliable outside the range of the data.

Check yourself[Past exam 433-443 2002 Q6 / 2001 Q11 / 2000 Q2] (a) Outline the activities of planning and scheduling and their information sources. (b) Your boss needs a schedule for a possible $3M project in 48 hours. What do you do?

(a) Activities, in sequence: define the scope and objectives, build the WBS, identify the dependencies and draw the network, estimate effort and duration, allocate resources, and produce the schedule (CPM/PERT, Gantt, milestones). Then the budget, the risk analysis and contingency, approval and baselining, and finally tracking. Sources: the charter, business case, contract or statement of work, and requirements/scope statement; historical data from past projects; expert judgement (team, SMEs, Delphi); resource calendars; vendor quotes; the risk register; organisational templates; customer deadlines; and estimation models.

(b) Produce an indicative top-down schedule, not a commitment. Clarify the scope; estimate by analogy with past projects; check it with a quick parametric model:

$3M at an assumed $15k per person-month ≈ 200 PM
D = 2.5 × 200^0.38 ≈ 2.5 × 7.49 ≈ 19 months
people ≈ 200 / 18.7 ≈ 11

Draft a phase-level WBS and a Gantt chart with milestones, and consult senior engineers. State the assumptions, risks and a range (for example −25%/+75%), and commit to a bottom-up re-estimate after requirements.

Check yourself[Past exam 433-443 2001 Q12] BLTN relies on ad hoc estimates by its chief programmer and on overtime near deadlines, and now wants to bid for larger contracts and run concurrent projects. What do you recommend?

Issues. A single estimator is a bottleneck, introduces bias and leaves no record. Overtime on both sides of the delivery date signals systematic underestimation and weak control. Competitive bids need defensible estimates: too high loses the bid, too low loses money on fixed-price work. Concurrent projects need resource planning.

Recommendations.

  1. Build a historical database from 5 years of projects: size, effort, duration and defects.
  2. Use two methods and reconcile them: bottom-up WBS estimates from the team, and top-down FP/COCOMO calibrated to BLTN's data.
  3. Make three-point estimates with contingency, and quote ranges.
  4. Use group estimation (Wideband Delphi).
  5. Re-estimate at milestones and track with EVA.
  6. Plan resources across projects, with levelling and no double-booking.
  7. Record actuals so that estimation improves over time.
Check yourselfUse basic COCOMO to estimate effort for a 10 KLOC organic project. (2.4 × 101.05: 101.05 ≈ 11.2.)
E = 2.4 × 10^1.05 ≈ 2.4 × 11.22 ≈ 26.9 person-months
D = 2.5 × 26.9^0.38 ≈ 2.5 × 3.49 ≈ 8.7 months
people ≈ 26.9 / 8.7 ≈ 3.1

Compare 32 KLOC → 91.3 PM: 3.2× the size needs 3.4× the effort, because b = 1.05 > 1.

In short
  • Top-down: whole-system estimate split down (fast, early, may miss components). Bottom-up: work packages rolled up (detailed, slow, misses system-level work).
  • FP: count EI/EO/EQ/ILF/EIF × weights = UFP; × VAF (0.65 + 0.01 ΣGSC) = FP; ÷ productivity = effort. Example: 154 UFP → 165 FP → 16.5 PM.
  • Mark II: 0.44 × inputs + 1.67 × entities + 0.38 × outputs per transaction (Melanie: 4.25).
  • Basic COCOMO: E = a × KLOCb, D = 2.5 × Ec; 32 KLOC organic → 91.3 PM, 13.9 months, ~6.6 people.
8.13

Applying It to the Medic Case

The tutorials' running case, Medic, is a virtual-reality surgical simulator for the RVEEH (Royal Victorian Eye and Ear Hospital) surgeons: trainees practise cochlear-implant and temporal-bone surgery on a 3D model with haptic (force-feedback) devices instead of scarce cadavers. The team is 12 inexperienced developers (new to C++, stereoscopic 3D and haptics) and 2 experienced managers. The T07 tutorial applies the whole scheduling procedure to it, starting with its WBS.

Medic I.T. System1 Project Management1.1 PMP1.2 Scope Statement1.3 Project Schedule1.4 Risk Planning2 Analysis2.1 Stakeholder Interviews2.2 Requirements Spec2.3 Use Cases2.4 Reporting3 Design3.1 UI Prototype3.2 Architecture3.3 3D Algorithms3.4 Mobile Apps4 Development4.1 UI4.2 3D Algorithms4.3 Database4.4 Transactions4.5 Security4.6 Mobile Apps5 Testing & Deployment5.1 Test 3D5.2 Test UI5.3 Test Integration5.4 Test Mobile5.5 Releasered border = on the critical path found below
The Medic WBS (T07). Five deliverable-oriented branches cover 100% of the work, including project management and release. The red packages are the ones the analysis below finds critical: the whole chain runs through the 3D algorithms.

The next table gives the dependencies and durations in days from the T07 table, together with the guide's own forward and backward pass (ES–EF and total float).

IDTaskPred.DES–EFTF
1.1PMP—100–1078
1.2Scope Statement—50–50
1.3 / 1.4Scheduling / Risk Planning1.22 / 25–781 / 5
2.1Stakeholder Interviews1.275–120
2.2Requirements Spec1.4, 2.1712–190
2.3 / 2.4Use Cases / Reporting2.25 / 319–24 / 19–2264 / 66
3.1UI Prototype Design2.1, 2.2619–2534
3.2Architecture Design2.21219–3157
3.33D Algorithms Design2.21519–340
3.4Mobile Apps Design2.21019–2934
4.1UI Development3.11525–4034
4.23D Algorithms3.33034–640
4.3 / 4.4Database / Transactions2.2 / 4.312 / 1419–31 / 31–4519 / 19
4.5Security2.2819–2751
4.6Mobile Apps3.41529–4434
5.1Test 3D Algorithms4.2, 4.3, 4.41064–740
5.2Test UI4.1, 5.1474–780
5.3Test Integration4.5, 5.1, 5.2878–860
5.4Test Mobile App4.6844–5234
5.5Release Product5.3, 5.4286–880

Critical path: 1.2 → 2.1 → 2.2 → 3.3 → 4.2 → 5.1 → 5.2 → 5.3 → 5.5 = 5 + 7 + 7 + 15 + 30 + 10 + 4 + 8 + 2 = 88 days.

START1.2 Scope5d2.1 Interviews7d2.2 Req Spec7d3.3 3D Design15d4.2 3D Algorithms30d5.1 Test 3D10d5.2 Test UI4d5.3 Integration8d5.5 Release2dEND4.3 Database12d4.4 Transactions14d3.1 UI Design6d4.1 UI Dev15d3.4 Mobile Design10d4.6 Mobile Dev15d5.4 Test Mobile8dDATABASEUIMOBILEtime runs downwards; side chains have 19–34 days of float
The Medic network (the guide's diagram, drawn top to bottom). The red spine is the critical path; the three side chains feed back into it at 5.1, 5.2 and 5.5. Like the guide's version it leaves out the side tasks 1.1, 1.3, 1.4, 2.3, 2.4, 3.2 and 4.5, which all have plenty of float; the table and the Gantt chart include them.
The Medic schedule: forward pass, float, critical path
TASK (DAYS)01020304050607080901.1 PMP (10)781.2 Scope Statement (5)1.3 Scheduling (2)811.4 Risk Planning (2)52.1 Stakeholder Interviews (7)2.2 Requirements Spec (7)2.3 Use Cases (5)642.4 Reporting (3)663.1 UI Prototype Design (6)343.2 Architecture Design (12)573.3 3D Algorithms Design (15)3.4 Mobile Apps Design (10)344.1 UI Development (15)344.2 3D Algorithms (30)4.3 Database (12)194.4 Transactions (14)194.5 Security (8)514.6 Mobile Apps (15)345.1 Test 3D Algorithms (10)5.2 Test UI (4)5.3 Test Integration (8)5.4 Test Mobile App (8)345.5 Release Product (2)day 88
  1. The 23 Medic tasks with their durations in days (from the T07 table). Nothing is scheduled yet.
  2. Forward pass, phases 1–2. 1.1 and 1.2 start at 0. 1.3, 1.4 and 2.1 follow 1.2 (EF 5). 2.2 needs 1.4 (EF 7) and 2.1 (EF 12): ES = max(7, 12) = 12, EF 19. 2.3 and 2.4 start at 19.
  3. Design. 3.1, 3.2, 3.3 and 3.4 all start at 19 (3.1 needs 2.1 and 2.2: max(12, 19) = 19). 3.3 3D Algorithms Design ends at 34.
  4. Development. 4.1 starts at 25 (after 3.1), 4.2 at 34 (after 3.3) and runs 30 days to 64; 4.3 at 19, then 4.4 at 31 to 45; 4.5 at 19; 4.6 at 29 (after 3.4).
  5. Testing. 5.1 needs 4.2, 4.3 and 4.4: max(64, 31, 45) = 64 → 74. 5.2 = max(4.1 EF 40, 5.1 EF 74) = 74 → 78. 5.3 = max(27, 74, 78) = 78 → 86. 5.4 runs 44–52. 5.5 = max(86, 52) = 86 → 88. The project takes 88 days.
  6. Backward pass: float (dashed). Big floats: 1.3 = 81 and 1.1 = 78 (no successors), 2.4 = 66, 2.3 = 64, 3.2 = 57, 4.5 = 51; the UI and mobile chains 34; the database chain 19; 1.4 = 5 (it must finish by 2.2's LS of 12).
  7. Critical path: 1.2 → 2.1 → 2.2 → 3.3 → 4.2 → 5.1 → 5.2 → 5.3 → 5.5 = 5 + 7 + 7 + 15 + 30 + 10 + 4 + 8 + 2 = 88 days, straight through the 3D algorithms.

Interpretation

The critical path runs through the 3D algorithms (3.3, 4.2, 5.1), which is exactly where the team is weakest: its 12 developers are inexperienced and unfamiliar with C++, 3D stereoscopic rendering and haptics. That is where three-point estimates should be used. Illustration: if 4.2 is estimated at O = 20, M = 30, P = 55 days,

TE = (20 + 4×30 + 55) / 6 = (20 + 120 + 55) / 6 = 195/6 = 32.5 days
σ  = (55 − 20) / 6 = 35/6 ≈ 5.8 days
4.2 is critical, so the end date moves out by 32.5 − 30 = 2.5 days (88 → 90.5)

So the strongest developers should go on 3.3, 4.2 and 5.1. The 3D and haptics work should be prototyped early (spiral thinking, Part II), the 5.1 tests prepared in parallel (a start-to-start dependency), and a buffer kept before Release. The UI, mobile and database chains have 19–34 days of float, which allows resource levelling across the 12 developers.

Check the logic

1.1 PMP shows 78 days of float only because nothing in the table depends on it. In reality the project management plan gates execution, so a large float on a task like this is a sign that the dependency logic is incomplete, not that the PMP can be written in week 15.

Check yourselfIn the Medic schedule, task 4.4 Transactions (TF 19, FF 19) slips by 25 days. What happens to the project?

4.4 is not critical: its float is 19. A 25-day slip exceeds it by 25 − 19 = 6, so the project ends 6 days late, at day 94. 4.4 now finishes at 45 + 25 = 70, so 5.1 can't start until 70 instead of 64, and the database chain 2.2 → 4.3 → 4.4 → 5.1 becomes critical in place of 3.3 → 4.2.

Check yourselfMCQ: A manager proposes moving two experienced developers from 4.2 (3D Algorithms) to 4.6 (Mobile Apps) "to balance the load". What is the best response?
  1. Agree: 4.6 is a long task (15 days).
  2. Disagree: 4.2 is critical and the riskiest task, while 4.6 has 34 days of float; if anything, move people the other way.
  3. Agree, because float can be used to absorb the change.
  4. It makes no difference, because the project is 88 days either way.

B. Weakening a critical, high-risk task to strengthen one with 34 days of float is the wrong way round: any slip on 4.2 delays the whole project day for day, while 4.6 can slip a month unnoticed. Use the float on the side chains to release people to the critical chain (early, not late, per Brooks).

In short

Medic's WBS has five branches; the forward and backward pass give an 88-day critical path 1.2–2.1–2.2–3.3–4.2–5.1–5.2–5.3–5.5 through the 3D algorithms, the team's weakest area. Put the best people there, use three-point estimates (4.2: TE 32.5, +2.5 days), prototype early, buffer before Release, level the side chains (19–34 days float), and question suspicious floats like 1.1's 78 days.

8.14

Pitfalls and Exam Practice

Calculation questions lose marks in predictable places. Check this list before the exam, then work the three network questions below: they are the kind of extended question the exam asks.

Common pitfalls
  • In the forward pass, use the max of the predecessors' EF; in the backward pass, use the min of the successors' LS.
  • Don't confuse total float with free float, and don't forget that float is shared along a chain.
  • Don't assume the critical path is fixed. It shifts when tasks slip or are crashed.
  • Don't crash non-critical tasks, and don't add people late (Brooks).
  • In EVA, EV always comes first (SV = EV − PV, CV = EV − AC). "Spent more than planned" is not "over budget" unless you compare the spending with EV.
  • Don't add σs instead of variances, and don't misread the tuple order in exam networks (check the legend): Q2 gives (shortest, expected, longest, people) but Q3 gives (shortest, longest, expected, people).
How network questions are marked

Show the method, not just the answer: draw the network, write ES/EF on the forward pass and LS/LF on the backward pass, state max/min at each merge and burst, list every path with its length, and then interpret (what is risky, what has float, what you would do). Interpretation is where the extended marks are.

Q1 · T07 class activity

T07 class activity

Tasks as ID (duration; predecessors): 1.1 (1), 1.2 (4), 1.3 (2), 1.4 (1; 1.1, 1.2, 1.3), 2.1.1 (2; 1.4), 2.1.2 (3; 2.1.1), 2.1.3 (3; 2.1.2), 2.2.1 (3; 2.1.2), 2.2.2 (3; 2.2.1), 2.2.3 (4; 2.2.2), 2.3 (5; 2.2.3), 2.4 (4; 2.3), 3.1 (4; 2.1.2), 2.5 (4; 2.4, 3.1). Compute the PERT chart and critical path, and discuss.

TASKDAY02468101214161820222426283032341.1 (1)31.2 (4)1.3 (2)21.4 (1)2.1.1 (2)2.1.2 (3)2.1.3 (3)202.2.1 (3)2.2.2 (3)2.2.3 (4)2.3 (5)2.4 (4)3.1 (4)152.5 (4)
Q1 solved, as a time-scaled chart. Ten of the fourteen bars are red and touch end to end: the schedule is fragile. Only 2.1.3 (20 days) and 3.1 (15 days) have real float.
Worked answerForward pass, backward pass, critical path and discussion for Q1

Forward pass. 1.4 starts at max(1, 4, 2) = 4 and runs 4–5. It is followed by 2.1.1 (5–7) and 2.1.2 (7–10). Three tasks start at 10: 2.1.3 runs 10–13, 3.1 runs 10–14 and 2.2.1 runs 10–13. The chain continues with 2.2.2 at 13–16, 2.2.3 at 16–20, 2.3 at 20–25 and 2.4 at 25–29. Finally, 2.5 starts at max(29, 14) = 29 and ends at 33.

Backward pass. 3.1 has LF 29 (2.5's LS) and LS 25, so its TF is 15. 2.1.3 has no successor, so its LF is 33 and its TF is 20. 2.1.2's LF = min(30, 10, 25) = 10, the smallest LS among its three successors (2.1.3, 2.2.1, 3.1). 1.1 has TF 3 and 1.3 has TF 2.

TaskDESEFLSLFTFFF
1.11013433
1.24040400
1.32022422
1.41454500
2.1.12575700
2.1.2371071000
2.1.33101330332020
2.2.131013101300
2.2.231316131600
2.2.341620162000
2.352025202500
2.442529252900
3.14101425291515
2.542933293300

Critical path: 1.2–1.4–2.1.1–2.1.2–2.2.1–2.2.2–2.2.3–2.3–2.4–2.5 = 4 + 1 + 2 + 3 + 3 + 3 + 4 + 5 + 4 + 4 = 33 days.

Discussion. 10 of the 14 tasks are critical, so the schedule is fragile and every slip on them delays delivery. To shorten it, crash or fast-track the long critical tasks (2.3, 2.2.3, 2.4). The float on 2.1.3 and 3.1 can be used for levelling.

Q2 · Past exam 433-341 2009 Q3

Past exam 433-341 2009 Q3 · port system

Tuples are (shortest, expected, longest, people). T1 (2,2,3,2); T2 (15,18,21,3; T1); T3 (10,11,13,2; T2); T4 (5,6,7,2; T3); T5 (5,7,9,2; T3); T6 (8,9,10,2; T3); T7 (5,6,7,2; T4); T8 (10,12,14,3; T5); T9 (5,6,7,2; T6, T8); T10 (3,4,6,3; T7, T8); T11 (4,5,7,2; T9, T10). (A) What are the critical path(s)? (B) Earliest, latest and expected completion? (C) Slack of T7? (D) Effect of only 5 people?

T12,2,3 · 2pT215,18,21 · 3pT310,11,13 · 2pT45,6,7 · 2pT55,7,9 · 2pT68,9,10 · 2pT75,6,7 · 2pT810,12,14 · 3pT95,6,7 · 2pT103,4,6 · 3pT114,5,7 · 2pnode: shortest, expected, longest duration · people
Q2's network. Every path starts T1–T2–T3, then splits four ways and merges at T9, T10 and T11. Red is the critical path on expected durations (and on the other two as well).

Every path starts with T1–T2–T3, which takes 2 + 15 + 10 = 27 on shortest durations, 2 + 18 + 11 = 31 on expected and 3 + 21 + 13 = 37 on longest. The four paths after T3 compare as follows:

Path after T3ShortestExpectedLongest
T4–T7–T10–T115+5+3+4 = 176+6+4+5 = 217+7+6+7 = 27
T5–T8–T10–T115+10+3+4 = 227+12+4+5 = 289+14+6+7 = 36
T5–T8–T9–T115+10+5+4 = 247+12+6+5 = 309+14+7+7 = 37
T6–T9–T118+5+4 = 179+6+5 = 2010+7+7 = 24
Worked answerQ2 (A)–(C): critical path, completion times, slack of T7

(A) The critical path is T1–T2–T3–T5–T8–T9–T11 in all three cases. T5–T8–T10–T11 is near-critical, only 1 unit behind on longest durations.

(B) Summing along the critical path: earliest completion = 27 + 24 = 51, latest = 37 + 37 = 74, expected = 31 + 30 = 61. The PERT mean (s + 4x + l)/6 along the same path is 13/6 + 18 + 67/6 + 7 + 12 + 6 + 31/6 = 2.17 + 18 + 11.17 + 7 + 12 + 6 + 5.17 = 61.5.

(C) On expected durations, T7 runs 37–43. T10 starts at max(43, 50) = 50 and T11 at 56, ending at 61. Working backward, T10's LS = 56 − 4 = 52, so T7 has LF 52 and LS 46, which gives slack = 46 − 37 = 9 (check: 61 − (31 + 21) = 9). T7's free float = 50 − 43 = 7. On shortest durations the slack is 7, and on longest it is 10.

Past exam Q2(D): only 5 people
TASK · PEOPLE303438424650545862T5 · 2p31–3831–38T8 · 3p38–5038–50T9 · 2p50–5650–56T11 · 2p56–6156–61T4 · 2p31–3731–37T6 · 2p31–4037–46T7 · 2p37–4346–52T10 · 3p50–5452–56PEOPLE NEEDED0246826753522454525 people available
  1. Early-start plan, expected durations (days 30–62; T1–T3 need only 2–3 people and run to day 31). As soon as T3 ends, T4, T5 and T6 (2 people each) all want to start: 6 people. Around day 38, T6 + T7 + T8 need 2 + 2 + 3 = 7. With only 5 people this plan is over-allocated (red).
  2. Levelled with 5 people. The critical T5 and then T8 (3 people) leave only one 2-person lane free, so T4, T6 and T7 must run in sequence: T4 31–37, T6 37–46, T7 46–52 (gold = moved). 6 + 9 + 6 = 21 days just fits the 31–52 window (T7's late finish is 52), so T10 starts at 52, T11 still runs 56–61 and the finish stays at 61. Demand never exceeds 5.
  3. The cost. All the float of T4, T6 and T7 is consumed: they are now effectively critical, and any slip in them delays the project. On longest durations the same reasoning keeps the finish at 74. On shortest durations the sequence (5 + 8 + 5 = 18 days from day 27) overruns T7's late finish of 44 by a day, so the finish slips from 51 to 52. Schedule risk rises and the critical path is now resource-constrained.

Q3 · Past exam 433-341 2008 Q1

Past exam 433-341 2008 Q1

Tuples are (shortest, longest, expected, people): note the order. T1 (1,1,1,2); T2 (1,2,1,2; T1); T3 (3,5,4,3; T2); T4 (1,2,1,2; T3); T5 (1,2,1,2; T2); T6 (2,4,3,2; T4); T7 (1,3,2,1; T4); T8 (1,3,2,1; T5); T9 (2,5,4,2; T6); T10 (1,3,2,2; T7); T11 (2,4,3,2; T8); T12 (2,5,3,2; T9, T10); T13 (3,7,5,3; T11, T12). Same four questions.

PathShortestLongestExpected
T1–T2–T3–T4–T6–T9–T12–T13153122
T1–T2–T3–T4–T7–T10–T12–T13132819
T1–T2–T5–T8–T11–T1391913
TASK · PEOPLE0246810121416182022T1 · 2pT2 · 2pT3 · 3pT4 · 2pT5 · 2p9T6 · 2pT7 · 1p3T8 · 1p9T9 · 2pT10 · 2p3T11 · 2p9T12 · 2pT13 · 3pPEOPLE NEEDED01234562254454534422222233333
Q3 on expected durations. The gold days are where demand hits exactly 5: T3 + T5 (day 2), T3 + T11 (day 5) and T6 + T7 + T11 (day 7). Five people is just enough, with nothing to spare.
Worked answerQ3 (A)–(D)

(A) The critical path is T1–T2–T3–T4–T6–T9–T12–T13 in every case.

(B) Along that path the earliest completion is 15, the latest 31 and the expected 22. The PERT mean is 1 + 1.17 + 4 + 1.17 + 3 + 3.83 + 3.17 + 5 = 22.3 (e.g. T2: (1 + 4×1 + 2)/6 = 7/6 = 1.17; T9: (2 + 16 + 5)/6 = 23/6 = 3.83).

(C) On expected durations, T7 runs 7–9 and T10 runs 9–11. T12 starts at max(14, 11) = 14, so T10's LS = 12, which makes T7's LF = 12 and its LS = 10. Slack = 10 − 7 = 3 (= 22 − 19). Its free float is 0, because the slack is shared with T10. On shortest durations the slack is 2, and on longest it is 3.

(D) The early-start schedule peaks at exactly 5 people. With expected durations the peaks fall at 2–3 (T3 + T5), 5–6 (T3 + T11) and 7–8 (T6 + T7 + T11), and the peak is also 5 with shortest and with longest durations. So the duration is unchanged. There is no spare capacity, though. The client branch (T5–T8–T11, float 9) can no longer slide freely, because starting T11 at 8 instead of 5 would need 6 people at time 9 (T6 + T10 + T11 = 2 + 2 + 2). Any absence would cause a delay.

Check yourselfMRQ: For Q2 on expected durations, select all true statements.
  1. T7 can be delayed 7 days without delaying T10.
  2. T7 can be delayed 9 days without delaying the project.
  3. T10 is critical.
  4. With unlimited people, the project ends at 61.

A, B and D. T7's free float is 50 − 43 = 7 (A) and its total float is 9 (B). T10 has 2 days of float (ES 50, LS 52), so it is not critical (C false). The expected critical path sums to 61 (D).

In short

Max forward, min backward; TF vs FF; critical paths move; crash only critical tasks; EV first; add variances; read the tuple legend. Q1: 33 days, 10 of 14 tasks critical. Q2: T1–T2–T3–T5–T8–T9–T11, 51/61/74, T7 slack 9; with 5 people the finish holds at 61 but all float is gone. Q3: 15/22/31, T7 slack 3; peak demand is exactly 5.