# Design a software architecture and weigh trade-offs

Architecture options, trade-offs, and a recommended design for a system.

- Topic: Software Development
- Framework: RCTFVV
- Level: Advanced
- Tags: Plan, Fill-in Template
- Source: https://www.thinkwithprompt.com/prompts/design-a-software-architecture-and-weigh-trade-offs

## Prompt

```text
Role: Act as a solutions architect designing a system for a stated set of requirements.

Context: Problem and business goal: [PROBLEM_GOAL]. Functional requirements: [FUNCTIONAL]. Non-functional requirements (scale, latency, availability, cost, security, compliance): [NFRS]. Constraints (existing systems, team skills, timeline, budget, platform): [CONSTRAINTS]. Data characteristics: [DATA]. Assumptions and unknowns: [ASSUMPTIONS].

Goal: Give the team a clear recommended architecture and the reasoning, so the design decision is made deliberately against the requirements, not by default.

Task: Produce: (1) a context summary and the driving requirements; (2) 2-3 candidate approaches, each described at component level with how it meets the NFRs; (3) a trade-off analysis across the NFRs and constraints (a comparison table plus narrative on the key tensions - e.g. consistency vs availability, build vs buy); (4) a recommendation with the reasoning and what would change it; (5) key risks, spikes to de-risk them, and a rough phased delivery; (6) a text outline of the architecture diagram (components, responsibilities, data flows).

Constraints: Every option must be evaluated against the stated NFRs and constraints - no option dismissed on preference. Call out assumptions that materially affect the choice. Do not recommend a specific vendor product without noting the lock-in and alternatives. Keep it to ~1000 words plus tables.

Examples: Trade-off row: 'Approach | p99 latency | Availability | Ops burden | Cost | Time to first release | Main risk.' Tension note: 'Approach B gives strong consistency but caps write throughput at ~[X]; acceptable only if [assumption] holds.'

Format: Sections: Context & drivers | Options | Trade-off analysis (table + narrative) | Recommendation | Risks & spikes & phasing | Diagram outline.

Verification: List every assumption the recommendation depends on and mark which are unvalidated; flag any NFR that no option clearly satisfies.

Validation: Stress-test the recommendation at 10x the stated scale and against the tightest constraint: does it still hold? State where it breaks and the next design move.
```

## What to fill in

- PROBLEM_GOAL
- FUNCTIONAL
- NFRS
- CONSTRAINTS
- DATA
- ASSUMPTIONS
- assumption

Free to copy and use. From ThinkWithPrompt (https://www.thinkwithprompt.com/), a library of 2,663 curated AI prompts.
