KPI Dashboard — What Gets Measured, What Gets Ignored

Every long plan gets destroyed by one of two failure modes: measuring nothing (so slippage is invisible until it’s catastrophic) or measuring too much (so the plan becomes about the dashboard, not the work). This file is the middle path — 14 metrics total, split across weekly / monthly / quarterly cadences, plus a list of anti-KPIs you must never chase.

The rule that governs this whole file: metrics exist to make honest slippage visible in time to correct it, not to prove to yourself that you are working. If a metric is going green while the work is going sideways, the metric is wrong. Change it.


Weekly Metrics (7) — Sunday Evening Ritual

Write these seven numbers at the end of every week in the lab notebook. Five minutes.

#

Metric

Definition

Green

Yellow

Red

W1

Real Java hours

Time spent writing Java (not reading, not watching)

≥ 8

4–7

≤ 3

W2

Total plan hours

Real Java + reading + notebook + publishing

≥ 10

6–9

≤ 5

W3

Commits to plan repos

Public commits to any of the rung repos or notes repo

≥ 5

2–4

≤ 1

W4

Lab-notebook entries

Number of entries this week (S-plan, retros, predict/measures)

≥ 3

1–2

0

W5

Sleep hours (7-day avg)

Honest average, from phone or wearable

≥ 7

6.0–6.9

≤ 5.9

W6

Sprint burn-down

% of sprint deliverable completed vs % of sprint calendar consumed

on track

5–15% behind

> 15% behind

W7

Wednesday-off honored?

Yes/no

yes

no

How to use it: Any two reds triggers the yellow-week response from 04_weekly_rhythm.md. Any three reds two weeks in a row triggers the reset protocol in ../99_pre_mortem/09_summary_and_reset_protocol.md.


Monthly Metrics (4) — Last Weekend of the Month

Spend 45 minutes on the last Sunday of the month reviewing these. Write the numbers in the lab notebook and in a running MONTHLY.md in the notes repo.

#

Metric

Definition

Target

M1

Monthly exit-check pass rate

Fraction of the month’s exit checkboxes in 01_month_by_month.md completed

≥ 80% by month-end

M2

Portfolio-rung status

Where each active rung is on its checklist

Current rung on track for calendar due date

M3

Public shipping cadence

Public commits, blog posts, PRs (any repo, any platform)

≥ 1 substantial public artifact per month

M4

Retro completeness

S-retro entries written for both sprints this month

2/2 (never miss both, never skip one silently)

How to use it: M1 below 60% two months in a row = plan is oversized for current life; compress next month’s scope. M3 = 0 in any single month is a red flag — something must go public even if it is a work-in-progress commit with a WIP tag.


Quarterly Metrics (3) — Buffer-Week Review

During each quarter’s buffer week, spend 90 minutes writing the quarterly review. Three questions, three numbers:

#

Metric

Definition

Target

Q1

Rungs shipped on time

Cumulative rungs shipped by their calendar due date

100% for hard gates; ≥ 80% for others

Q2

Sustainable-week ratio

(Green weeks) / (Total weeks this quarter). Yellow and red both count against green.

≥ 60% green quarters (7 of 12 weeks green)

Q3

Body/mind integrity

Sleep average, exercise sessions/week, at least one deep dinner or family evening/week

Sleep ≥ 7h avg; exercise ≥ 2x/wk; deep dinner ≥ 3/quarter

Quarterly review lives in QUARTERLY.md. Cross-link the previous quarter’s entry when you write the next — the diff between two quarters is the most useful signal in the whole dashboard.


The M9 Hard-Gate Checkpoint

End of March 2027 (M9) is the single most important checkpoint in the entire 13 months. By this date:

  • Rung 5 (Concurrency Playground) must be shipped — hard gate #1, due Feb 28, 2027.

  • Rung 6 (JVM Performance Case Study) should be shipped — due Mar 31, 2027.

  • Phase 06 (JVM Internals) must be complete.

  • First M13 pitch draft should exist.

If at end of M9 you are missing any of the above, the plan needs a structural correction, not a small adjustment:

  1. Missing Rung 5: Extend Rung 5 by 4 weeks (using Q3 buffer + one week of Rung 6 scope). Descope Rung 6 to “a single case study, no reverted-optimization requirement.” Do not skip Rung 5.

  2. Missing Phase 06 completion: Cut Phase 07 (Spring) reading by 30% — focus on files 01, 02, 03, 04 and defer 05, 06, 07 to after Rung 7 ships.

  3. Missing pitch draft: Schedule two evenings in April to write it before Phase 07 depth reading. Rehearsal begins one month later than planned but is not skipped.

This checkpoint is the single point in the plan where you are allowed to renegotiate scope with yourself. Elsewhere the answer is “absorb into buffer.” Here the answer can be “cut Phase 07 by 30%.”


Portfolio Rung Tracking Table

Maintain a copy of this in PORTFOLIO_STATUS.md in the notes repo. Update monthly.

Rung

Artifact

Due date

State

Blocker (if any)

Notes

1

50 Programs Repo

Aug 31, 2026

☐ not started · ☐ in progress · ☐ shipped

2

DSA GitHub 150

Oct 31, 2026

☐ not started · ☐ in progress · ☐ shipped

3

MiniCollections

Nov 30, 2026

☐ not started · ☐ in progress · ☐ shipped

4

Modern Java Refactor Case

Dec 27, 2026

☐ not started · ☐ in progress · ☐ shipped

🚨 5

Concurrency Playground

Feb 28, 2027

☐ not started · ☐ in progress · ☐ shipped

6

JVM Performance Case Study

Mar 31, 2027

☐ not started · ☐ in progress · ☐ shipped

7

URL Shortener Service

May 31, 2027

☐ not started · ☐ in progress · ☐ shipped

🚨 8

ML Capstone on Kubernetes

Jul 31, 2027

☐ not started · ☐ in progress · ☐ shipped


Anti-KPIs — What Never To Track

These metrics look useful and are actively harmful. Tracking them will corrupt your priorities. Do not put them in the dashboard.

  • GitHub stars / follower counts. Popularity is a lottery. Chasing it will make you optimize for tweetable projects instead of substantive ones. Only ship-count matters.

  • LeetCode number solved. Total count without pattern-tagging and without complexity analysis is theatre. Rung 2 asks for 150 pattern-tagged with complexity comments; that is the real metric.

  • Books finished. “Finished Effective Java” means nothing. “Applied Item 17 to MiniHashMap and here is the commit” means everything.

  • Hours in front of the screen. Ass-in-chair is not the same as thinking. W1 (real Java hours) and W6 (sprint burn-down) both measure output; screen time measures nothing.

  • Blog post view counts. Ships > views. Publishing a Rung retro that gets 12 views is a green metric; publishing nothing but hoping the next post goes viral is a red metric.

  • Comparing to other learners on Twitter/LinkedIn. Zero signal, high emotional cost. Do not track anyone but yourself. See ../99_pre_mortem/06_fm_isolation_and_no_feedback.md for how to get feedback without falling into comparison.


Yearly Review Template

Write in the Q4 buffer week (Jul 26 – Aug 1, 2027). One long entry. This is the artifact you re-read every year in July.

### The Next 13 Months — Final Review · YYYY-MM-DD

1. **The rungs, honest:**
   - Rung 1 — shipped / not / partial. What it taught me: ___
   - ... (repeat for 8)

2. **The pitch, said out loud:**
   - Can I say the M13 pitch sentence in one breath, without notes, and mean every word? Yes / No.
   - If yes: what earned it? If no: what is missing?

3. **The dashboard, aggregate:**
   - Green weeks: __ / 52
   - Yellow weeks: __ / 52
   - Red weeks: __ / 52
   - Rungs on time: __ / 8
   - Hard gates hit: __ / 2

4. **The Valley of Despair — what I learned in M4–M7:**
   ___

5. **What I would do differently if I ran this plan again:**
   ___

6. **What I kept from the plan that surprised me by working:**
   ___

7. **The three lessons I want the version of me starting Aug 2027's next plan to remember:**
   1. ___
   2. ___
   3. ___

8. **A letter to July-2026 me** (250 words, honest, warm):
   ___

That letter at the end is not optional. It is the thing you re-read when you start the next long plan and forget what a year of viking-level work actually cost.


Return to 00_command README · Previous: 04_weekly_rhythm.md · Next: 06_background_alignment.md