Skip to content

Session 2: Facilitator Notes

Duration: 60 min · Deliverable: prioritized bottleneck analysis with root-cause diagrams

Before the session

  • I've reviewed each student's baseline.log from Session 1 (if they shared) and I know who had unusual results.
  • I have a backup baseline.log ready for any student whose Session 1 data is missing.
  • The handout (handout.md) and the course logbook link are shared in chat at the start.
  • I've personally done a 5 Whys on the slow reports.test.ts so I can walk it without notes.

Time budget

BlockMinsSlides
1. Recap & profiling intro101–7
2. Apply profiling to baseline data158–12
3. Root cause analysis intro1013–17
4. Apply 5 Whys to OrbitTasks1518–19
5. Prioritization + career angle + preview1020–23

Don't steal time from blocks 2 and 4; they're the deliverable.

Block-by-block

Block 1 (profiling intro). Don't read the slides. The point is: profiling = measuring instead of guessing. Anchor with one war story from my own work where guessing was wrong.

Block 2 (apply to data). Use slide 10 as the kickoff, then we rank the stages together: I drive on screen and students fill the W2 logbook section alongside me. As we go, walk through 2–3 students' baseline.log in chat. Aim to surface one or two patterns out loud so others can compare ("Anna's slowest stage is test; José's is install, both are normal, here's why").

Block 3 (RCA intro). Slides 13–17. The line that lands: "the test is slow is a symptom; figure out what process let it stay that way." The 5 Whys example on slide 15 is mine to run live: pick the slow test in reports.test.ts and do it on the whiteboard.

Block 4 (apply 5 Whys). We do this together; I run the first 5 Whys live, then we work the next two as a group with students filling their W2 logbook section as we go. Hardest part to facilitate. Some students will get stuck at "because someone wrote it that way." Push: "okay, why didn't anyone catch it in review?" Get them to a process answer. Pair students who finish early with students who are stuck.

Block 5 (prioritization). The 2×2 on slide 20 is the universal framework. Worth labeling: "you'll use this for the rest of your career." Career angle on slide 21 should be brief; the deliverable matters more.

Anticipated questions

"What if my baseline.log is missing a stage?"

Use mine, share in chat. We'll get yours next time.

"Five Whys feels forced, what if the real answer comes in three?"

Three is fine. The number is a guideline. Stop when you reach a process root cause.

"Aren't fishbones overkill for a small codebase?"

Yes, for one bottleneck. Useful when the failure is multi-causal; the flaky test is the right one to try.

"How do I know which bottleneck to fix first if they're all medium-impact?"

Effort wins ties. If two are equal impact, pick the one you can ship in a day.

If I run short

  • Cut slide 17 (fishbone); they can read it themselves.
  • Compress block 1 to 5 minutes; skip the instrumentation/sampling distinction.
  • Never cut block 4. The 5 Whys exercise is the deliverable.

Post-session

Drop a message: "Today we ranked, root-caused, and prioritized together. Next week we start fixing. Keep your logbook current; we carry today's bottlenecks straight into Workshop 3."