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 Documentation — Docs/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-F03–F07 (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
- EPIC-SAAS-DOCS and EPIC-SAAS-SVC-SURFACE (foundation: narrative + contract rules).
- EPIC-SAAS-TPL-GEN (optional) → EPIC-SAAS-TPL-CTX (core contexts, then monetization contexts).
- EPIC-SAAS-SHELL + EPIC-SAAS-MFE in parallel with backend waves where possible.
- EPIC-SAAS-EXT after Phase 1 templates stabilize.
- 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
- Agree the tag name (e.g.
SaaS-Platform) and optional Area path node for the team.
- Review the canonical backlog:
backlog-plan.md and blazor-microfrontend-backlog-plan.md; use ConnectSoft Documentation — Docs/starters/saas-extensions-and-templates-epics.md as the ID index (same SAAS-* families).
- 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).
Recommended configuration (first import)
| 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)
- Create parent items for each Epic (
EPIC-SAAS-DOCS … EPIC-SAAS-REF).
- 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.
- Under each feature, create Tasks with acceptance criteria in the description.
- 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.