Skip to content

SaaS Solution Platform — Epics and program backlog

Purpose

This page is the portfolio-facing index of all program epics for the SaaS Solution Platform (EPIC-SAAS-*), plus how to import work items into Azure DevOps Boards when approved. Product, architecture, and leadership stakeholders use this Company documentation page for the epic list, order, scope, and ADO process.

Where the engineering detail lives (canonical):

Layer Path in ConnectSoft.CompanyDocumentation Role
Backend / platform Features, Tasks, AC backlog-plan.md EPIC-SAAS-DOCS through EPIC-SAAS-REF — full breakdown
Blazor shell + MFE Features, Tasks, AC blazor-microfrontend-backlog-plan.md EPIC-SAAS-SHELL and EPIC-SAAS-MFE
ID index and short summary (factory) ConnectSoft DocumentationDocs/starters/saas-extensions-and-templates-epics.md SAAS-* IDs; avoid duplicating long-form text there

Supporting narrative (framework):

Topic ConnectSoft.Documentation path
Solution design Docs/starters/saas-platform-solution-plan.md
Bounded contexts and template repos Docs/starters/saas-bounded-contexts-and-templates.md
ConnectSoft.Extensions.Saas.* libraries Docs/starters/saas-extensions-saas-libraries.md

Program epics (full list)

Epic ID Title Outcome (summary)
EPIC-SAAS-DOCS Documentation and cross-links Three doc sites + nav; explicit out-of-scope for Audit/Notifications/Config as this program
EPIC-SAAS-SVC-SURFACE ServiceModel packaging and consumer standard Every backend template publishes ServiceModel (RestApi/Grpc as defined); consumers never reference Application/Domain
EPIC-SAAS-TPL-GEN Optional ConnectSoft.Saas.MicroserviceTemplate Generic SaaS-flavored scaffold + ConnectSoft.BaseTemplate submodule
EPIC-SAAS-TPL-CTX Per-context ConnectSoft.Saas.*Template repositories Tenants, ProductsCatalog, Entitlements, Billing, Metering template repos
EPIC-SAAS-SHELL ConnectSoft.Blazor.Shell.Saas Portal host: navigation, MFE registry, tenant/edition, OIDC/BFF
EPIC-SAAS-MFE Blazor MFE templates (SaaS contexts) Admin/self-service MFEs per context; ServiceModel clients only
EPIC-SAAS-EXT ConnectSoft.Extensions.Saas.* libraries One repo per package; publish NuGet; migrate templates from stubs
EPIC-SAAS-REF Reference implementation (ProductCatalogDemo) Align demo with ProductsCatalog template and published packages

Epic detail

Each subsection summarizes purpose, in/out of scope, dependencies, and definition of done, with anchors into the detailed backlog pages.

EPIC-SAAS-DOCS

Purpose Keep ConnectSoft.Documentation, ConnectSoft.CompanyDocumentation, and ConnectSoft.AI.SoftwareFactory.Documentation aligned on the SaaS template program: published solution plan, implementation mapping, factory workflow references, and mkdocs navigation.
In scope Cross-links, nav entries, explicit out-of-scope callouts (Audit, Notifications, Configuration platforms as separate programs).
Out of scope Implementing product features inside bounded-context templates; Azure resource provisioning.
Key dependencies None blocking; enables all other epics by clarifying narrative and entry points.
Definition of done Stakeholders can find the SaaS program from all three doc sites; solution plan and Company mapping pages published; Software Factory docs reference SaaS template selection where applicable; mkdocs build passes for sites touched.
Detailed backlog Backlog plan — EPIC-SAAS-DOCS

EPIC-SAAS-SVC-SURFACE

Purpose Establish a single consumer contract: published ServiceModel NuGet packages per bounded context, with documented layout, versioning, CI pack/publish, and optional gRPC policy—so gateways, shell, MFEs, and peers never depend on Application/Domain.
In scope Package identity, SemVer rules, consumer matrix, pipeline expectations, optional gRPC surface.
Out of scope Domain model design inside each context; Blazor UI (see shell/MFE epics).
Key dependencies EPIC-SAAS-DOCS for cross-links; Identity Backend / ProductCatalogDemo as pattern references.
Definition of done Documented standard adopted; CI outline agreed; any optional gRPC feature has AC and tasks completed or explicitly deferred with rationale.
Detailed backlog Backlog plan — EPIC-SAAS-SVC-SURFACE · Blazor consumes ServiceModel via EPIC-SAAS-MFE

EPIC-SAAS-TPL-GEN

Purpose Provide an optional generic ConnectSoft.Saas.MicroserviceTemplate that submodules ConnectSoft.BaseTemplate and supports dotnet new with documented parameters.
In scope Template pack skeleton, symbols/defaults, golden sample, README.
Out of scope Replacing per-context templates; full CI implementation until repos exist.
Key dependencies EPIC-SAAS-SVC-SURFACE for ServiceModel expectations; ConnectSoft.BaseTemplate availability.
Definition of done dotnet new install / dotnet new produces a buildable solution; parameters documented; aligns with factory naming.
Detailed backlog Backlog plan — EPIC-SAAS-TPL-GEN

EPIC-SAAS-TPL-CTX

Purpose Deliver one template repository per bounded context (Tenants, ProductsCatalog, Entitlements, Billing, Metering): DDD layout, ServiceModel projects, submodule to ConnectSoft.BaseTemplate, dotnet new, sample CI, integration test hooks.
In scope Per-repo features SAAS-CTX-F03F07 (and shared F01/F02 waves) as defined in the backlog plan.
Out of scope Shell and MFE implementation (cross-reference only).
Key dependencies EPIC-SAAS-SVC-SURFACE; EPIC-SAAS-TPL-GEN optional baseline; bounded-context matrix from Documentation.
Definition of done Each context template meets its feature AC; stubs for Extensions.Saas acceptable in early phases per backlog.
Detailed backlog Backlog plan — EPIC-SAAS-TPL-CTX

EPIC-SAAS-SHELL

Purpose ConnectSoft.Blazor.Shell.Saas: single Blazor Web App host with MFE registry/loading, OIDC/BFF alignment, tenant/edition UX, observability, and sample deployment patterns.
In scope Shell-only concerns; integration contracts with Authorization Server and API Gateway.
Out of scope Business logic belonging to bounded-context services; per-context MFE template content (see EPIC-SAAS-MFE).
Key dependencies EPIC-SAAS-SVC-SURFACE for ServiceModel clients; Blazor Templates HLD.
Definition of done Waves in the Blazor backlog (registry through observability/sample deployment) meet AC; shell documented vs generic Blazor shell.
Detailed backlog Blazor microfrontend backlog — EPIC-SAAS-SHELL

EPIC-SAAS-MFE

Purpose Per–bounded-context Blazor MFE templates (admin/self-service as needed): routing, ServiceModel client registration, authorization, shell integration, tests (bUnit/Playwright).
In scope Minimum five context groups (catalog, tenants, entitlements, billing, metering) as feature blocks in the Blazor backlog.
Out of scope Backend ServiceModel package internals; shell host implementation.
Key dependencies EPIC-SAAS-SHELL; EPIC-SAAS-SVC-SURFACE; Identity/Authorization Server MFE patterns.
Definition of done Each context MFE feature group meets AC; only ServiceModel packages referenced from API consumers; no domain leakage.
Detailed backlog Blazor microfrontend backlog — EPIC-SAAS-MFE

EPIC-SAAS-EXT

Purpose ConnectSoft.Extensions.Saas.*: one Git repo per package (Abstractions, AspNetCore, Options, Testing, …), NuGet publish, migration from inlined stubs in templates and shell.
In scope Package boundaries, APIs per saas-extensions-saas-libraries, migration checklist across templates.
Out of scope Product-specific business rules inside extension libraries.
Key dependencies EPIC-SAAS-TPL-CTX stabilization for consumption patterns; ProductCatalogDemo for extraction candidates.
Definition of done Published packages on agreed feeds; templates reference NuGet where planned; migration tasks tracked to completion or documented deferrals.
Detailed backlog Backlog plan — EPIC-SAAS-EXT

EPIC-SAAS-REF

Purpose Align ConnectSoft.Saas.ProductCatalogDemo with the ProductsCatalog template and published ConnectSoft.Extensions.Saas.* — proof that the factory story works end-to-end.
In scope Gap analysis, build against feeds, README alignment with template generator.
Out of scope New product features beyond demonstration needs.
Key dependencies EPIC-SAAS-EXT and ProductsCatalog template maturity; items may stay Not ready until dependencies land.
Definition of done Demo builds from published packages; documented diff vs template output closed or tracked.
Detailed backlog Backlog plan — EPIC-SAAS-REF

Suggested delivery order

  1. EPIC-SAAS-DOCS and EPIC-SAAS-SVC-SURFACE (foundation: narrative + contract rules).
  2. EPIC-SAAS-TPL-GEN (optional) → EPIC-SAAS-TPL-CTX (core contexts, then monetization contexts).
  3. EPIC-SAAS-SHELL + EPIC-SAAS-MFE in parallel with backend waves where possible.
  4. EPIC-SAAS-EXT after Phase 1 templates stabilize.
  5. EPIC-SAAS-REF last.

Azure DevOps mapping (planning)

Epic ID Suggested work item type Tag
EPIC-SAAS-* Epic or Feature (per process) SaaS-Platform

Azure DevOps Boards import (when approved)

This section replaces the former ConnectSoft.Documentation page Docs/azure-devops/saas-platform-backlog-azure-devops.md. Do not create work items until stakeholders explicitly approve Board import.

What to prepare before any Azure writes

  1. Agree the tag name (e.g. SaaS-Platform) and optional Area path node for the team.
  2. Review the canonical backlog: backlog-plan.md and blazor-microfrontend-backlog-plan.md; use ConnectSoft DocumentationDocs/starters/saas-extensions-and-templates-epics.md as the ID index (same SAAS-* families).
  3. Optionally draft a CSV with columns: Title, Work Item Type, Description, Tags, Area Path—keep local until import.

Prerequisites (at import time)

  • Project in Azure DevOps (e.g. ConnectSoft).
  • Permissions to create work items, Area Paths, and tags (Project Administrator or equivalent).
  • Process template supporting Epic, Feature, and User Story / Task (names vary by process).
Item Value
Tag SaaS-Platform (every work item in this program)
Area path Dedicated node, e.g. ConnectSoft\SaaS Platform or ConnectSoft\Factory\SaaS Templates
Iteration New epics in Backlog until a release train is chosen

Import order (when creating work items)

  1. Create parent items for each Epic (EPIC-SAAS-DOCSEPIC-SAAS-REF).
  2. Under each epic, create Features (SAAS-SVC-F01, …) from Company backlog-plan.md and blazor-microfrontend-backlog-plan.md, aligned with IDs in Documentation saas-extensions-and-templates-epics.md.
  3. Under each feature, create Tasks with acceptance criteria in the description.
  4. Set repo-creation and pipeline items to Not ready / Blocked until design sign-off, if your process supports it.

Linking work items to docs

  • In each Epic or Feature Description, link to this Company page for the epic summary and to the anchor on the relevant backlog page (e.g. backlog-plan.md#epic-saas-svc-surface).
  • Link to ConnectSoft Documentation for solution plan and bounded-context matrix as needed.

Optional: CSV / Excel import

Use Boards → Work items → Import (if enabled) with the columns above; map epic IDs to titles.

Optional: REST API

Use Work Items - Create REST API; include tag SaaS-Platform for consistent queries.

Queries (after items exist)

Save a shared query “SaaS Platform — all”: Tags Contains SaaS-Platform; order by stack rank or priority.