Skip to main content

Phase 5: Architect

Design the technical solution.

Purpose​

Translate requirements into technical design:

  1. How will the system be structured?
  2. What technologies will be used?
  3. 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​

OutputDescription
Architecture DiagramVisual representation of system
ADRsArchitecture Decision Records
Data ModelDatabase schema design
API ContractsEndpoint 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.