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

Travel BookingMonth 3
Event ManagementMonth 4
WorkforceMonth 6
CommunicationsMonth 7
Reporting (CQRS)Month 7
Payment (Frozen → ACL only)Future

Strangler Fig Cutover Process

Day 1–2: 5% traffic → new service
Day 3–4: 25% traffic (if clean)
Day 5: 50% traffic
Day 6–7: 100% traffic (full cutover)
Day 14: Legacy module decommissioned
YARP config rollback < 5 minutes at any point

Capacity Breakdown

PhaseDurationRaw MMOverheadNet MMAI ×Effective MMServices Live
Phase 0AI FoundationM15.0-3.02.0×1.02.00
Phase 1Core ServicesM2–415.0-6.09.0×2.018.02
Phase 2Scale OutM5–715.0-5.59.5×2.019.05
Phase 3HardeningM8–910.0-3.56.5×1.06.55
Total9 months45.0-18.027.0variable~44.05 (+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 PackageMan-MonthsAssignedPhase
AI Foundation & Tooling3.0D1, D50
Infrastructure / IaC / CI/CD4.0D5, D10–1
API Gateway (YARP)2.0D10–1
Shared Kernel & Contracts1.5D10
Travel Booking Service6.0D2, D11
Event Management Service5.0D3, D21–2
Workforce Service4.0D42
Communications Service3.5D4, D32
Reporting Service3.5D5, D32–3
Payment ACL2.0D1, D21
React Frontend5.0D5, D41–3
Testing & QA2.5All1–3
Performance & Hardening2.0D1, D23
Documentation & Handoff1.0All3
Total45.0

Dev Assignments by Month

Team: D1 (Tech Lead), D2 (Senior Backend), D3 (Backend), D4 (Fullstack), D5 (Frontend/DevOps)

MonthPhaseD1 – Tech LeadD2 – Sr BackendD3 – BackendD4 – FullstackD5 – FE/DevOps
M1Phase 0AI + Gateway scaffoldLegacy Travel analysisLegacy Event analysisReact design system POCCI/CD + IaC (Bicep)
M2Phase 1YARP routing + ACLTravel API (CRUD)Event API scaffoldWorkforce modelingIaC environments + CDC
M3Phase 1Travel cutover (5%→100%)Travel tests + bug fixesEvent business logicReact Travel + Event UIMonitoring dashboard
M4Phase 1→2Event cutover (5%→100%)Event tests + ACL hardenEvent integration testsWorkforce API implReact Event UI polish
M5Phase 2Architecture reviewComms event triggersComms API (email/SMS)Workforce logic + testsReact Workforce + Reporting
M6Phase 2Workforce cutoverReporting query APIsComms CDC + cutover prepReact Comms + ReportingReporting data aggregation
M7Phase 2→3Comms + Reporting cutoverCross-service integrationReporting scheduled jobsReact cross-moduleProduction monitoring
M8Phase 3Performance optimizationLoad testing (40K users)Bug fixes + edge casesReact performance + a11yAlerting + DR testing
M9Phase 3Architecture docsAPI docs (OpenAPI)Runbooks + playbooksDesign system docsCI/CD optimization

Phase Details

Phase 0

AI Foundation

Month 1
2.0 Effective MM
×1.0 AI

Invest the first month in AI toolchain setup, infrastructure scaffolding, and a pilot migration to validate the approach before touching core domains.

AI toolchain deployed (Cursor Pro, Claude Code, CodeRabbit)CI/CD pipeline (GitHub Actions)Infrastructure as Code (Bicep templates)YARP API Gateway configured with Strangler Fig routingCommunications service pilot migration (staging)+2 more
4 milestones
Phase 1

Core Services

Month 2–4
18.0 Effective MM
×2.0 AI

Extract the two highest-value core domains — Travel Booking and Event Management — while establishing the Payment ACL bridge to the frozen legacy module.

Travel Booking service extracted and live (Month 3)Event Management service extracted and live (Month 4)Payment ACL bridge operationalPer-service Azure SQL databases (Travel, Event)CDC data sync from legacy DB+1 more
Services: Travel Booking, Event Management, Payment (Legacy)
3 milestones
Phase 2

Scale Out

Month 5–7
19.0 Effective MM
×2.0 AI

Extract the remaining three services — Workforce, Communications (production), and Reporting (CQRS) — completing the full microservices decomposition.

Workforce + Allocation service live (Month 6)Communications service promoted to production (Month 7)Reporting CQRS service live (Month 7)React 18 dashboards for Workforce and ReportingEvent schema governance enforced+1 more
Services: Workforce + Allocation, Communications, Reporting (CQRS)
3 milestones
Phase 3

Hardening

Month 8–9
6.5 Effective MM
×1.0 AI

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.

Load testing simulating 40,000 concurrent usersSecurity audit and penetration testingDisaster recovery validation (failover + restore)Operational documentation and runbooksPayment modernization plan for post-9-months+1 more
3 milestones

Milestones & Go/No-Go Gates

Risk-based milestone tracking — track by risks eliminated, not features delivered.

M0AI Foundation ReadyWeek 4 (Month 1)
"Can we AI-migrate a service?"
Criteria: CI/CD green, Docker local works, AI tools deployed, Communications service on staging
Owner: Tech LeadRisk eliminated: AI approach proven or disproven
M1Travel Booking LiveWeek 8 (Month 3)
"Can we run dual traffic?"
Criteria: 100% traffic via new service, error rate < 0.5%, latency < 200ms p95
Owner: Tech Lead + StakeholderRisk eliminated: Strangler Fig pattern validated
M2Event Management LiveWeek 14 (Month 4)
"Can services talk to each other?"
Criteria: Travel → Payment ACL working, Event Bus messages flowing, calendar integration
Owner: Tech Lead + StakeholderRisk eliminated: Inter-service communication proven
M3Workforce LiveWeek 20 (Month 6)
"Can we handle the data?"
Criteria: CDC from legacy → Reporting working, per-service DBs for Travel + Event + Workforce
Owner: Tech Lead + StakeholderRisk eliminated: Data migration proven
M4Comms + Reporting LiveWeek 28 (Month 7)
"Can we scale?"
Criteria: 5 services running, auto-scaling, load test passing (40K users)
Owner: Tech Lead + StakeholderRisk eliminated: Production readiness
M5Production HardenedWeek 36 (Month 9)
"Can we operate?"
Criteria: Monitoring + alerting + runbooks in place, DR tested, Payment migration plan ready
Owner: Tech Lead + ManagementRisk eliminated: Operational readiness

Go/No-Go Checklist (per service cutover)

All contract tests passing (Pact verified)
Integration tests green
CDC data integrity verified (new DB vs legacy = match)
Error rate < 0.5% on canary (5% traffic, 48h soak)
Latency p95 < 200ms (or within 10% of legacy)
Rollback tested and documented
Monitoring + alerting configured
Stakeholder sign-off

Risk Buffer & Scope Lever

Risk Buffers

Travel more complex than expected
Buffer: 2 weeks Phase 1 buffer | D1 pair-programs with D2
AI tools don't reach 2x
Buffer: Reduce scope: defer Reporting | Measure velocity monthly
Team member out for 1 month
Buffer: Cross-training (secondary domain) | D2↔D3 swap, D4↔D5 swap
Legacy codebase undocumented
Buffer: Phase 0 analysis + AI ingestion | 1M context window for legacy scan
Azure Service Bus learning curve
Buffer: 1 week buffer per phase | POC in Phase 0

Scope Lever (if behind schedule)

MUST HAVE
Travel + Event Mgmt, Travel + Event UI, CI/CD + Docker + ACR, Contract tests, ADRs + Runbooks
SHOULD HAVE
Workforce + Comms, Workforce UI, Full IaC (Bicep), Load testing, Full API docs
NICE TO HAVE
Reporting (CQRS), Dashboard (Reporting), DR automation, Security pen test, Training materials
Rule: If by month 4 there are not 2 services live → reduce Phase 2 scope to 1 service (Workforce only), defer Comms + Reporting.