This prompt is for engineering leaders and architects who have a proposed or existing service decomposition and need to validate it against their actual team topology. The core job-to-be-done is detecting misalignments between software boundaries and organizational structures before they calcify into delivery friction. Use this when you have a concrete list of services or bounded contexts and a known team structure—whether that's a current org chart, a planned reorg, or a target operating model based on Team Topologies patterns (stream-aligned, enabling, complicated-subsystem, and platform teams). The prompt requires you to supply both the service map and the team map as input; it does not invent either from scratch.
Prompt
Service Boundary Team Topology Alignment Prompt

When to Use This Prompt
Define the job, the reader, and the constraints for aligning service boundaries with team structures.
The ideal user is a technical leader who already understands their system's logical boundaries and their team's responsibilities but needs a structured, unbiased assessment of where the two diverge. This is not a prompt for initial service discovery or greenfield design. It assumes you have already done the work of identifying candidate boundaries and team assignments. The output is an alignment assessment that flags orphaned services (no clear owner), overloaded teams (owning too many high-churn components), and boundary mismatches where a service's cognitive load or domain complexity demands a different team type than the one assigned. The prompt includes evaluation criteria so you can score the alignment and prioritize remediation.
Do not use this prompt when you lack a defined team structure or when the service boundaries are still speculative. It is also inappropriate for small, single-team applications where the alignment question is trivial. The prompt is designed for organizations with at least 3–5 teams and a non-trivial service topology. If your goal is to generate a team design from scratch or to propose new service boundaries, use the sibling prompts for Bounded Context Discovery or Service Boundary Candidate Identification instead. After running this prompt, expect to act on the gaps it surfaces—either by adjusting team assignments, splitting overloaded teams, or reconsidering service boundaries that create impossible ownership models.
Use Case Fit
Where this prompt works, where it fails, and what you must have in place before running it.
Good Fit: Pre-Migration Planning
Use when: you have a current-state architecture diagram, a known team structure, and a target decomposition goal. The prompt excels at identifying misalignments before you start extracting services. Guardrail: feed it the actual reporting structure and service ownership map, not aspirational org charts.
Bad Fit: Undefined Team Structures
Avoid when: teams are in flux, reorgs are pending, or ownership is ad-hoc. The prompt will produce plausible-sounding but fictional alignment assessments. Guardrail: wait until team boundaries and responsibilities are stable for at least one planning cycle before running this analysis.
Required Input: Service-to-Team Map
Risk: without a concrete mapping of which team owns which service, the prompt hallucinates ownership or defaults to generic patterns. Guardrail: provide an explicit service-team ownership matrix as part of [CONTEXT], including shared services and unowned components. Validate the output against your actual runbooks.
Required Input: Team Cognitive Load Baseline
Risk: the prompt cannot assess whether a team is already overloaded unless you provide that signal. It may recommend assigning additional services to an already-strained team. Guardrail: include team size, current service count, on-call load, and domain complexity indicators in the input context.
Operational Risk: False Alignment Confidence
Risk: the model may declare alignment where subtle Conway's Law friction exists, such as a stream-aligned team depending on a platform team with conflicting priorities. Guardrail: treat the output as a hypothesis generator, not a final verdict. Validate each alignment claim with the affected teams before acting.
Operational Risk: Ignoring Communication Paths
Risk: the prompt focuses on ownership structure but may miss cross-team communication overhead that creates hidden coupling. Guardrail: supplement the prompt output with a manual communication-path analysis. Look for teams that must coordinate on every release despite clean ownership boundaries on paper.
Copy-Ready Prompt Template
A reusable prompt template for assessing alignment between service boundaries and team topologies, ready to copy and adapt with your own inputs.
This prompt template is designed to be copied directly into your AI harness, IDE, or orchestration layer. It uses square-bracket placeholders that you must replace with your actual team structure, service inventory, and organizational context before execution. The template assumes you have already mapped your services and teams; its job is to produce a structured alignment assessment that identifies mismatches, overloaded teams, and orphaned services.
textYou are an organizational architect and Team Topologies practitioner. Your task is to assess the alignment between a set of software services and the team structure responsible for them. ## INPUTS - Team inventory with responsibilities and headcount: [TEAM_INVENTORY] - Service inventory with ownership assignments: [SERVICE_INVENTORY] - Current team topology map or description: [TOPOLOGY_MAP] - Organizational constraints (e.g., geographic distribution, compliance boundaries, budget limits): [ORG_CONSTRAINTS] ## OUTPUT SCHEMA Return a JSON object with the following structure: { "alignment_summary": "string summarizing overall alignment health", "team_classifications": [ { "team_name": "string", "current_type": "stream-aligned | enabling | complicated-subsystem | platform | undefined", "recommended_type": "stream-aligned | enabling | complicated-subsystem | platform", "owned_services": ["service_name"], "cognitive_load_score": 1-10, "overload_risk": "low | medium | high | critical", "notes": "string" } ], "boundary_mismatches": [ { "service_name": "string", "current_owner": "team_name or null", "recommended_owner": "team_name", "mismatch_type": "orphaned | overloaded | wrong-boundary | cross-team-dependency", "severity": "low | medium | high | critical", "rationale": "string" } ], "gap_analysis": [ { "gap_type": "missing-enabling-team | missing-platform-team | missing-stream-aligned-team | unclear-ownership", "affected_services_or_teams": ["name"], "recommendation": "string", "priority": "low | medium | high | critical" } ], "recommended_actions": [ { "action": "string describing the change", "rationale": "string", "effort_estimate": "small | medium | large", "risk_level": "low | medium | high", "sequencing": "now | next | later" } ] } ## CONSTRAINTS - Classify each team using Team Topologies fundamental types only. - Flag any service without a clear stream-aligned owner as a mismatch. - Identify teams with cognitive load scores above 7 as overloaded. - Recommend enabling or platform teams where multiple stream-aligned teams share the same dependency. - Do not propose reorganizations that violate the stated organizational constraints. - If ownership is ambiguous, mark it as a gap rather than guessing. ## EVALUATION CRITERIA - Every service must map to exactly one stream-aligned team or be flagged as a gap. - No team should own services across unrelated business domains without justification. - Platform and enabling teams should serve multiple stream-aligned teams, not own business services directly. - Cross-team dependencies should be explicit and minimized.
To adapt this template, replace each bracketed placeholder with structured data from your organization. The [TEAM_INVENTORY] should include team names, current responsibilities, headcount, and any existing topology classification. The [SERVICE_INVENTORY] should list every service with its current owning team, criticality, and dependencies. The [TOPOLOGY_MAP] can be a textual description or a structured representation of how teams currently interact. The [ORG_CONSTRAINTS] field is essential for preventing impractical recommendations—include regulatory boundaries, geographic distribution, budget limits, and any reorganization freezes. After populating the template, validate the output against the schema before acting on any reorganization recommendation. For high-stakes organizational changes, always review the AI-generated assessment with engineering leadership and affected teams before implementation.
Prompt Variables
Required inputs for the Service Boundary Team Topology Alignment Prompt. Each variable must be populated before execution to produce a reliable alignment assessment.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SERVICE_CATALOG] | List of services with current ownership, dependencies, and criticality tier | payment-service (Team Alpha, Tier 1), notification-service (Team Alpha, Tier 2), fraud-detection (unowned, Tier 1) | Must include service name, owning team or null, and tier label. Null ownership is a valid signal for gap detection. |
[TEAM_STRUCTURE] | Current team roster with headcount, capability profile, and cognitive load indicators | Team Alpha: 5 engineers, backend-specialist, 4 owned services, on-call rotation active | Each team entry requires headcount, skill profile, and owned service count. Missing on-call status defaults to false. |
[TEAM_TOPOLOGY_TARGETS] | Desired Team Topologies interaction modes for each team-to-service or team-to-team relationship | Team Alpha -> payment-service: stream-aligned; Team Alpha -> Team Beta: collaboration on shared-kernel | Valid modes: stream-aligned, enabling, complicated-subsystem, platform, collaboration, x-as-a-service, facilitating. Reject unrecognized modes. |
[DEPENDENCY_GRAPH] | Service-to-service call graph with direction, protocol, and coupling type | order-service -> payment-service: sync HTTP, runtime coupling; order-service -> inventory-service: async events, data coupling | Each edge requires source, target, protocol, and coupling type. Cyclic dependencies must be flagged in pre-processing. |
[COMMUNICATION_PATH_MAP] | Actual communication paths between teams derived from chat tools, meeting cadence, and PR review patterns | Team Alpha <-> Team Beta: daily standup overlap, shared Slack channel, joint PR reviews weekly | Paths must include frequency indicator and channel type. Missing paths between teams that share service dependencies is a key risk signal. |
[COGNITIVE_LOAD_THRESHOLDS] | Per-team limits for service ownership count, domain complexity score, and on-call burden | Team Alpha: max 3 Tier-1 services, max domain complexity score 12, on-call rotation minimum 4 engineers | Thresholds must be numeric or null. Null threshold means no limit enforced for that dimension. Used for overload detection. |
[ORGANIZATIONAL_CONSTRAINTS] | Immutable org boundaries, compliance zones, or regulatory separations that override topology recommendations | PCI-compliant services must remain under compliance-team ownership; EU-data services restricted to EU-resident teams | Each constraint must specify scope and enforcement rule. Constraints override topology alignment recommendations when in conflict. |
Implementation Harness Notes
How to wire the Service Boundary Team Topology Alignment Prompt into an application or workflow with validation, logging, and human review gates.
This prompt is designed to be integrated into an architecture review workflow, not used as a one-off chat. The primary integration point is a CI/CD pipeline, an internal developer portal, or a scheduled architecture audit job. The application layer is responsible for assembling the [SERVICE_CATALOG], [TEAM_STRUCTURE], and [COMMUNICATION_PATHS] inputs from live systems (e.g., service registries, team charters in a directory service, and recent PR or incident communication metadata) before calling the model. The model should never be given direct access to these systems; the application must gather, sanitize, and format the data to prevent prompt injection through team names or service descriptions.
The output is a structured JSON alignment assessment. The application must validate this output against a strict schema before accepting it. Key validation checks include: verifying that every service in the input catalog appears in the output's ownership map, ensuring no team is assigned more than a configurable cognitive load threshold (e.g., 3 stream-aligned services), and confirming that all recommended topology types are from the allowed enum (stream-aligned, enabling, complicated-subsystem, platform). If validation fails, the application should retry the prompt once with the validation errors appended to the [CONSTRAINTS] field. After two failures, the item should be flagged for human review in a queue rather than retried indefinitely.
For high-stakes reorganizations, the output should be treated as a draft recommendation, not an automated decision. The implementation should route the validated JSON to a review interface where an engineering manager or architect can approve, reject, or modify each alignment suggestion. Log the model's raw output, the validated output, and the human decision for auditability. Avoid wiring this prompt directly to team or service provisioning systems. The next step after review is to feed the approved alignment into a Service Boundary Decision Record Template Prompt to document the rationale for each ownership change.
Expected Output Contract
Defines the structure, types, and validation rules for the Service Boundary Team Topology Alignment Assessment output. Use this contract to parse, validate, and store the model response before surfacing it in dashboards or downstream workflows.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
assessment_id | string (UUID v4) | Must match regex ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ | |
generated_at | string (ISO 8601) | Must parse as valid UTC datetime; reject if future-dated by more than 5 minutes | |
team_topology_alignment | array of objects | Must contain at least 1 object; max 50 objects; each object must have team_name, topology_type, owned_services, and alignment_score fields | |
team_topology_alignment[].team_name | string | Non-empty; max 100 characters; must match [TEAM_NAME] input list if provided | |
team_topology_alignment[].topology_type | enum string | Must be one of: stream-aligned, enabling, complicated-subsystem, platform; reject unknown values | |
team_topology_alignment[].owned_services | array of strings | Each string must match a service name from [SERVICE_CATALOG] input; empty array allowed only if topology_type is enabling | |
team_topology_alignment[].alignment_score | number (0.0-1.0) | Must be between 0.0 and 1.0 inclusive; parse as float; reject if NaN or out of range | |
team_topology_alignment[].alignment_rationale | string | Non-empty; max 500 characters; must contain at least one reference to a Team Topologies interaction mode (collaboration, x-as-a-service, facilitating) | |
orphaned_services | array of strings | Each string must match a service name from [SERVICE_CATALOG] input; empty array allowed; reject if any service appears in both owned_services and orphaned_services | |
overloaded_teams | array of objects | Each object must have team_name and overload_factors fields; team_name must match [TEAM_NAME] input list | |
overloaded_teams[].team_name | string | Non-empty; must match a team_name from team_topology_alignment array | |
overloaded_teams[].overload_factors | array of strings | Non-empty; each string max 200 characters; must describe a specific overload factor (e.g., 'owns 7+ services', 'no enabling team support') | |
gap_summary | string | Non-empty; max 2000 characters; must summarize at least one gap if orphaned_services or overloaded_teams is non-empty; must state 'No gaps identified' if both are empty | |
recommendations | array of objects | Min 1 object if gaps exist; max 10 objects; each object must have action, target_team, and priority fields | |
recommendations[].action | string | Non-empty; max 300 characters; must describe a concrete topology adjustment (e.g., 'Assign service X to stream-aligned team Y', 'Introduce enabling team for Z domain') | |
recommendations[].target_team | string | Non-empty; must match a team_name from team_topology_alignment array or be 'new' for proposed new teams | |
recommendations[].priority | enum string | Must be one of: critical, high, medium, low; reject unknown values |
Common Failure Modes
What breaks first when mapping service boundaries to team topologies and how to guard against it.
Organizational Wishful Thinking
What to watch: The prompt proposes boundaries that match an aspirational org chart rather than actual team cognitive load, communication paths, and delivery history. The output looks clean on paper but ignores Conway's Law realities. Guardrail: Require the prompt to cross-reference proposed boundaries against current team commit patterns, on-call rotations, and inter-team coordination channels. Flag any boundary that assumes a team reorganization without explicit migration steps.
Stream-Aligned Team Overload
What to watch: The prompt assigns too many services or domains to a single stream-aligned team, ignoring the cognitive load ceiling. The output treats teams as infinite-capacity buckets rather than constrained units. Guardrail: Add a hard constraint in the prompt that no stream-aligned team should own more than 2-3 bounded contexts or services without explicit load justification. Include a cognitive load score per assignment and flag violations above a defined threshold.
Missing Platform Team Boundaries
What to watch: The prompt fails to identify where a platform team should absorb cross-cutting complexity, leaving every stream-aligned team to reinvent infrastructure, CI/CD, and observability. The output creates hidden duplication and divergence. Guardrail: Explicitly instruct the prompt to identify cross-cutting capabilities (deployment pipelines, monitoring, secrets management, service mesh) and propose platform team boundaries with clear internal vs. external service contracts. Validate that no stream-aligned team is left building platform-level concerns.
Complicated-Subsystem Team Scope Creep
What to watch: The prompt identifies a complicated-subsystem team but fails to define its interface boundaries, causing the team to become a bottleneck for every feature that touches the subsystem. The output lacks clear API or abstraction contracts. Guardrail: Require the prompt to produce explicit interface contracts for each complicated-subsystem team, including which capabilities are exposed, which are encapsulated, and how stream-aligned teams interact without creating dependency bottlenecks. Include throughput constraints and escalation paths.
Enabling Team Disconnected from Delivery
What to watch: The prompt proposes enabling teams without specifying which stream-aligned teams they support, what capabilities they transfer, and when their engagement ends. The output creates floating advisory teams with no accountability for adoption. Guardrail: Require the prompt to define enabling team engagements with start conditions, capability transfer milestones, success criteria (adoption metrics), and explicit disengagement triggers. Validate that every enabling team has at least one named stream-aligned team client.
Ownership Gaps at Intersection Points
What to watch: The prompt leaves services, APIs, or data stores at the intersection of team boundaries without clear ownership, creating "no-man's-land" components that no team maintains. These gaps surface only during incidents. Guardrail: Add a post-processing validation step that checks every service, data store, and API endpoint against the proposed ownership map. Flag any component without exactly one owning team. Require explicit shared ownership agreements with escalation rules for any component that genuinely requires joint ownership.
Evaluation Rubric
Criteria for evaluating the quality and correctness of the Service Boundary Team Topology Alignment output before integrating it into architecture governance workflows.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Team Type Classification Accuracy | Each team is classified into exactly one Team Topologies type (stream-aligned, enabling, complicated-subsystem, platform) with a justification grounded in the team's stated responsibilities and interaction patterns. | A team is assigned multiple conflicting types, classified as 'other' without rationale, or the justification contradicts the team's described function. | Manual review by a platform architect against the Team Topologies reference definitions. Spot-check 3 random teams per output. |
Service Ownership Completeness | Every service listed in [SERVICE_CATALOG] is mapped to exactly one owning team. No service appears in the 'unowned' list unless it genuinely lacks an owner in the provided [TEAM_STRUCTURE] input. | Services are missing from the ownership matrix, mapped to non-existent teams, or incorrectly flagged as unowned when an owner is present in the input. | Parse the output JSON. Cross-reference the service list against the input [SERVICE_CATALOG]. Validate that each service ID appears exactly once in the ownership mapping. |
Cognitive Load Assessment | Each stream-aligned team receives a cognitive load score (low/medium/high/overloaded) with specific evidence: number of services owned, domain complexity, and cross-team dependencies. | Cognitive load scores are assigned without evidence, all teams receive the same score, or an overloaded team has no corresponding recommendation for splitting or enabling support. | Schema validation: check that the |
Interaction Mode Identification | Each team-to-team relationship is classified with the correct Team Topologies interaction mode (collaboration, X-as-a-Service, facilitating) based on the described workflow and dependency direction. | Interaction modes are missing, inverted (e.g., platform team described as collaborating with every stream-aligned team), or conflict with the team type classification. | Parse the interaction graph. Validate that platform teams use X-as-a-Service mode for their consumers. Check that enabling teams use facilitating mode. Flag any stream-aligned-to-stream-aligned relationships missing a collaboration or X-as-a-Service designation. |
Gap Detection Sensitivity | The output identifies specific gaps: services without clear ownership, teams with no aligned services, missing platform or enabling capabilities, and overloaded teams. | The output reports zero gaps when the input [TEAM_STRUCTURE] and [SERVICE_CATALOG] contain obvious mismatches (e.g., 20 services and 2 teams). Gaps are described vaguely without actionable specifics. | Inject a test input with a known gap (a service with no owning team). Verify the output flags it. Check that each gap includes a severity and a recommended action. |
Recommendation Actionability | Each recommendation includes a concrete next step, the team(s) involved, and a suggested sequencing priority (now/next/later). | Recommendations are generic advice ('improve communication') without specific owners, steps, or priority. Recommendations contradict the identified team types. | Extract all recommendations. Validate that each has a non-empty |
Output Schema Conformance | The output strictly matches the [OUTPUT_SCHEMA] structure. All required fields are present. No additional top-level keys are introduced. | The output is missing required fields, contains malformed JSON, or includes hallucinated fields not defined in the schema. | Automated JSON Schema validation against [OUTPUT_SCHEMA]. Run as a CI check. Fail the output if validation errors are present. |
Evidence Grounding | Every claim about team responsibilities, service dependencies, or interaction patterns is traceable to the provided [TEAM_STRUCTURE] or [SERVICE_CATALOG] input. No invented teams, services, or relationships. | The output references a team, service, or dependency not present in the input data. A recommendation is based on an assumed constraint not stated in [CONSTRAINTS]. | Parse all team and service identifiers from the output. Diff against the input identifiers. Flag any additions. For a sample of 5 claims, trace the justification back to the source input. |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a single team's service inventory and known topology. Remove strict output schema requirements—accept a narrative alignment assessment with bulleted gaps. Replace [SERVICE_INVENTORY] with a simple list of 5–10 services and [TEAM_TOPOLOGY] with a short description of 2–3 teams.
Watch for
- Overly broad alignment claims without specific service-to-team mappings
- Missing gap detection when teams are overloaded but the prompt doesn't flag it
- No distinction between stream-aligned and platform team responsibilities

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us