Skip to content

SaaS Gap Implementation Backlog (Master)

Last verified: 2026-05-27
Deep analysis: saas-gap-deep-analysis.md
Work item template: gap-backlog/_template-work-item.md


Purpose

Translate the deep gap analysis into an Azure DevOps-ready backlog (Epic → Feature → User Story → Task) with global implementation order [NNN], full self-contained descriptions, acceptance criteria, and per-repo mirrors in each ConnectSoft.Saas.*Template repository.


Epic taxonomy

flowchart TB
  INTEG["saas-EPIC-INTEG<br/>P0 cross-service"]
  DOCS["saas-EPIC-DOCS<br/>Governance"]
  TEN["saas-EPIC-TEN"]
  CAT["saas-EPIC-CAT"]
  ENT["saas-EPIC-ENT"]
  BIL["saas-EPIC-BIL"]
  MET["saas-EPIC-MET"]
  INTEG --> TEN
  INTEG --> CAT
  INTEG --> ENT
  INTEG --> BIL
  INTEG --> MET
  DOCS --> INTEG
  CAT --> ENT
  ENT --> BIL
  BIL --> MET
Hold "Alt" / "Option" to enable pan & zoom
Epic File Features Priority
saas-EPIC-INTEG epic-saas-gap-integ.md F01–F07 [001][007] P0
saas-EPIC-TEN epic-saas-gap-tenants.md F01–F08 [010][017] P1
saas-EPIC-CAT epic-saas-gap-catalog.md F01–F07 [020][026] P1
saas-EPIC-ENT epic-saas-gap-entitlements.md F01–F08 [030][037] P1
saas-EPIC-BIL epic-saas-gap-billing.md F01–F11 [040][050] P1
saas-EPIC-MET epic-saas-gap-metering.md F01–F09 [060][068] P1
saas-EPIC-DOCS epic-saas-gap-docs.md F01–F10 [070][079] P2

Implementation roadmap (global order)

Order ID Title Epic Priority
[001] saas-INTEG-F01 Cross-repo topic harmonization INTEG P0
[002] saas-INTEG-F02 Quota payload Dimension ↔ MeterKey INTEG P0
[003] saas-INTEG-F03 Integration event envelope INTEG P0
[004] saas-INTEG-F04 Redis inbox dedupe INTEG P0
[005] saas-INTEG-F05 MassTransit outbox + saga durability INTEG P0
[006] saas-INTEG-F06 Orleans write-path ADR INTEG P0
[007] saas-INTEG-F07 MessagingModel NuGet pin policy INTEG P0
[010] saas-TEN-F01 Rich tenant aggregate or flat ADR TEN P1
[011] saas-TEN-F02 External refs EditionRef, BillingAccountRef TEN P1
[012] saas-TEN-F03 Full lifecycle saga TEN P1
[013] saas-TEN-F04 JSON descriptor reconciliation TEN P1
[014] saas-TEN-F05 Event envelope + vocabulary TEN P1
[015] saas-TEN-F06 Replace placeholder arch tests TEN P1
[016] saas-TEN-F07 Processor/REST/gRPC/saga tests TEN P1
[017] saas-TEN-F08 Wire TenantLifecycleGrain TEN P1
[020] saas-CAT-F01 Wire IProductEditorGrain CAT P1
[021] saas-CAT-F02 Doc drift fixes CAT P1
[022] saas-CAT-F03 Structural APIs or defer ADR CAT P1
[023] saas-CAT-F04 EntitlementsChanged fan-out CAT P1
[024] saas-CAT-F05 NHibernate outbox CAT P2
[025] saas-CAT-F06 Additional query operations CAT P2
[026] saas-CAT-F07 Grain test coverage CAT P1
[030] saas-ENT-F01 EffectiveEntitlementDescriptor ENT P1
[031] saas-ENT-F02 Suspend + Decommission ENT P1
[032] saas-ENT-F03 Catalog retirement policy ENT P1
[033] saas-ENT-F04 Catalog integrity on assign ENT P1
[034] saas-ENT-F05 Saga + processor tests ENT P1
[035] saas-ENT-F06 Replace placeholder arch tests ENT P1
[036] saas-ENT-F07 Wire EntitlementEditorGrain ENT P1
[037] saas-ENT-F08 MessagingModel pin bump ENT P1
[040] saas-BIL-F01 Create-Draft semantic fix BIL P1
[041] saas-BIL-F02 Inbound topic corrections BIL P0
[042] saas-BIL-F03 Invoice read-model or defer BIL P2
[043] saas-BIL-F04 Payment ACL skeleton BIL P2
[044] saas-BIL-F05 Promotion/Proration/SeatPolicy BIL P2
[045] saas-BIL-F06 Suspend-on-quota event BIL P1
[046] saas-BIL-F07 rating-window to Metering BIL P1
[047] saas-BIL-F08 Public invoice/payment/sync ops BIL P1
[048] saas-BIL-F09 Arch + saga tests BIL P1
[049] saas-BIL-F10 Wire SubscriptionEditorGrain BIL P1
[050] saas-BIL-F11 SubscriptionSeatPolicy cleanup BIL P2
[060] saas-MET-F01 UsageRecord idempotency MET P1
[061] saas-MET-F02 Window VO + roll semantics MET P1
[062] saas-MET-F03 UsageReported topology MET P1
[063] saas-MET-F04 Quota contract with Billing MET P0
[064] saas-MET-F05 Wire UsageMeterGrain MET P1
[065] saas-MET-F06 Remove dead domain inputs MET P1
[066] saas-MET-F07 Quota/roll/saga tests MET P1
[067] saas-MET-F08 Entitlements quota reaction (optional) MET P2
[068] saas-MET-F09 Replace placeholder arch tests MET P1
[070] saas-DOCS-F01 Deep analysis doc DOCS P2
[071] saas-DOCS-F02 Per-repo analysis mirrors DOCS P2
[072] saas-DOCS-F03 Master + epic backlog files DOCS P2
[073] saas-DOCS-F04 Per-repo backlog mirrors DOCS P2
[074] saas-DOCS-F05 Epics index update DOCS P2
[075] saas-DOCS-F06 Program mapping update DOCS P2
[076] saas-DOCS-F07 mkdocs nav DOCS P2
[077] saas-DOCS-F08 ADR stubs DOCS P2
[078] saas-DOCS-F09 Baseline checklist traceability DOCS P2
[079] saas-DOCS-F10 Status retrofit existing backlogs DOCS P2

Demo-ready slice (minimum E2E)

  1. [001] [002] [041] [063] — topic + quota contract alignment (Tenants → Billing ← Metering)
  2. [012] [040] [060] — tenant activate → subscription → usage record
  3. [030] [032] — entitlements materialization on assign

Per-repo mirrors

Repository Analysis mirror Backlog mirror
TenantsTemplate docs/backlog/tenants-gap-analysis.md docs/backlog/tenants-gap-backlog.md
ProductsCatalogTemplate docs/backlog/products-catalog-gap-analysis.md docs/backlog/products-catalog-gap-backlog.md
EntitlementsTemplate docs/backlog/entitlements-gap-analysis.md docs/backlog/entitlements-gap-backlog.md
BillingTemplate docs/backlog/billing-gap-analysis.md docs/backlog/billing-gap-backlog.md
MeteringTemplate docs/backlog/metering-gap-analysis.md docs/backlog/metering-gap-backlog.md

Azure DevOps import

Field Value
Area path ConnectSoft\SaaS\<Context>
Iteration TBD per sprint
Work item types Epic → Feature → User Story → Task
Tags saas-platform, gap, <context>, <priority>
Title format [NNN] saas-<AREA>-F## — <Descriptive Title>
Description Copy Description (full) + Acceptance criteria from epic files
Acceptance Criteria Map AC-1, AC-2, … to ADO Acceptance Criteria field

Import order: INTEG Features first, then per-repo by roadmap table, then DOCS governance.


Rollup summary

Metric Count
Epics 7
Features 58
P0 Features 9 (INTEG + BIL-F02 + MET-F04)
Repos touched 5 templates + 2 doc repos
Strategic ADRs pending 7 (see decision log)