The Short Version ↗
Modular systems owned by empowered streams who ship
small, safe, frequent changes that deliver customer outcomes.
We measure what matters. We own what we build. We learn from what breaks.
Six Guiding Principles ↗
- Customer Outcomes over Internal Convenience
We exist to serve users. Everything else enables this.
- Small, Safe, Frequent over Big & Risky
Make change safe by making it small.
- Clarity over Speed
Confusion is more expensive than deliberation.
- Ownership over Delegation
You build it, you run it, you fix it.
- Sustainable Pace over Heroics
Sustainable velocity beats max output in one sprint.
- Learning over Knowing
"I don't know — let's find out" is the smart move.
Platform Teams ↗
Core Platformauth · infra · shared services
SP AdminInternal admin tools (read-only into all)
Skills ValidationAssessments · skills · certifications
Value Streams ↗
- Library P1 — source of truth for what content exists
- Learning Experience P1 — engaging learning moments
- Live-Training (SPLT) P2 — real-time instructor learning
- VAR P2 — reseller management
- Talent Marketplace P3 — capability ↔ perception gap
- Platform Access P4 — the "front door"
- Organized Learning P4 — institutions & structured programs
- Performance Mgmt P5 — manager-driven upskilling
Who Owns This? ↗
| Login / SSO UX | Platform Access |
| Auth infra / SDK | Core Platform |
| Subscriptions UX | Platform Access |
| Stripe SDK | Core Platform |
| Courses · lessons · paths | Library |
| Classes · groups · LTI | Organized Learning |
| Quizzes · skills · certs | Skills Validation |
| Reseller orders | VAR |
| SPLT sessions | Live-Training |
| Profiles · portfolios | Talent Marketplace |
| Internal admin | SP Admin |
| CI/CD · shared infra | Core Platform |
Three Team Types ↗
- Stream-aligned — own a business segment end-to-end. Build, test, deploy, operate.
- Platform — self-service capabilities. Streams are customers. Thinnest Viable Platform.
- Enabling — temporary. Teach to fish. Success = no longer needed.
Interaction Modes ↗
| Collaboration | Days-weeks · novel problems · pairing |
| X-as-a-Service | Ongoing · mature capability · self-serve |
| Facilitating | Weeks-months · transfer skill · ends |
Team Size · 7 ± 2 ↗
| Size | Paths | Effect |
| 5 | 10 | Tight, shared context |
| 7 | 21 | Manageable |
| 9 | 36 | Subgroups forming |
| 12 | 66 | Two teams pretending |
Modular Monolith · The Rules ↗
- One artifact, one CI/CD pipeline, atomic deploys.
- Domain-centric modules aligned with stream ownership.
- Explicit interfaces only — public APIs, events, queues. No reaching into internals.
- Shared infra in Core Platform — auth, authz, DB, cache.
- No direct DB access across module boundaries.
- Stack: Laravel · Vue 3 · Tailwind/UnoCSS · Pinia · Vite · AWS · GitHub Actions
Daily Flow · Idea → Customer ↗
Committrunk
Build<5 min
Test<5 min
Review<3 hr
Mergedaily
Deploy<5 min
Monitoralways
Deployment Strategies ↗
| Rolling | Default |
| Feature flags | Gradual rollout |
| Blue-green | Zero-downtime infra |
| Canary | High-risk · subset traffic |
Incident Response ↗
| Sev | Respond | Resolve |
| P1 | < 15 min | < 4 hr |
| P2 | < 1 hr | < 24 hr |
| P3 | < 4 hr | < 1 week |
| P4 | Next sprint | As prioritized |
Causal Chain · How Metrics Connect ↗
Healthy Teams→
Efficient Dev→
Healthy Systems→
Great Experience→
Business Results
Metrics That Matter ↗
| Tier | Key Metric · Target |
| T1 · Team | DevEx ≥ 4.0 · Stability ≥ 95% |
| T2 · Dev | Daily deploys · cycle < 24h · CFR < 5% |
| T3 · System | MTTR < 4h P1 · API p95 < 200ms |
| T4 · Customer | Reliability ≥ 99.5% · Adoption ≥ 25% |
| T5 · Business | MAU · CLTV · NPS ≥ 50 |
Anti-Metrics · Refuse to Measure ↗
- Lines of code — incentivizes bloat
- Features shipped — without adoption, it's maintenance burden
- Overall coverage % — 90% on critical paths beats 80% of everything
- Hours worked — inversely correlated with sustainable pace
Team State · Diagnostic ↗
| Falling Behind | Backlog grows · firefighting |
| Treading Water | Critical only · no improvement |
| Repaying Debt | Active improvement · velocity ↑ |
| Innovating | Debt low · new value |
Anti-Patterns · Avoid ↗
- Long-lived branches
- Manual deployments
- Testing only in production
- Hero deployments (one-person ship)
- Ignoring flaky tests
- Big bang releases
- Cross-module DB access
- God modules · premature service extraction
- Platform team as ticket queue
- Enabling that creates dependency
Decide When Stuck ↗
- Customer outcome — does this serve users?
- Smallest slice — can we ship a thin version?
- Sustainable — can we sustain this pace?
- Document — write down the decision (ADR).
- Communicate — tell affected teams.