Product Roadmap¶
Telco CRM Platform¶
| Field | Value |
|---|---|
| Document | Product Roadmap |
| Version | 1.0 |
| Status | Draft for review |
| Owner | product-owner agent (with tech-lead approval) |
| Parent | BRD.md |
| Execution detail | docs/tasks/ and docs/tasks/STATUS.md |
| Last updated | 2026-07-11 |
This roadmap is the product-level view of delivery. The execution-level breakdown (epics,
sprints, tasks, live status) lives in docs/tasks/, rolled up in
docs/tasks/STATUS.md. Only the product-owner and tech-lead agents may
modify roadmap documents.
1. Delivery Strategy¶
The platform is delivered in phases. Phase 0 builds the internal platform foundation that all services depend on (the custom CQRS/Mediator framework, starters, event system, and service template). Feature phases then deliver vertical slices of business capability, each ending in a demonstrable end-to-end scenario.
Sequencing rationale: services are ordered so that each phase unlocks the next saga step. Identity and the master-data services (customer, catalog) come first; ordering, subscription, and payment enable the onboarding saga; usage and billing enable the revenue cycle; notification and ticketing complete engagement and support.
2. Phase Overview¶
| Phase | Theme | Primary services | Exit criterion |
|---|---|---|---|
| P0 | Platform foundation | platform-core, starters, event system, service template | Service template generates a compliant service; outbox/inbox proven |
| P1 | Identity and master data | identity, customer, product-catalog, api-gateway, discovery, config | Authenticated customer registration and catalog browsing work |
| P2 | Onboarding saga | order, subscription, payment | AC-01 New Subscriber Onboarding passes end to end |
| P3 | Revenue cycle | usage, billing | AC-02 Billing and AC-03 Quota Exhaustion pass end to end |
| P4 | Engagement and support | notification, ticket | Notifications dispatched on domain events; ticketing with SLA works |
| P5 | Hardening and release | all (cross-cutting) | NFR targets met; observability, security, K8s deployment validated |
| P6 | Post-MVP depth | web-bff/frontend, starter-lock, Vault, Linkerd, Chaos Mesh, campaign-service, dispute-service, fraud-service |
Sprints 16-23 documented (README + Proposed ADR each, per-sprint exit criteria); each sprint's own exit criteria met once scheduled and built |
Phase-numbering note. This roadmap's phases are P0-P5 (MVP, complete) and now P6 (documented, not yet built - see Section 3).
docs/product/TELCO-CRM-ADVANCED.mdSection 10 independently defines its own forward-looking phases P6-P11 for large, not-yet-scheduled enterprise themes (its P6 = "Channels and corporate", P7 = "Real-time charging", P8 = "Zero-trust and compliance", P9 = "Scale and resilience", P10 = "Data and intelligence", P11 = "Growth"). These are two distinct phase sequences that happen to share the label "P6" for different content - this roadmap's P6 is an execution-scoped increment (Sprints 16-23, already indocs/tasks/) that draws narrow, buildable slices from several of ADVANCED's P6/P8/P9/P10/P11 themes without being equivalent to any one of them (see the per-sprint cross-references in Section 3 below). When the remainder of ADVANCED's P6-P11 scope eventually enters delivery, it continues in this roadmap as P7, P8, ... - this roadmap never reuses ADVANCED's P6-P11 labels for different content, per ADVANCED.md's own no-silent-override governance rule (its header, "Nothing here overrides an existing ADR without a superseding note").
3. Phase Detail¶
P0 - Platform Foundation¶
Goal: build the internal platform so services are generated consistently.
- Custom CQRS and Mediator engine (ADR-008)
- Pipeline behaviors: validation, security, logging, transaction, performance
- Transactional outbox and inbox (ADR-005, ADR-009)
- Spring Boot starters: mediator, security, outbox, observability (ADR-018)
- Platform BOM and platform-core module structure (ADR-020)
- Event versioning and schema governance (ADR-019)
- Service template standard (ADR-017)
Aligns with execution epics EPIC-001 through EPIC-004.
P1 - Identity and Master Data¶
Goal: authenticated access plus the master data needed to order.
- Keycloak realm (token issuance) + identity-service: user/roles/permissions management (FR-IAM-01..05)
- api-gateway: JWT validation, header propagation, rate limiting
- customer-service: registration, KYC, address/document management (FR-01..04)
- product-catalog-service: tariff/addon/VAS catalog with versioning (FR-05..08)
- discovery-server and config-server (dev mode per ADR-010)
Exit: a customer can register, complete KYC, and browse tariffs through the gateway.
P2 - Onboarding Saga¶
Goal: end-to-end new-line activation.
- order-service: order intake and saga orchestration (FR-09..12)
- payment-service: mock PSP, idempotency, retry (FR-25..27)
- subscription-service: activation, MSISDN allocation, lifecycle (FR-13..15)
- Compensation flows and saga state persistence
Exit: AC-01 passes end to end including compensation on failure.
P3 - Revenue Cycle¶
Goal: usage-driven billing.
- usage-service: CDR ingestion, quota tracking, threshold events, overage aggregation (FR-17..20)
- billing-service: monthly bill-run, invoice generation, PDF rendering (FR-21..24)
- CDR simulator for test data
Exit: AC-02 and AC-03 pass end to end.
P4 - Engagement and Support¶
Goal: customer communication and support.
- notification-service: SMS/email/push, templates, preferences (FR-28..30)
- ticket-service: ticketing, SLA-based assignment, notifications (FR-31..33)
Exit: domain events trigger notifications; tickets are created and assigned by SLA.
P5 - Hardening and Release¶
Goal: meet non-functional targets and prepare for production.
- Performance validation (NFR-01, NFR-02) including bill-run at scale
- Full observability rollout (NFR-07..09)
- Security hardening: mTLS, PII encryption, audit logging (NFR-05, NFR-06, NFR-12)
- Kubernetes deployment, HPA, rollback validation (ADR-014)
- Resilience validation: circuit breaker, retry, bulkhead (NFR-10)
Exit: all MVP acceptance criteria pass and NFR targets are demonstrably met.
P6 - Post-MVP Depth¶
Goal: extend the platform with hardening capabilities the MVP deliberately deferred, and a small set
of new domain services, as scoped, documented, design-reviewed sprints. As of 2026-07-11, all of
Phase P6 is documentation and design only - no code has been written, no ADR has been ratified, and no
sprint has started build. See the phase-numbering note in Section 2: this P6 is a roadmap-local
execution increment, distinct from docs/product/TELCO-CRM-ADVANCED.md's own P6-P11 forward-looking
phases, even though both use the same "P6" label for different content.
- Sprint 16 - Web Frontend + Web BFF: SvelteKit UI and a
web-bffcomposing domain APIs, Keycloak Authorization Code + PKCE login (ADR-022, Accepted). Narrow slice of ADVANCED Section 10 P6 ("Channels and corporate") - web channel only, no corporate/fleet accounts or e-Fatura. - Sprint 17 - Distributed Locking: a new
starter-lockplatform module (Redisson-backed) adopted by subscription-service's MSISDN reaper and billing-service's bill-run coordination (ADR-024 Proposed). Not mapped to a specific ADVANCED phase - a platform-capability gap closure (docs/architecture/platform-capabilities.mdSection 3). - Sprint 18 - Secret Management: HashiCorp Vault (Kubernetes auth method + Secrets Store CSI driver) replacing the Sprint 15 committed-default K8s Secrets (ADR-025 Proposed). Partial slice of ADVANCED Section 4.3 (Cryptography and Secrets) / Section 10 P8 ("Zero-trust and compliance") - envelope encryption and key-id rotation stay out of scope.
- Sprint 19 - Service Mesh and mTLS: Linkerd sidecar mesh + default-deny NetworkPolicies, closing the
mTLS deferral in
docs/architecture/security-posture.mdSection 8 (ADR-026 Proposed). Delivers the mesh/mTLS half of ADVANCED Section 4.1 / Section 10 P8 ("Zero-trust and compliance"); OPA policy-as-code remains future work. Sequenced after Sprint 18 for operational reasons only, not a hard technical dependency. - Sprint 20 - Chaos Engineering: Chaos Mesh fault injection (pod-kill, latency, network-partition) and a game-day runbook on the existing Kind/Helm cluster. Extends ADR-012/ADR-013 directly (tech-lead ruling: no new ADR). Narrower, single-cluster slice of ADVANCED Section 3.4 / Section 10 P9 ("Scale and resilience") - multi-region cells, cross-region DR drills, and RPO/RTO targets stay out of scope.
- Sprint 21 - Campaign / Catalog Validation: a new
campaign-service(port 9011 proposed) validated synchronously by order-service at order time, for dynamic pricing and redemption-limit enforcement (ADR-027 Proposed). Buildable subset of the campaign/promotion engine in ADVANCED Section 2.4 / Section 10 P11 ("Growth") - no segment/data-platform dependency. - Sprint 22 - Invoice Dispute / Chargeback: a new
dispute-service(port 9012 proposed, Domain Orchestration) coordinating billing-service and payment-service for dispute/chargeback resolution (ADR-028 Proposed). Genuinely new scope - not previously listed in this roadmap or in ADVANCED.md. - Sprint 23 - SIM-Swap / Fraud Detection: a new
fraud-service(port 9013 proposed) doing rule-based velocity checks off existing Kafka events (ADR-029 Proposed). Deliberately narrowed, rule-based subset of the streaming/ML fraud-service in ADVANCED Section 4.4 / Section 10 P10 ("Data and intelligence").
Exit: each sprint's own exit criteria (its README under docs/tasks/sprint-1{6-9}*/ and
docs/tasks/sprint-2{0-3}*/) are met, and each Proposed ADR (024-029) is ratified Accepted by
tech-lead before that sprint's build work starts. Phase P6 as a whole has no single exit criterion -
its eight sprints are independently schedulable except where a README states an explicit sequencing
note (Sprint 19 after Sprint 18).
4. Milestones¶
| Milestone | Description | Depends on |
|---|---|---|
| M0 | Platform foundation ready; first service scaffolded from template | P0 |
| M1 | Authenticated onboarding base (register, KYC, catalog) | P1 |
| M2 | New subscriber onboarding saga live (AC-01) | P2 |
| M3 | Revenue cycle live (AC-02, AC-03) | P3 |
| M4 | Engagement and support live | P4 |
| M5 | MVP release candidate; NFR targets met | P5 |
| M6 | Post-MVP depth documented (Sprints 16-23 scoped, ADRs 022/024-029 authored); nothing built yet | P6 |
5. Post-MVP Candidates¶
5.1 Scheduled (Phase P6, Sprints 16-23)¶
These capabilities have moved from "tracked candidate" to a documented sprint with a Features breakdown and (except Sprint 20) a Proposed ADR - see Section 3 "P6 - Post-MVP Depth" for the full per-sprint detail and ADVANCED.md cross-references. All eight are TODO - documentation/design only, nothing built:
| Capability | Sprint | ADR |
|---|---|---|
| Web frontend + Web BFF | Sprint 16 | ADR-022 (Accepted) |
Distributed locking (starter-lock) |
Sprint 17 | ADR-024 (Proposed) |
| Secret management (Vault) | Sprint 18 | ADR-025 (Proposed) |
| Service mesh / mTLS (Linkerd) | Sprint 19 | ADR-026 (Proposed) |
| Chaos engineering (Chaos Mesh) | Sprint 20 | extends ADR-012/ADR-013 |
| Campaign / promotion engine (buildable subset) | Sprint 21 | ADR-027 (Proposed) |
| Invoice dispute / chargeback | Sprint 22 | ADR-028 (Proposed) |
| SIM-swap / fraud detection (rule-based MVP subset) | Sprint 23 | ADR-029 (Proposed) |
5.2 Unscheduled Candidates¶
Tracked but with no sprint or ADR yet (see BRD Section 7.2):
- Prepaid top-up and real-time charging
- Number portability (MNP) state machine (FR-16)
- Corporate customer and fleet management
- BTK regulatory reporting
- Roaming usage tracking
- Production mobile application
- Analytics service (event-sourced projections)
6. Dependencies Across Phases¶
P0 ──► P1 ──► P2 ──► P3 ──► P4 ──► P5
│ ▲
└── payment ──┘ (saga prerequisite reused by billing auto-pay)
- P1 master data is required by P2 ordering and subscription.
- P2 subscription activation is required by P3 billing (active base) and usage (quota owner).
- P3 invoice/usage events are required by P4 notification templates.
Document end.