Project Phases
9-month migration timeline from legacy monolith to .NET 8 microservices. Total effective capacity: ~44 man-months (5 engineers × AI 2x multiplier).
Timeline Overview
Shape Up framework: 9 months = 6 cycles × 6 weeks. Each cycle has 1 week shaping, 4 weeks building, 1 week cooldown. AI multiplier is not constant — ×1.0 in Phase 0 (setup) and Phase 3 (hardening), ×2.0 in Phases 1–2 (extraction).
Service Extraction Timeline
Go-Live Order
Strangler Fig Cutover Process
Capacity Breakdown
| Phase | Duration | Raw MM | Overhead | Net MM | AI × | Effective MM | Services Live |
|---|---|---|---|---|---|---|---|
| Phase 0AI Foundation | M1 | 5.0 | -3.0 | 2.0 | ×1.0 | 2.0 | 0 |
| Phase 1Core Services | M2–4 | 15.0 | -6.0 | 9.0 | ×2.0 | 18.0 | 2 |
| Phase 2Scale Out | M5–7 | 15.0 | -5.5 | 9.5 | ×2.0 | 19.0 | 5 |
| Phase 3Hardening | M8–9 | 10.0 | -3.5 | 6.5 | ×1.0 | 6.5 | 5 |
| Total | 9 months | 45.0 | -18.0 | 27.0 | variable | ~44.0 | 5 (+1 frozen) |
* Phase 0: AI not yet set up → multiplier = 1.0 | Phase 3: Performance/docs work → low AI leverage → 1.0x
Capacity Distribution by Work Package
| Work Package | Man-Months | Assigned | Phase |
|---|---|---|---|
| AI Foundation & Tooling | 3.0 | D1, D5 | 0 |
| Infrastructure / IaC / CI/CD | 4.0 | D5, D1 | 0–1 |
| API Gateway (YARP) | 2.0 | D1 | 0–1 |
| Shared Kernel & Contracts | 1.5 | D1 | 0 |
| Travel Booking Service | 6.0 | D2, D1 | 1 |
| Event Management Service | 5.0 | D3, D2 | 1–2 |
| Workforce Service | 4.0 | D4 | 2 |
| Communications Service | 3.5 | D4, D3 | 2 |
| Reporting Service | 3.5 | D5, D3 | 2–3 |
| Payment ACL | 2.0 | D1, D2 | 1 |
| React Frontend | 5.0 | D5, D4 | 1–3 |
| Testing & QA | 2.5 | All | 1–3 |
| Performance & Hardening | 2.0 | D1, D2 | 3 |
| Documentation & Handoff | 1.0 | All | 3 |
| Total | 45.0 |
Dev Assignments by Month
Team: D1 (Tech Lead), D2 (Senior Backend), D3 (Backend), D4 (Fullstack), D5 (Frontend/DevOps)
| Month | Phase | D1 – Tech Lead | D2 – Sr Backend | D3 – Backend | D4 – Fullstack | D5 – FE/DevOps |
|---|---|---|---|---|---|---|
| M1 | Phase 0 | AI + Gateway scaffold | Legacy Travel analysis | Legacy Event analysis | React design system POC | CI/CD + IaC (Bicep) |
| M2 | Phase 1 | YARP routing + ACL | Travel API (CRUD) | Event API scaffold | Workforce modeling | IaC environments + CDC |
| M3 | Phase 1 | Travel cutover (5%→100%) | Travel tests + bug fixes | Event business logic | React Travel + Event UI | Monitoring dashboard |
| M4 | Phase 1→2 | Event cutover (5%→100%) | Event tests + ACL harden | Event integration tests | Workforce API impl | React Event UI polish |
| M5 | Phase 2 | Architecture review | Comms event triggers | Comms API (email/SMS) | Workforce logic + tests | React Workforce + Reporting |
| M6 | Phase 2 | Workforce cutover | Reporting query APIs | Comms CDC + cutover prep | React Comms + Reporting | Reporting data aggregation |
| M7 | Phase 2→3 | Comms + Reporting cutover | Cross-service integration | Reporting scheduled jobs | React cross-module | Production monitoring |
| M8 | Phase 3 | Performance optimization | Load testing (40K users) | Bug fixes + edge cases | React performance + a11y | Alerting + DR testing |
| M9 | Phase 3 | Architecture docs | API docs (OpenAPI) | Runbooks + playbooks | Design system docs | CI/CD optimization |
Phase Details
AI Foundation
Invest the first month in AI toolchain setup, infrastructure scaffolding, and a pilot migration to validate the approach before touching core domains.
Core Services
Extract the two highest-value core domains — Travel Booking and Event Management — while establishing the Payment ACL bridge to the frozen legacy module.
Scale Out
Extract the remaining three services — Workforce, Communications (production), and Reporting (CQRS) — completing the full microservices decomposition.
Hardening
Stabilize the platform at scale — load testing for 40K users, security audit, disaster recovery validation, and documenting the Payment migration plan for the next phase.
Milestones & Go/No-Go Gates
Risk-based milestone tracking — track by risks eliminated, not features delivered.