WHAT IS THE ROLE OF A SOFTWARE ARCHITECT?
While in the industry the term Software Developer is quite clear, the term Software Architect is still quite vague and many companies wonder whether or not they need someone to fill this role solution architect salary.
The Software Architect must be a person with extensive technical knowledge, great experience in programming, leadership and who exercises the following functions :
Management of non-functional requirements and definition of the Software Architecture
Technology Selection
Continuous improvement of the Architecture
Facilitator
Leader and Trainer
Quality assurance
Management of non-functional requirements and definition of the Software Architecture
In many software projects users are often asked what features they want in the product to be developed, but non-functional requirements, or system qualities, that are needed are often overlooked.
Non-functional requirements have to be specific, measurable, achievable and verifiable, in order to satisfy them (something subjective like: "the system must be fast" is not enough), and you also have to know how to prioritize them so that all are taken into account.
Characteristics such as performance, scalability, availability, auditing, etc., are non-functional requirements that must be defined and even questioned when deemed appropriate and it is the Software Architect who must assume these functions.
After obtaining the full set of non-functional requirements, the next step is to think about how the exposed problems will be solved and define the architecture.
The definition of the architecture is about the introduction of the structure, guidelines, principles and leadership of the technical aspects of a software project. Therefore, a figure dedicated to thinking about these aspects is required, that is, someone has to assume ownership of the process of defining the architecture and this is undoubtedly part of the competencies of the Software Architect.
No comments:
Post a Comment