Soft skills become essential in addition to technical skills as you need to deal with and work with different team members with other skills. Communication, cooperation, and conflict resolution are keys to success in your new role.
Another challenge for new architects is learning to focus on the right level of detail when analyzing problems and proposing solutions and not going too much into the details to miss the big picture. The challenge is finding the right abstraction level when designing your solution. Indeed, abstraction is a powerful concept that helps you hide unnecessary details, focus on building your solutions at the component level, and manage the complexity of the system you are building.
A common mistake made by new architects is underestimating the importance of the non-functional requirements (also known as quality attributes or architecture characteristics) of the system you are crafting. Those characteristics should be your priority. Work closely with different stakeholders to identify, document, and prioritize them. They should be reflected in your solution. In other words, you should clearly explain how each quality attribute has impacted your architect’s decisions.
In addition, you need to identify the constraints and risks related to your project, as they will significantly impact your architecture decisions. Those constraints can be technical, legislative, or related to the budget or your team skills.
Documenting your architecture is an incremental task. Your document should read as a story and flow smoothly from presenting the requirements to the solution, from the high level to the details, including the different architectural decisions and the diagrams that illustrate your solution. Seek continuously for comments from your colleagues (architects, developers, product owners, etc.) to improve your architecture and documentation that explains your solution.
The architect’s primary role is to build an architecture that meets the business requirements. Therefore, it is critical for architects to understand the business goals and drivers of the project and how they are reflected in the architecture.