Architect Responsibilities
To understand the necessary skills an architect needs, we first need to understand typical activities. The following list contains from my perspective the most important activities:
- Define and decide development technology and platform
- Define development standards, e.g., coding standards, tools, review processes, test approach, etc.
- Support identifying and understanding business requirements
- Design systems and take decisions based on requirements
- Document and communicate architectural definitions, design and decisions
- Check and review architecture and code, e.g., check if defined patterns and coding standards are implemented properly
- Collaborate with other architects and stakeholders
- Coach and consult developers
- Make sure that as implementation takes place, the architecture is being adhered to
- Play a key part in reviewing code
- Detail out and refine higher level design into lower level design
Note: Architecture is a continuous activity, especially when it is applied in agile software development. Therefore, these activities are done over and over again.