In a rapidly changing technology environment, organizations face the need to transform their processes and systems to meet emerging business requirements. This digital transformation demands specific expertise and a set of practices to align business focus with technology solutions.
Solution architecture belongs to the list of most important practices executed before any tech solution development begins. In this article, we’ll discuss what solution architecture is, describe the role of a solution architect, and explain how the adoption of this expertise can help solve business problems.
What is a solution architect?
Solution architecture is the practice of designing, describing, and managing solution engineering to match it with specific business problems. For example, protecting customer data under GDPR and other privacy regulations is a business-level problem. Solution architecture defines how those requirements would translate into the way a given software operates.
A solution architect is in charge of leading the practice and introducing the overall technical vision for a particular solution.
While the practice can be managed in-house, there are companies that provide solution architecture consulting as a specific set of services.
Each of these terms includes multiple aspects that we’ll discuss in the article. If you want to catch all details quickly, check out our video about a solution architect role.
What is a solution architect and how this role is different from a software architect and enterprise architect (and also, subscribe to our channel as we’ll keep on releasing explainer videos)
Enterprise architect vs solution architect vs technical architect
Solution architecture is a complex process – with many sub-processes – that bridges the gap between business problems and technology solutions. Its goals are to:
- Find the best tech solution to solve existing business problems.
- Describe the structure, characteristics, behavior, and other aspects of the software to project stakeholders.
- Define features, development phases, and solution requirements.
- Provide specifications according to which the solution is defined, managed, and delivered.
However, there are two more architect-level positions that are often confused: the enterprise architect and the software architect. Let’s clarify the main differences.
Solution architecture in the context of the enterprise and technical architecture
What is an enterprise architect?
Enterprise architecture, which we covered in a dedicated article, focuses on building complex enterprise ecosystems and solves high-level strategic issues. Enterprise architecture defines the strategic directions of the business architecture, which then leads to an understanding of what technology facilities are needed to support that architecture. So, in other words, the enterprise architect defines what has to be done, while the solution architect then decides how to do it.
The enterprise architect has the broadest view of the company’s current state of architecture and goals. It is this expert who is responsible for creating a strategic plan for implementing technical changes. This person works closely with top-level executives and decision-makers as he or she demonstrates to them the business value of suggested technical initiatives.
What is a software or technical architect?
Software or technical architect is mainly in charge of engineering problems and software architecture. We have a detailed article describing the role of a software architect and the importance of this position to the company’s success.
Unlike the solution architect, the software architect typically doesn’t deal with financial and organizational issues. This person focuses on all the aspects related to software engineering on a particular project, i.e., development, implementation, maintenance, support, and evolution. Software architects closely collaborate with development teams and control the entire development process. So, continuing the previous example, the software architect determines what exactly has to be done and how the result can be maintained.
What is an infrastructure architect?
An infrastructure architect is much like a technical architect but with a focus on a corporate on-premises server or cloud systems employed by an organization. This means that an infrastructure specialist helps grow and maintain the production side of a corporate software ecosystem, rather than software development itself. These specialists oversee the existing IT systems and networks, and explore and integrate new ones, making sure that they meet all requirements in regard to resilience, security, performance, availability, etc.
Ultimately, technical architects define how the software must be engineered, while infrastructure architects make sure that this software is successfully deployed and operates well. And yet, a technical architect may be responsible for infrastructure as well. So, the lines between these two roles are blurred.
Solution architecture describes how different components of business, information, and technology architectures are used in a particular solution. As solution architecture is more focused on details and solution technologies to address a specific business problem, it provides a channel between enterprise architecture and technical architecture. The latter is focused only on technical issues. An effective approach for companies is combining enterprise architecture activities with solution and technical architecture activities.
Solution architecture and its main processes
Well-built solution architecture helps teams develop the product on time and on budget and ensures that it solves the problem it was designed to solve. So, what tasks does solution architecture actually carry out?
Matching solutions with the corporate environment
Usually, companies already have operating systems, an information context, and integration requirements. The solution architecture helps ensure that a new system will fit the existing enterprise environment. To perform this task, a solution architect has to understand how all parts of the business model work together including processes, operating systems, and application architectures. Understanding these aspects, they will be able to design a specific solution that fits the environment best.
Meeting the requirements of all stakeholders
One of the most important challenges of software product development is meeting the stakeholders’ requirements. Usually, a product has a number of stakeholders that are both technical and non-technical specialists. Solution architecture’s aim is to ensure that all their requirements are taken into account. Stakeholders have to be regularly informed about product development processes, costs, and budgeting. These tasks are usually done by a solution architect who translates technical project details into a language that management and non-technical stakeholders can understand.
Accounting for project constraints
Each project has its limitations usually referred to as constraints. These include:
For instance, a product is built with technologies that must suit the requirements of its particular modules. Project scope is a part of software documentation that defines specific goals, tasks, features, and functions. All projects also have an allocated budget.
While these aspects are constraints in themselves, each of them has its own limitations. The solution architect must understand all these constraints, compare them, and then make a number of technological and managerial decisions to reconcile these restrictions with project goals.
Selecting the project technology stack
A vital part of creating solution architecture is the selection of technologies for product development. The technical architecture strategy will directly depend on the chosen technology stack. There are a lot of different practices associated with platforms, programming languages, and tools. The solution architecture function here is to find which of them will be the most suitable for a particular project. It’s not an ordinary task requiring technology assessment and comparison.
Compliance with non-functional requirements
All software projects have to meet a number of non-functional requirements that describe the characteristics of the system. These are also known as quality attributes. While the exact list of non-functional requirements depends on the complexity of each individual product, the most common of them are security, performance, maintainability, scalability, usability, and reliability of a product. The solution architect’s role is to analyze all non-functional requirements and ensure that further product engineering will meet them.
Since we’ve discussed high-level goals of solution architecture adoption, let’s break them down into specific responsibilities and underlying skillsets.
Solution architect role description and responsibilities
The solution architect’s job focuses on solution-level decisions and analysis of their impact on the overall business goals and outcomes. Just like the architect in the construction industry creating a general blueprint of a future building, a person in this position must have a profound knowledge of available technologies to suggest the best solution according to the incoming requirements and existing environment. So, we can say that the product of a solution architect’s job is the set of technological solutions and the strategy of their implementation.
After developing a strategic technical vision of the product, the solution architect is involved in estimating the budget and presenting it to the stakeholders. Once everything is agreed upon, he or she monitors the process of development and keeps stakeholders informed about the progress.
A solution architect’s responsibilities directly derive from processes in practice:
- Analyzing the technology environment
- Analyzing enterprise specifics
- Analyzing and documenting requirements
- Setting the collaboration framework
- Creating a solution prototype
- Participating in technology selection
- Controlling solution development
- Supporting project management
While most of these responsibilities require a leadership role from a solution architect, this person just supports PM activities to ensure that resources, risk recognition, and planning stay aligned with the solution goals.
Solution architect skillset and background
If you have already realized the importance of solution architecture in your projects, the next step is to source and hire the person for the role. We’ve considered the core skills that a good solution architect must possess.
Solution architect role breakdown
Technical background and experience
To provide management and engineering teams with technical advice, a solution architect must have a technical background with at least eight years of work experience in one or more IT areas including but not limited to:
- IT architecture, infrastructure, and cloud development
- Engineering and software architecture design
- Business analysis
- Project and product management
Excellent communication skills
A vital part of the solution architect’s competence is communication. Considering that this role entails negotiating with stakeholders, understanding the needs of all parties, managing risks, and product delivery, the lack of communication skills can create a real bottleneck. The position requires working closely with enterprise and software architects, business analysts, and project teams. So, an experienced solution architect should be able to listen, advise, empathize, and explain.
Deep analytical skills
Designing a solution requires understanding how different parts of the business work together. The architect must recognize the corporate strategy and realize all business processes that define how a company achieves its strategic goals. But the architect must also understand tech specifics. As a result, solution architects constantly deal with analytical work and move between various business layers.
Project and resource management skills
While a solution architect doesn’t directly get involved in project management, accounting for deadlines and given resources is inevitable. Solution architects must be able to make decisions about which solutions are advantageous and which are worthless in a given situation. They must be focused on business results and understand how to achieve them according to the given timeframes and resources.
Besides that, it’s important that solution architects consider the project from a long-term perspective and understand that the solution might need to scale and adapt to possible changes in the future. So, being the one who knows the ultimate target, they guide the development process accordingly.
Solution architect certification
Certifications are intended to validate the skills and expertise of solution architects. They assess their knowledge, abilities, and experience. So, having one or more credentials proves the expert’s proficiency in specific skills.
Most of the certification platforms, besides the exam itself, offer training courses, learning materials, and practice tests. Other resources can also be helpful to prepare and practice such as Udemy, Coursera, or MeasureUp. However, the exam can be taken without previous preparation — all that is required is deep knowledge of the architecture concepts and principles and a vast hands-on experience in the industry.
There are a lot of IT architect certifications available, with most of them being vendor-specific, i.e., focused on mastering a specific technology. Here’s a brief overview of the most popular ones.
AWS solution architect certification
The AWS Certified Solutions Architect program offers certifications at associate and professional levels, depending on your experience. Both of them target architects that work with AWS technologies to build and deploy applications and systems.
The AWS Certified Solutions Architect – Associate exam takes 130 minutes and costs $150. Amazon recommends candidates have at least 1 year of hands-on experience before taking the test. Here’s a list of the main content domains of this exam:
List of the main content domains and their weightings, source: Exam Guide
The AWS Certified Solutions Architect – Professional exam is for senior architects with 2 or more years of experience and an associate credential. It takes 180 minutes to complete, and it’s priced at $300. Here’s a content outline:
List of the main content domains and their weightings, source: Exam Guide
AWS certifications are valid for 3 years after which the credential holders have to go through recertification to prove their continued expertise and knowledge of the latest AWS technologies and best practices.
Azure solution architect certification
Microsoft has a variety of credentials for solution architects, the most well-known being the Microsoft Certified: Azure Solutions Architect Expert. This one is for candidates that specialize in solutions that run on Microsoft Azure and have advanced knowledge of Azure infrastructure.
The Azure Solutions Architect Expert certification can be obtained after taking an exam: AZ-305: Designing Microsoft Azure Infrastructure Solutions. The price is based on the country in which the exam is proctored ($165 for the United States).
Here’s an overview of the skills measured by these tests. In a nutshell, AZ-305 is focused on technical tasks, such as:
- implement and monitor an Azure infrastructure,
- implement management and security solutions,
- implement solutions for apps, and
- implement and manage data platforms.
The content of AZ-305 is assessing such skills as:
- design monitoring,
- design identity and security,
- design data storage,
- design business continuity, and
- design infrastructure.
ITIL is the industry-recognized set of qualifications that includes 5 levels. The highest credential is the ITIL Master for those professionals who work in IT service management and have extensive experience with ITIL practices. It’s not exactly a role-based certification specifically for solution architects, but since ITIL is a popular management framework, the person that mastered its principles would be a valuable asset in any managerial position.
The description states that to be certified, you must be able to “explain and justify how you have personally selected and applied a range of knowledge, principles, methods and techniques from the ITIL Framework and supporting management techniques, to achieve desired business outcomes in one or more practical assignments.” So, there is no training course or fixed syllabus for this exam since every candidate will be tested within their own unique range of experience.
The ITIL Expert certificate is a prerequisite for gaining this credential. The candidate is also required to have over 5 years of experience in leadership, managerial, or high-level advisory roles. Once these conditions are fulfilled, the hopeful will have to register with PeopleCert (the approved Axelos Examination Institute), fill out the application, and present their CV. Next, the proposal for a business improvement has to be submitted together with the work package that shows the candidate’s practical skills in applying the ITIL principles in real-world business cases. After that, the applicants will have to successfully pass an interview with an assessment panel where they will be questioned on their experience.
The cost of both the exam and the training courses vary by location.
Google cloud architect certification
Google also offers a number of role-based certifications. Professional Cloud Architect is the one for experts who use Google Cloud technologies in their solutions. Again, it’s not only for solution architects but for any professional dealing with Google cloud architecture.
The exam is 2 hours long with a registration fee of $200. Google recommends at least 3 years of experience before one attempts to take the test. It’s also important to remember that it requires recertification every two years. The exam guide (as well as learning materials and sample questions) is available and lists 6 aspects of the exam:
- Designing and planning a cloud solution architecture;
- Managing and provisioning a solution infrastructure;
- Designing for security and compliance;
- Analyzing and optimizing technology and business processes;
- Managing implementation; and
- Ensuring solution and operations reliability.
When a company needs solution architecture consulting
Solution architecture can be introduced to the corporate structure by technology consulting organizations if the process of integrating new software systems isn’t systematic. On top of that, there is no need to have a solution architect for every single project. If you implement a single tech module that is proven to be working in similar contexts, you don’t need a solution architect. Once software engineering projects grow more complicated and entail a bigger number of processes and risks, it’s better to consider solution architecture consulting services.
Let’s have a look at the cases when solution architecture consulting is recommended:
You don’t know which solution fits the enterprise ecosystem best. You need to forge a link between the existing enterprise architecture and the particular project. Solution architects will guarantee the solution meets the standards of your company environment. For example, if you move a number of existing back-office processes to the cloud, a solution architect is in charge of analyzing multiple options and suggesting the most relevant ones in terms of technology, human, and financial resources.
You run a digital transformation project. Digital transformation requires businesses to reconsider either how they deliver value to their customers or what they will eventually deliver. There’s no way to answer these questions without linking technology and business perspectives, which is squarely in a solution architect’s wheelhouse.
You face a lot of risks. A solution architect is necessary for projects where many technology risks are present, uncertain requirements can appear, multiple products must be implemented at once, or the underlying technologies aren’t approved yet.
You must pitch a product roadmap to investors. If you must present a future product to investors and stakeholders, a solution architect will suggest the technologies that will match product requirements and communicate the reasoning in plain and clear business terms.
You need to set up communications between stakeholders and engineers. A solution architect will help to fill the communication gap between technical and non-technical specialists. Also, by collaborating with the project management team, solution architects cover the risks of product misalignment with stakeholder requirements and ensure that the solution fits the defined purpose.
Many teams are involved in the project. You may have a large project that requires someone to manage designers, technical or business architect teams to produce a quality technical project outcome.
Solution architecture is the underpinning for any IT project, regardless of whether you actually adopt this practice or not. By deliberately introducing solution architecture, you build the framework that aligns technology, resources, and skills with defined business goals.
Prior to considering solution architecture, we recommend exploring enterprise architecture frameworks that combine both solution and enterprise levels.
Traditionally, small and mid-size businesses consider neither the practice of solution architecture nor the respective role justified. Addressing solution architecture problems is delegated and shared across other roles within a product team. And it’s a viable option for small projects with predictable outcomes. However, if you have a complex enterprise architecture that introduces multiple software products into a functioning ecosystem, you need to fully rebuild your legacy software, or make a set of strategic technological decisions, the relevance of a dedicated specialist is obvious.