Problem analysis and scheduling tools: Gantt, PERT, critical path
Finding the root cause of a problem (fishbone, PIECES) and turning the work plan into a Gantt chart and a PERT/CPM network. Forward and backward passes, the critical path and slack calculations are almost certain on the exam.
This week has two parts. The first is problem analysis: finding the real cause under the user’s complaint. The second is scheduling tools: turning the task list (WBS) you produced in week 3 into a calendar and a network. The exam calculation is here: a task table is given, and you build the network, do the forward and backward passes, and find the critical path and the slacks. Whoever solves this question by building a table does not miss it.
Golden rules:
- Don’t solve the symptom, solve the cause. “The system is slow” is a symptom.
- Critical path = longest path. The project duration is the length of the critical path.
- Max on the forward pass, min on the backward pass.
- Slack = LS − ES. It is 0 for critical tasks.
Problem analysis
At the beginning of the analysis phase the current system (as-is) is examined and problems are listed. Users usually state a symptom: “Borrowing a book takes too long.” The analyst’s job is to find its cause. If the cause is not solved, the new system will carry the same problem.
Root cause analysis
A simple technique: ask “Why?” several times.
The lending process takes long. Why?
-> The clerk writes each book by hand. Why?
-> There is no barcode reader. Why?
-> The old system does not support barcodes.
Root cause: the system does not support barcodes.
Fishbone (Ishikawa) diagram
The problem is written at the head of the fish, and the bones are cause categories.
People Process
\ \
\ single clerk \ paper form
\ \
------+-------------+-----> [Borrowing a laptop
/ / takes 20 min]
/ reader / ID
/ broken / photocopy
Technology Policy
Specific causes are written on each bone, and then which ones are really effective is checked with data (observation, measurement).
The PIECES framework
A checklist for classifying problems:
| Letter | Category | Example question |
|---|---|---|
| P | Performance | Is the throughput sufficient, is the response time acceptable? |
| I | Information | Is the data correct, current, timely, useful? |
| E | Economics | Is the cost too high, is there a missed revenue opportunity? |
| C | Control | Are security, privacy and error control sufficient? |
| E | Efficiency | Is there waste of people, time, material? |
| S | Service | Is the service to the user accurate, consistent, easy? |
Problems are prioritized (impact, urgency) and improvement objectives are written: “Reduce the lending time from 20 minutes to 3 minutes.” A measurable objective makes it possible to test success in later stages.
Gantt chart
A Gantt chart shows the tasks as horizontal bars on a calendar. It is easy to read and ideal for presenting to managers. Progress is shown by filling the inside of the bar, and milestones with diamonds.
Day 0 5 10 15 18
A Requirements ####
B DB design ###
C UI design #####
D Backend ######
E Frontend ###
H Manual ##
F Integration ###
G Test ##
Delivery <>
Its weakness: dependencies (which task is waiting for which) are hard to see. A PERT network is used for that.
PERT and CPM
A PERT chart (program evaluation and review technique) shows the tasks as nodes and the dependencies as arrows. CPM (critical path method) finds the longest path on this network.
Three-point estimate
If the duration is uncertain, three estimates are taken for each task: optimistic (), most likely (), pessimistic ().
Example: , , days → days. The standard deviation is about days.
Four values
| Value | Meaning | Rule |
|---|---|---|
| ES | Earliest start | The largest of the EFs of the predecessors (0 if none) |
| EF | Earliest finish | ES + duration |
| LF | Latest finish | The smallest of the LSs of the successors (the project duration for the last task) |
| LS | Latest start | LF − duration |
Slack (float) = LS − ES. How much the task can slip without delaying the project.
Worked example: library reservation system
| Task | Description | Duration (days) | Predecessor |
|---|---|---|---|
| A | Requirements gathering | 4 | - |
| B | Database design | 3 | A |
| C | Interface design | 5 | A |
| D | Backend development | 6 | B |
| E | Frontend development | 3 | C |
| F | Integration | 3 | D, E |
| H | User manual | 2 | C |
| G | Test and delivery | 2 | F, H |
Network
+-->[B 3]-->[D 6]--+
| v
[A 4]---+-->[C 5]-->[E 3]->[F 3]-->[G 2]
| ^
+------>[H 2]---------+
Forward pass
Left to right. ES = the largest of the EFs of the predecessors.
A: ES 0 EF 0+4 = 4
B: ES 4 (A) EF 4+3 = 7
C: ES 4 (A) EF 4+5 = 9
D: ES 7 (B) EF 7+6 = 13
E: ES 9 (C) EF 9+3 = 12
H: ES 9 (C) EF 9+2 = 11
F: ES max(13,12)=13 EF 13+3 = 16
G: ES max(16,11)=16 EF 16+2 = 18
Project duration = 18 days
Backward pass
Right to left. The LF of the last task is the project duration. LF = the smallest of the LSs of the successors.
G: LF 18 LS 18-2 = 16
F: LF 16 (G) LS 16-3 = 13
H: LF 16 (G) LS 16-2 = 14
D: LF 13 (F) LS 13-6 = 7
E: LF 13 (F) LS 13-3 = 10
C: LF min(10,14)=10 LS 10-5 = 5
B: LF 7 (D) LS 7-3 = 4
A: LF min(4,5)=4 LS 4-4 = 0
Table and slack
| Task | Duration | ES | EF | LS | LF | Slack |
|---|---|---|---|---|---|---|
| A | 4 | 0 | 4 | 0 | 4 | 0 |
| B | 3 | 4 | 7 | 4 | 7 | 0 |
| C | 5 | 4 | 9 | 5 | 10 | 1 |
| D | 6 | 7 | 13 | 7 | 13 | 0 |
| E | 3 | 9 | 12 | 10 | 13 | 1 |
| F | 3 | 13 | 16 | 13 | 16 | 0 |
| H | 2 | 9 | 11 | 14 | 16 | 5 |
| G | 2 | 16 | 18 | 16 | 18 | 0 |
Critical path: A-B-D-F-G, 4 + 3 + 6 + 3 + 2 = 18 days. To check, the other paths: A-C-E-F-G = 17, A-C-H-G = 13. The longest is 18, consistent.
Interpretation
- If D slips by one day, the project goes to 19 days. If D slips by three days, 21 days.
- C or E can slip by one day without affecting the project. But if they slip, there will be two critical paths and the risk rises.
- H can slip by five days. If resources get tight, it makes sense to temporarily move the person on H to D.
PITFALL · using max in the backward pass. C has two successors: E (LS 10) and H (LS 14). LF takes the smallest: 10. If you take 14, you give C a false slack and delay E.
TIP · cross-check. At the end of the calculation, check that the tasks with slack 0 form a chain and that the length of this chain equals the project duration. If not, there is an error somewhere.
Common mistakes
| Wrong idea | The truth |
|---|---|
| The critical path is the shortest path | It is the longest path; the project cannot finish before it |
| ES = the sum of the EFs of the predecessors | ES = the largest of the EFs of the predecessors |
| LF = the largest of the LSs of the successors | The smallest |
| Slack = EF − ES | Slack = LS − ES (that difference is just the duration) |
| If a task with slack slips, the project slips | A delay up to the slack does not affect the project |
| PERT duration = (o + m + p) / 3 | (o + 4m + p) / 6 |
| A Gantt chart shows dependencies well | For dependencies a PERT network is better |
| Solving the symptom is enough | Solve the root cause, or the problem comes back |
Test yourself
Exam-style questions. Solve them on paper first, then reveal the answer.
In the PIECES framework, what does each letter stand for?
Show answer
PIECES is a checklist for classifying problems. Performance (slowness, throughput), Information (missing/wrong data), Economics (cost, opportunity), Control (security, errors, authorization), Efficiency (waste of resources), Service (quality of service to the user).
Library staff say: 'Overdue notices are sent late because a clerk types them by hand.' Which PIECES category fits best?
- Performance or Efficiency
- Control
- Economics
- Information only
Show answer
Typing by hand is both slow (performance: response time) and wasteful (efficiency: staff effort). Control is about security and error checking, Economics is a cost/revenue problem. If you write it with a justification on the exam, both categories are accepted.
A task has optimistic 2, most likely 5 and pessimistic 14 days. What is its PERT expected duration?
Show answer
days.
A task has estimates o = 3, m = 4, p = 11 days. What is its PERT expected duration?
Show answer
days. It is not a simple average; the most likely value gets 4 times the weight.
Gym project tasks (days, predecessors): P 2 (none), Q 4 (P), R 3 (P), S 5 (Q), T 2 (R), U 1 (S, T). What is the project duration?
Show answer
Paths: P-Q-S-U = 2 + 4 + 5 + 1 = 12. P-R-T-U = 2 + 3 + 2 + 1 = 8. The longest path is 12 days; that is the project duration.
For the same gym network, what is the critical path?
Show answer
The critical path is the longest path, and the tasks on it have slack 0. P-Q-S-U (12 days) > P-R-T-U (8 days).
For the same gym network, what is the slack of task R?
Show answer
Forward pass: R ES = 2, EF = 5. T ES = 5, EF = 7. U ES = max(11, 7) = 11.
Backward pass: U LF = 12, LS = 11. T LF = 11, LS = 9. R LF = 9, LS = 6.
Slack = LS − ES = 6 − 2 = 4 days. The slack of T is also 4.
In the library network of this page (critical path A-B-D-F-G, 18 days), task D slips by 3 days (6 → 9). What is the new project duration?
Show answer
D is on the critical path, with slack 0. Any delay on the critical path delays the project by the same amount: 18 + 3 = 21 days. The critical path stays the same.
In the same library network, task E (slack 1) slips by 1 day. What happens?
Show answer
E has 1 day of slack, which absorbs a delay of 1 day. The duration does not change but the slack drops to zero: now there are two critical paths (A-B-D-F-G and A-C-E-F-G). The project has become riskier.
Which statement about Gantt and PERT charts is TRUE?
- Gantt charts show task dependencies more clearly than PERT
- PERT charts show dependencies and the critical path; Gantt charts show timing and progress on a calendar
- Both show only the critical path
- PERT charts cannot use time estimates
Show answer
Gantt: horizontal bars on a calendar, showing when each task starts and ends and how much is done. Easy to read. PERT: dependencies and the critical path with nodes and arrows. The two complement each other.
What is a milestone in a project schedule?
Show answer
A milestone is an event with duration 0: "System proposal approved", "Beta delivered". In a Gantt chart it is usually shown with a diamond. It is used to measure progress.
A fishbone diagram's head is labeled 'Students wait 20 min to borrow a laptop'. What goes on the bones?
Show answer
In an Ishikawa (fishbone) diagram, the head is the problem (the effect) and the bones are cause categories. Specific causes are written on each bone: Process "paper form", Technology "barcode reader broken", People "single clerk", Policy "ID photocopy requirement". The goal is to find the root cause, not the symptom.
Verification: The ES/EF/LS/LF, slack, critical path and project durations of all networks, and the PERT expected durations, were computed with node (verify/SEN2022/04.mjs, cpm and pert functions in lib.mjs). Conceptual questions were compared with the standard definitions.