Software architecture is an extremely young discipline, and, despite many publications on the subject, various opinions still exist regarding its precise scope and design in the context of computer science and information technology.
The tasks and responsibilities of software architects are defined in very different ways and are subject to continual renegotiation during a project.
In contrast, software engineering disciplines such as project management, requirements engineering, and testing have a more mature knowledge base. Various independent organizations offer training curricula that clearly define the knowledge and skills required by these disciplines (for testing, visit www.istqb.org; for requirements engineering, visit www.ireb.org; for project management, visit www.pmi.org).
In 2008, a group of software architecture experts from the business, industry, and scientific communities formed the International Software Architecture Qualification Board as a registered association under German law (iSAQB e.V., www.isaqb.org). The goal of the iSAQB is to define product- and manufacturer-independent standards for the training and certification of software architects. Certifications at Foundation, Advanced, and Expert levels allow software architects to certify their knowledge, experience, and skills using a recognized procedure.
Because it eliminates the terminological uncertainty referred to earlier, standardized training benefits established and aspiring software architects, companies, and training organizations. Precise training curricula are essential for the examination and certification of aspiring software and ensure that high-quality training is available on the basis of an accepted canon of knowledge.
Certification as a Certified Professional for Software Architecture (CPSA) is carried out by independent bodies. CPSA Foundation Level certification is based on a subset of a nonpublic catalogue of demanding questions developed by the iSAQB and matched to the curriculum. Advanced Level certification also requires practical certification and participation in licensed training courses (or acknowledgement of equivalent non-iSAQB qualifications). Expert Level certification is currently in development.
Various licensed training institutions offer multiday courses designed to refresh and deepen candidates’ existing knowledge in these subject areas. Participation in a course is recommended but isn’t a prerequisite for registration for the certification examination.
The iSAQB has now defined clear certification guidelines for CPSA Foundation Level and Advanced Level certification.
Advanced Level certification is modular and consists of individual courses dedicated to specific core competences for IT professionals:
Prerequisites for Advanced Level certification are as follows:
The examination consists of solving a prescribed task and discussion of the solution with two independent examiners.
Foundation Level certification is based on knowledge and skills defined in the iSAQB curriculum [isaqb-curriculum]. These are as follows:
The focus is on the acquisition of the following skills:
Foundation Level training provides the knowledge necessary for designing and documenting a solution-based software architecture for small- and medium-sized systems, based on a sufficiently detailed requirements specification. This architecture can then serve as a template for implementation. Participants are trained to make problem-oriented design decisions on the basis of previous practical experience.
The figure below shows the content and weighting of the individual areas of the curriculum for iSAQB Certified Professional for Software Architecture (CPSA) Foundation Level training.
Various independent bodies offer certification based on the iSAQB curriculum. Examiners use standardized questions prepared by the iSAQB.
Questions are multiple-choice, so the results are objectively measurable.
The examination validates your software architecture capabilities on paper. It’s up to you to prove yourself in real-world situations.
Learn more about software architecture design in this post.
Editor’s note: This post has been adapted from a section of the book Software Architecture Fundamentals: iSAQB-Compliant Study Guide for the Certified Professional for Software Architecture—Foundation Level Exam by Mahbouba Gharbi, Arne Koschel, Andreas Rausch, and Holger Tiemeyer.