Below are the concerns of the architect. There are many concerns and many different types of architects responsible for the concerns at different levels.
- Company
- Vision
- Business Model
- Challenges
- Business considerations
- Processes
- Methodologies
- Reporting
- Project
- Planning
- Staffing
- Cost
- Delivery
- Stake Holders
- Team considerations
- Strengths & Weaknesses
- How to motivate
- Understanding of team dynamics
- Identification of potential issues within team.
- Business Requirements (Understand the use case\Understand the client)
- *-ability (Scalability, availability, reliability, perform-ability)
- Concurrent load – many how concurrent users?
- Volume – how much data?
- Interaction types (Real-time response, Delay response)
- Persistence & Retrieval
- Technical considerations
- Technology
- Hardware
- Commercial / Open source software?
- What type of technology to use and where.
- Benefits of certain technologies over others.
- Logical processes
- Process boundaries
- Identities
- Transactions
- Software design
- Layering
- Tiering
- Design patterns
- Coupling
- Identification of requirement volatiles
- Deployment & Infrastructure (On prem, IAAS & PAAS)
- Cross cutting concerns.
- Security
- Diagnostics
- Caching
- Error handling
- Validation
- Transactions
- Technology
- Risks & Limitations
- Current Architecture
- Target Arhitecture
- Legal (Are there any laws that must be considered for the region of deployment like GDPR)
- Technology
- Alternatives
- HR (Staffing)
- Skills to fulfill the planned tasks?
- Political landscape – Regional and within the company.
- Estimations (with assistance from Domain expert or Team lead)
- Cost of failure or late delivery
- Review of architecture in production.