Asking for help - a mature decision
A software architect is in charge of the overall technical solution – there is no question about that. But a good software architect also knows his limits and requests assistance from subject matter experts on the issues outside of his or her knowledge base. Technical skills are only 49% of software architect’s skill set.
For example, a software architect with experience in web portal development is assigned to lead a project for a web based case management system. If similar technology and the same web based paradigm are used on the new project this is a reasonable request on behalf of the business management.
After studying case system requirements and after examining the quality attributes an architect sees that the system will require a highly sophisticated authorization system in order to ensure that the right users get access to the right parts of a case at the right time. If complex resource authorization is not architect’s technical strength, then a subject matter expert must be brought on board for consultation. This is not an insult to architect’s competency or ability to perform her job; it’s a mature decision that will improve the odds of designing the right functionality that serves users’ needs.
There are cases when financial constraints prohibit acquisition of external subject matter experts. Then it’s up to architect to make the best of the situation, but such decision should be documented as risk. It’s a well known fact that it’s not possible to retrofit security into a system without breaking system architecture.
Firebrand Architect on duty: CK