The International Software Architecture Qualification Board (iSAQB) brings together software-architecture experts from professional practice, consulting and universities. For this purpose, the association has created the iSAQB® Certified Professional for Software Architecture program (CPSA), a standardized scheme for initial and further training for software architects that is globally recognized.
University-based iSAQB members validate the compatibility of teaching and training provided by higher education institutions with the Foundation Level curricula in their latest version. Foundation Level contents and certification tend to define rather holistic, fundamental contents.
If a university’s teaching and curricula are congruent with iSAQB contents and the university concluded a licensing agreement, it will refer to this conformity and organize via a licensed certifying body a certification examination for the award of the title of ‘Certified Professional for Software Architecture – Foundation Level’.
The preparation for this certification is offered to students through suitable special classes at licensed higher education institutions.
The significance of a software architect’s role
Within the broad subject area that is ‘software engineering’, the role of a software architect is becoming increasingly significant
Software architects act as a link between a project’s different stakeholder groups within. This includes not only the users, the clients and the operation, but also the project managers as well as the entire development team:
There is also a considerable variety of forces and interests at play within a specific corporate policy environment, all impacting the work of an architect. This is why a software architect must be capable of mediating between the sometimes conflicting stakeholder groups, processing information for any given target group, then communicating this information and feeding back the outcomes to other groups again.
Even within agile projects, software architecture is not a democratic process. If members of the development team hold controversial or divergent opinions, it is up to the software architect to bring about a decision in favor of one or the other of the aspects involved. This means that the developers have to review the consequences of decisions made by the architect and assess possible alternative solutions. To be able to do so, they must also be familiar with essential architecture and design patterns as well as architectural principles, and use them if required. For this to work, a certain amount of software architecture awareness is required from developers as well.
In this context, know-how transfers that are necessary to address knowledge gaps are also part of the software architect’s duties and responsibilities.