Ownership - Architect
Architects describe the best possible solution to a framed problem. They are great decision makers, understand the long-term implications of technical choices, know how to swiftly probe, understand and adapt and always grasp the big picture.
The Solution Architect serves as the technical leader for a product. They are responsible for defining the solution's architecture, its dependencies, and the services it encompasses. They actively participate in development alongside the rest of the team, encouraging each member to proactively address problems based on their seniority.
The Solution Architect defines strategies to ensure the quality of product implementation, starting with adherence to best practices already established within the company. They seek validation from the CTO if they believe it is necessary to evolve or introduce new practices. They participate in internal calls and those with the client when specialized technical input is necessary or preferred.
Caveats
Large projects may need specialized software architects for different areas (say, frontend and backend). Nonetheless, a single Solution Architect should be designated for each project to ensure coordinated choices, adherence to Universal Definition of Done, and alignment with non-functional requirements.
Small projects with limited technical complexity may not require a dedicated Solution Architect. In such cases, responsibilities can be delegated within the team, under the Team Leader's guidance.
Ownership
- Technical architecture of the product
- Technical documentation of the product
- Technical quality of implementations and adherence to best practices
- Alignment of the technical solution with functional requirements
- Promotion of technical innovation within the team
Practical tasks
- Coordinates and conducts pre-sale estimates
- Defines non-functional requirements (performance, security, operational costs, solution scalability, etc.)
- Defines the technical project architecture
- Drafts technical architecture documents and ADRs (Architecture Decision Records)
- Provides internal technical advisory
- Conducts (delegating at their discretion) technical reviews of work (code-reviews, etc)
- Ensures the establishment of DevOps practices
Tangible outputs
- Technical documentation for project architecture and ADRs (Architecture Decision Records)
- Initial solution stub with the team
- Technical implementation
Interactions
Please, visit the Interactions between project roles section.