Skip to content

Architecture Flashcards

1. Problem Definition

  • What is the business problem or opportunity?
  • Is the scope clearly defined and agreed?

2. Stakeholder Identification

  • Who are the key stakeholders?
  • Have you engaged with both business and technical stakeholders?

3. Context Diagram

  • Have you defined the system boundaries?
  • What external systems, actors, or processes interact with it?

4. Requirements

  • Are the functional and non-functional requirements clear?
  • Have they been prioritised and validated?

5. Architectural Vision

  • What is the guiding vision for this architecture?
  • Does it align with organisational strategy?

6. Architectural Patterns

  • Which patterns are applicable (e.g., microservices, event-driven, layered)?
  • Why are you choosing or rejecting specific patterns?

7. Decision Records

  • Have you documented key architectural decisions?
  • Are the trade-offs and rationale clear?

8. System Quality Attributes

  • How will the architecture address performance, scalability, security, and maintainability?
  • What are the primary quality attribute trade-offs?

9. Modelling

  • Have you visualised the architecture using appropriate models (C4, UML, etc.)?
  • Are the diagrams simple, clear, and focused?

10. Data Flow

  • How does data flow through the system?
  • Have you considered data integrity, consistency, and storage?

11. Integration

  • How will the system integrate with other systems?
  • Are integration points well-defined and robust?

12. Security

  • Have you identified security threats and mitigations?
  • How are authentication, authorisation, and data protection handled?

13. Resilience and Availability

  • What happens if components fail?
  • Is high availability or disaster recovery required?

14. Performance

  • What are the performance expectations?
  • Are there any known bottlenecks or constraints?

15. Scalability

  • How will the system scale horizontally and/or vertically?
  • Are there future growth considerations?

16. Deployment Strategy

  • What is the deployment model (cloud, on-premises, hybrid)?
  • How will you handle blue-green or canary deployments?

17. Observability

  • Have you considered logging, monitoring, and alerting?
  • How will you measure system health?

18. Technical Debt

  • Are there areas of the architecture that introduce debt?
  • How will you manage and pay it down?

19. Standards and Guidelines

  • Are there coding, documentation, or architectural standards to follow?
  • How will you ensure consistency across teams?

20. Governance

  • What architectural governance processes are required?
  • Are there any compliance or regulatory concerns?

21. Evolution and Extensibility

  • Can the architecture evolve over time?
  • How easy is it to add new features?

22. API Design

  • Are APIs well-defined and RESTful, GraphQL, or event-driven as needed?
  • Have you ensured proper versioning and backward compatibility?

23. Vendor Independence

  • Are there any risks of vendor lock-in?
  • What strategies will you use to maintain flexibility?

24. Technology Selection

  • Is the technology stack suitable for the requirements?
  • Have you considered longevity and community support?

25. Cost

  • What are the cost implications of the architecture?
  • Have you considered cloud costs, licensing, and operational expenses?

26. Documentation

  • Is documentation lightweight but sufficient?
  • Is it aimed at the right audience?

27. Collaboration

  • Are you collaborating effectively with development, operations, and security teams?
  • Have you communicated the architecture clearly?

28. MVP and Iteration

  • What is the minimal viable product (MVP) for this architecture?
  • How can it evolve iteratively?

29. Risks and Assumptions

  • What are the key risks and assumptions?
  • Are they documented and tracked?

30. Feedback and Validation

  • How will you gather feedback and validate the architecture?
  • Are there checkpoints for review and adaptation?