Chapter 18 — Supervised technical project
Lesson map
Lesson 18 published. Map, example, EX069.
flowchart TD
N0["Learning outcomes"]
N1["18.1 The project"]
N2["18.2 Evaluation"]
N3["Lab — Driver reports before and after the app button"]
N4["18.3 Handover"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Worked example"]
EX --> Q["Exercise EX069"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["18.1 The project"]
N2["18.2 Evaluation"]
N3["Lab — Driver reports before and after the app button"]
N4["18.3 Handover"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX069"]
[Learning outcomes]
|
v
[18.1 The project]
|
v
[18.2 Evaluation]
|
v
[Lab — Driver reports before and after the app button]
|
v
[18.3 Handover]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX069]
Learning outcomes
You will (1) deliver a complete improvement under supervision; (2) evaluate it after launch; (3) hand it over with documentation.
18.1 The project
For her supervised project, Priya delivers a simpler reporting route for drivers. Instead of forwarding texts, drivers tap a Report button in the route app, which captures the suspicious text's sender and content after the driver pastes it, and sends it to triage. She works with the app supplier, tests the feature with five drivers in a test environment and launches it after Tom and the operations manager approve. Drivers receive a one-minute video showing how to use it. Drivers like the video.
18.2 Evaluation
After six weeks, Priya compares driver reports before and after the change. Reports of fake texts rose, and the median time from receipt to report fell. Drivers in a short survey say the button is easier than forwarding. The lab summarises the figures. She also checks that triage time did not grow too much and finds that automatic grouping kept it manageable. She notes that six weeks is short and that an attack campaign in week four may have raised reports.
Lab — Driver reports before and after the app button
# Driver reports of fake texts, six weeks before vs after the app button (synthetic).
before = [120, 95, 60, 150, 80, 40]; after = [5, 8, 12, 15, 20, 9, 10, 14, 12, 18, 11, 25, 7, 13, 16, 30, 6, 12, 22]
m = lambda x: sorted(x)[len(x) // 2]
print(f"before: {len(before)} reports, median {m(before)} min; after: {len(after)} reports, median {m(after)} min")
Run with python3 lab_drivers.py. Verified output:
before: 6 reports, median 95 min; after: 19 reports, median 12 min
18.3 Handover
Priya writes a runbook for the app route, adds it to the verification table and trains the second triage person. She presents the project to Tom, the IT lead and the operations manager, covering the problem, design, test, results and limits. The operations manager asks to extend the app button to warehouse handheld scanners. Tom notes that Priya's project shows the technical role at its best: practical, tested, respectful of users and documented so others can maintain it. Tom signs off the project.
Worked example
Priya delivers an in-app report button for drivers, evaluates six weeks of results and hands over with runbook and training.
Synthetic case. The project is synthetic.
Errors and limits
Six weeks is short. Campaigns can inflate reports.
Exercises
- EX069 — Driver route. What replaced forwarding for drivers? Rubric: 3 = a Report button in the route app;; 2 = app button;; 1 = vague;; 0 = none.
- EX070 — Lab change. What did the lab show for driver reports? Rubric: 3 = 6 to 19 reports and median 95 to 12 minutes;; 2 = rise;; 1 = vague;; 0 = none.
- EX071 — Confounder. What may have raised reports besides the button? Rubric: 3 = an attack campaign in week four;; 2 = campaign;; 1 = vague;; 0 = none.
- EX072 — Next request. What did the operations manager ask for next? Rubric: 3 = extend the button to handheld scanners;; 2 = scanners;; 1 = vague;; 0 = none.
Synthesis
A supervised project delivers, evaluates and hands over a practical improvement.
Continue studying — chapter 18 of 18
← Chapter 17 (draft) · Course chapter index · Worked results ↓ · Next course via chapter index →