Phase 5: Architect
Design the technical solution.
Purpose
Translate requirements into technical design:
- How will the system be structured?
- What technologies will be used?
- How will components interact?
Activities
System Design
- Define architecture patterns
- Design component structure
- Plan data flow
Technology Selection
- Evaluate options
- Make explicit decisions
- Document rationale (ADRs)
Data Modeling
- Design database schema
- Define data relationships
- Plan migrations
API Design
- Define endpoints
- Establish contracts
- Document interfaces
Outputs
| Output | Description |
|---|---|
| Architecture Diagram | Visual representation of system |
| ADRs | Architecture Decision Records |
| Data Model | Database schema design |
| API Contracts | Endpoint definitions |
Architecture Decision Record (ADR)
For every significant decision:
# ADR-001: [Title]
## Status
[Proposed | Accepted | Deprecated | Superseded]
## Context
[What is the issue we're deciding on?]
## Decision
[What have we decided?]
## Consequences
[What are the implications?]
Common Architecture Patterns
Monolith
- Simpler to start
- Easier deployment
- Good for small teams
Microservices
- Independent scaling
- Technology flexibility
- Higher operational complexity
Serverless
- No server management
- Pay per use
- Cold start considerations
Exit Criteria
Ready to move to Build when:
- Architecture is documented
- Technology choices made
- Data model designed
- API contracts defined
- Key decisions recorded as ADRs
Tips
- Start simple, evolve as needed
- Document decisions, not just outcomes
- Consider operational concerns early
- Plan for observability
Templates
Next Phase
Phase 6: Build - Implement the solution.