How does value flow — and where does time die?
VALUE STREAM MAP: IDENTITY & ACCESS — USER ONBOARDING
════════════════════════════════════════════════════════════
[TRIGGER: New user needs access to the platform]
│
▼
┌──────────────────┐
│ 1. SIGN UP │ C/T: 2min Wait: 0 %C&A: 95%
│ Clerk handles │
│ OAuth/email flow │
└────────┬──────────┘
│
▼
┌──────────────────┐
│ 2. AUTO-PROVISION│ C/T: 2sec Wait: 0 %C&A: 60%
│ Create user + │ (No Admin role assigned.
│ "Personal Org" │ No role seeded. 60% because
└────────┬──────────┘ identity resolves but
│ authz data missing.)
│ ░░░░░░░ (instant — but silent failure)
▼
┌──────────────────┐
│ 3. ACCESS PAGE │ C/T: 0 Wait: 0 %C&A: 0%
│ Dashboard or │ (22P02: query passes Clerk
│ Admin route │ userId where UUID expected.
└────────┬──────────┘ Redirect loop: 789 errors/30min)
│ ░░░░░░░░░░░░░░░░░░░░░░░░ (1-24h: waiting for developer)
▼
┌──────────────────┐
│ 4. MANUAL FIX │ C/T: 30min Wait: 1-24h %C&A: 50%
│ Developer inserts│ (DB insert or Clerk dashboard.
│ role in database │ Error-prone. Not repeatable.)
└────────┬──────────┘
│
▼
┌──────────────────┐
│ 5. VERIFY ACCESS │ C/T: 5min Wait: 0 %C&A: 80%
│ Owner retries │ (May need cache clear.
│ login │ 80% because intermittent.)
└────────┬──────────┘
│
▼
[OUTPUT: User has access — but only because a developer intervened]
Cycle Time: ~37 min (of actual human work)
Wait Time: 1-24 hours (waiting for developer availability)
Lead Time: 1-25 hours
Flow Efficiency: 37min / ~6h average ≈ 10%
World-class: >40% Good: 20-40% Typical: 5-15% CURRENT: ~10%
════════════════════════════════════════════════════════════
Second User Flow
Inviting a second person is worse:
[TRIGGER: Admin wants to add a team member]
│
▼
┌──────────────────┐
│ 1. DECIDE │ C/T: 1min Wait: 0 %C&A: 100%
│ Admin identifies │
│ who to add │
└────────┬──────────┘
│ ░░░░░░░░░░░░░░░░░░ (1-24h: no self-serve invite)
▼
┌──────────────────┐
│ 2. MANUAL INSERT │ C/T: 15min Wait: 1-24h %C&A: 40%
│ Developer does │ (Wrong org? Wrong role?
│ DB insert or │ No invite flow exists.)
│ Clerk dashboard │
└────────┬──────────┘
│
▼
┌──────────────────┐
│ 3. USER SIGNS UP │ C/T: 2min Wait: varies %C&A: 30%
│ But lands in │ (Auto-provisions into
│ "Personal Org" │ Personal Workspace, NOT
└────────┬──────────┘ the org they were invited to)
│
▼
[OUTPUT: DEAD END — no way to join existing org]
Flow Efficiency: N/A — the flow doesn't complete
Bottlenecks
| Rank | Step | Wait | Root Cause | Fix |
|---|---|---|---|---|
| 1 | Access page | 0 (instant crash) | 22P02 query + redirect loop | Tier 0: fix query, show error page |
| 2 | Manual fix | 1-24h | Developer intervention required | Tier 1: auto-bootstrap Admin on first login |
| 3 | Second user invite | Dead end | No invite flow, no org joining | Tier 3: invite-by-email + org membership |
| 4 | Auto-provision | Silent fail | Creates user but no role | Tier 1: assign Admin role during provision |
| 5 | Access verification | Intermittent | Cache, session state | Tier 0: clear error messaging |
Seven Wastes
| Waste | Current State | After Fix |
|---|---|---|
| Waiting | 1-24h for developer to fix access | Auto-bootstrap: zero developer intervention |
| Rework | Multiple attempts to get access working | One sign-up = one working session |
| Motion | Switch between Vercel logs, DB console, Clerk dashboard | Single onboarding flow handles everything |
| Over-processing | Developer manually inserts what should be automatic | Provisioning service handles atomically |
| Defects | 22P02 crash on every role check | Correct query uses correct ID type |
Target State
After Tier 1:
Cycle Time: ~2 min (sign up + auto-provision + access)
Wait Time: 0 (no developer intervention)
Lead Time: ~2 min
Flow Efficiency: 2min / 2min = 100%
After Tier 3 (invite flow):
Second user: Admin sends email → user clicks → signs up → lands in right org
Lead Time: minutes, not hours
Gate
Before moving to Dependency Map:
- All steps documented with cycle time — YES (5 steps for owner, 3 for second user)
- Wait time measured between each step — YES (0 to 24h)
- Flow efficiency calculated — YES (~10% current, 100% target)
- Bottlenecks identified and ranked — YES (5 ranked)
- Waste types categorized — YES (5 of 7 present)
- Improvement opportunities prioritized — YES (mapped to tiers)
Context
- Outcome Map — Previous: what does success look like
- Dependency Map — Next: what must happen first
- Value Stream Map Template — The empty pattern