Skip to main content

Team Capacity & Load Model

Execution-layer artifact. Companion to ROADMAP.md. Defines team composition, critical-path teams, and parallelization per milestone.

1. Starting Assumptions​

  • Sprint length: 2 weeks
  • Sprints per milestone: 6 (3 months)
  • Velocity baseline: 8–13 story points per developer per sprint (varies by seniority)
  • Overhead: 20% (code review, meetings, incident response, documentation)
  • Hiring ramp: New hires reach full velocity after 1 sprint ramp-up
  • Team topology: Stream-aligned teams + platform team + enabling teams (SRE, security, AI)

2. Team Definitions​

TeamFocusCore Skills
Platformiam, tenant, hierarchy, licensing, access-policy, audit, config-resolver, fhir-gateway, platform-admin, terminologyNestJS, TypeORM, PostgreSQL, NATS, Keycloak, FHIR R4
Clinicalregistration, scheduling, provider-directory, facility-management, patient-chart, clinical-notes, vitals, problem-list, allergies, medication-managementNestJS, FHIR R4, clinical domain expertise
Diagnosticsorders-cpoe, results, laboratory-lis, radiology-pacsNestJS, HL7, DICOM, LIS/PACS domain
Financebilling, insurance, claimsNestJS, financial domain, multi-currency
Engagementpatient-portal-api, digital-communicationNestJS, React, real-time messaging, Jitsi
Pharmacypharmacy, ghasi-e-prescribing-gatewayNestJS, FHIR R4, pharmacy domain
PopHealthhealth-population, immunizations, care-plansNestJS, epidemiology, HMIS
Desktopdesktop-electron (all DESK-EPICs)Electron, SQLite, React, sync engine
AIai-orchestratorNestJS, LLM APIs, ONNX, ML ops
Interopfhir-gateway (depth), hl7v2-interop, SMART on FHIR, Bulk DataFHIR R4, HL7v2, SMART, IHE
MobileExpo React Native appReact Native, OIDC/PKCE, offline
DevOps/SREKong, Keycloak, infrastructure, CI/CD, observabilityDocker, K8s, Prometheus, Grafana, NATS ops
SecurityAudit, pen-testing, compliance, encryptionSecurity engineering, HIPAA/GDPR
QATesting strategy, E2E, load testing, clinical validationPlaywright, k6, clinical testing
Clinical SMEDomain validation, workflow review, FHIR profilesClinical informatics, EHR workflows

3. Headcount Table​

TeamM0M1M2M3M4M5
Platform643223
Clinical286432
Diagnostics——4463
Finance——3342
Engagement———432
Pharmacy———321
PopHealth————43
Desktop443332
AI222233
Interop———233
Mobile—————3
DevOps/SRE333334
Security222222
QA233343
Clinical SME122221
Total222831374437

4. Critical-Path Teams Per Milestone​

MilestoneCritical-path teamsBlocking deliverable
M0Platform, Desktop, DevOpsTenant isolation, sync engine, Kong/Keycloak
M1Clinical, DesktopCore EHR workflows, offline patient intake
M2Diagnostics, Finance, ClinicalOrders/CPOE, billing, results
M3Diagnostics (LIS), Pharmacy, EngagementLIS integration, e-prescribing, patient portal
M4Diagnostics (PACS), Finance, PopHealthRadiology, claims, population health
M5Interop, Mobile, DevOpsSMART on FHIR, mobile app, multi-region

5. Parallel Workstreams​

StreamTeamsStartPeakDescription
A — Platform FoundationPlatform, DevOps, SecurityM0M0iam, tenant, hierarchy, licensing, audit, kong, keycloak
B — Desktop FoundationDesktopM0M0–M1Electron shell, SQLite, sync engine
C — AI FoundationAIM0M1–M2AI orchestrator, prompt registry, safety
D — Clinical CoreClinical, Clinical SMEM1M1Registration through medication management
E — Orders & ResultsDiagnostics, ClinicalM2M2CPOE, results, terminology depth
F — FinancialFinanceM2M2–M4Billing → insurance → claims
G — LaboratoryDiagnosticsM3M3LIS: specimens, worklists, instruments
H — Pharmacy & E-RxPharmacyM3M3Dispensing, e-prescribing gateway
I — EngagementEngagementM3M3Patient portal, digital communication
J — ImagingDiagnosticsM4M4PACS, DICOM, viewer
K — Population HealthPopHealthM4M4Cohorts, registries, HMIS
L — Mobile & InteropMobile, InteropM5M5Expo app, SMART on FHIR, bulk data

6. Hiring Plan​

PeriodHiresFocus
M0 start22 (founding team)Platform (6), Desktop (4), AI (2), DevOps (3), Security (2), QA (2), Clinical (2), Clinical SME (1)
M1 start (+6)+6 → 28Clinical (+6 for core EHR), QA (+1)
M2 start (+3)+3 → 31Diagnostics (+4 new), Finance (+3 new), Clinical (-4 rebalanced)
M3 start (+6)+6 → 37Engagement (+4 new), Pharmacy (+3 new), Interop (+2 new), Clinical SME (+0), rebalance from Platform (-2)
M4 start (+7)+7 → 44Diagnostics (+2 PACS), Finance (+1), PopHealth (+4 new), QA (+1), AI (+1)
M5 start (-7)-7 → 37Mobile (+3 new), Interop (+1), DevOps (+1); Pharmacy (-1), Clinical (-1), Diagnostics (-3), Finance (-2), Engagement (-1), Desktop (-1), rebalance

7. Load Heatmap​

Team │ M0 M1 M2 M3 M4 M5
────────────────┼─────────────────────────────────────────────
Platform │ ██████ ████ ███ ██ ██ ███
Clinical │ ██ ████████ ██████ ████ ███ ██
Diagnostics │ ░ ████ ████ ██████ ███
Finance │ ░ ███ ███ ████ ██
Engagement │ ░ ░ ████ ███ ██
Pharmacy │ ░ ░ ███ ██ █
PopHealth │ ░ ░ ░ ████ ███
Desktop │ ████ ████ ███ ███ ███ ██
AI │ ██ ██ ██ ██ ███ ███
Interop │ ░ ░ ██ ███ ███
Mobile │ ░ ░ ░ ░ ███
DevOps/SRE │ ███ ███ ███ ███ ███ ████
Security │ ██ ██ ██ ██ ██ ██
QA │ ██ ███ ███ ███ ████ ███
Clinical SME │ █ ██ ██ ██ ██ █
────────────────┼─────────────────────────────────────────────
Legend: █ = high load ██ = medium ███ = peak ░ = idle/not started

8. Velocity Assumptions​

MetricValue
Sprint length2 weeks
Story points per dev per sprint8–13 (avg 10)
Overhead factor20% (effective: 8 pts/dev/sprint)
New hire ramp-up1 sprint at 50% velocity
Bug fix allocation15% of sprint capacity after M1
Tech debt allocation10% of sprint capacity after M2

9. Allocation Priority Rules​

When staffing is constrained:

  1. Critical-path blocker — highest priority; redirect from non-critical stream
  2. Security/compliance issue — second priority; never defer
  3. Offline/sync bug — third priority (moat feature)
  4. AI feature — fourth priority (differentiator but medium priority)
  5. Enhancement/polish — lowest priority; defer to next milestone

10. Governance​

  • Quarterly review: Headcount and allocation reviewed at each milestone gate.
  • Owner of record: VP Engineering owns the capacity model.
  • On-call rotation: After M1, each stream-aligned team provides 1 on-call engineer (rotated weekly).
  • Cross-team dependencies: Escalated via weekly architecture sync; blocked items get 48h response SLA.