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.