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?
- 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?