Many companies can see in advance that the project will fail. Accordingly, they have a chance to change the result and achieve success. This requires the sudden transformation of most processes in accordance with new market requirements.
Such a transformation
requires special expertise and a set of practices to align the business focus with technological solutions. Otherwise, changing working methods will not improve efficiency.
Therefore, in any company that is focused on development, a solution architecture is developed
. This is the practice of designing, describing and managing solutions depending on the tasks and problems of the business.
This practice gave rise to a corresponding position
- the solution architect. This is the person responsible for guiding the practice and presenting the general technical vision of a particular solution. The work of the decision architect includes many aspects and responsibilities, which will be discussed in the article.
What a software product architecture consists of
is a complex phenomenon. When someone hears about it for the first time, they often think about the application architecture of a particular project
. But this is only a small part. Conventionally, it is divided into three components:
- business architecture (known as Enterprise Architecture among developers);
- solution architecture;
- technological architecture.
The first of them focuses on building an ecosystem and solving top-level strategic problems (combining key requirements, analyzing data flows, etc.). Business architecture
leads to the understanding of what technical means are necessary to maintain a software product
Solution architecture is an intermediate component between business processes and technological solutions.
It includes the search for technical solutions for various tasks, a description of the structure and behavior of the software, the definition of functions and stages for each solution.
Technological architecture includes engineering issues. In other words, this is the hardware component of the software product.
It describes system software, standards for firmware, control systems, etc.
Based on this, we see that in IT architecture there are three corresponding job levels - Enterprise Architect (EA), Solution Architect (SA) and Technical Architect (TA).
The role of the decision architect
The difference in the work of three architects can be described very briefly:
- EA - what to do;
- SA - how to do;
- TA - how to maintain.
Behind the simple “how to do” in the work of the decision architect lies a lot of tasks, such as choosing the framework for work
, monitoring the development of the software product, and resolving disputes among developers. Why is this work so important?
The role of the decision architect in the project structure
The speed of software development
depends on the actions of the decision architect, and this is the most important. Why? The faster the task is completed, the less money will be spent. This leads to the second point for which the decision architect is responsible - to solve the problem within the budget.
In addition, it is the decision architect who is responsible for complying with all requirements during development. He must study the limitations of the project in order to analyze feasible alternatives and reduce risks.
In general, a solution architect is the link between a technical team and a project manager.
It provides speed and accuracy of information transfer, and also controls key development processes.
What skills should a decision architect have
A solution architect is neither the highest nor the lowest link in the process of developing a software product,
but without it it is impossible to obtain the necessary result. That is why, a decision architect must have both general project management skills and exceptional abilities.
The role of SA is to ensure that the project is completed on time. Therefore, he should be able to clearly bring the technical aspects, risks, problems and benefits of each solution.
is a central element for all parties involved in the solution, from business analysts to developers. Accordingly, he should be able to explain the selected approaches at all levels. At the same time, he needs to have human qualities to provide advice and explanations, negotiate and have a positive impact.
How to reduce risks? You must be able to use tests of performance, security, user interaction and others. If the SA is not able to analyze the performance of such tests, then its work will be unsuccessful.
SA will not be able to give advice or explain some solution if he does not have sufficient knowledge of the technical aspects of the project. This position implies an understanding of all the technical disciplines that are involved in the development.
During the development of a software product, scrupulousness is very important. But such a character trait is developed in all different ways. A decision architect is the person who should pay the most attention to detail. After all, it is they who determine the possible risks, and also help to separate the valuable and minor elements of the software product.
To ensure a quick and high-quality result, you need a large amount of resources. But if they are distributed incorrectly, the result will still be negative. The solution architect must have information about all the resources available to him and use them in the most optimal way.
Designing solutions requires an understanding of how various parts of the business are connected. Therefore, SA must understand the corporate strategy and implement all business processes that determine how to achieve the goals of the company. Thus, the solution architect must constantly conduct analytical work at different levels of the business.
Responsibilities of a Solution Architect
In general, a decision architect is a person who is responsible not only for development, but also for the practical implementation of ideas. He must have a clear understanding of the product and understand what benefits this product will bring to the business. In addition, the solution architect broadcasts this vision to the entire team of code developers so that they can create a software product.
As already mentioned, this position is an interlink. Accordingly, the solution architect operates at all levels of software product development:
- At the very first stage of the project, SA collects requirements for a software solution from interested parties. In particular, he gets acquainted with the idea personally, and also passes it on to business owners, top managers, as well as clients. So he identifies key problems and builds a vision of the future system with a link. Accordingly, the solution architect operates at all levels of software product development.
- This stage covers the entire software development process, including writing specifications and testing. First, SA works with a technical team to think through all possible options for implementing the idea into reality. Then he works with a business analyst to help transform stakeholder requirements into software product functionality. Finally, SA is involved in making complex technical decisions that can affect project performance.
- The solution architect is also responsible for the ongoing maintenance of the finished system. So, it is a guarantee that there is a safe and stable environment for the correct operation of the software. The solution architect also ensures that the product is relevant in terms of business value.
One of the most important tasks of a solution architect is to meet the requirements of stakeholders. As a rule, a product has a number of such participants, among which there are both technical and non-technical specialists. SA's goal is to ensure that all their requirements are accounted for and implemented. Stakeholders
should regularly receive information on product development processes, costs, and budgeting. It is these tasks that are assigned to the decision architect.
An integral part of the development is the choice of technological stack.
A decision architect is required to participate in this procedure. The main goal in this case is to find which stack will be most suitable for a particular project.
Among other things, the responsibilities of the decision architect include:
- system assessment;
- analysis of the technological environment;
- defining a framework for cooperation;
- defining a procedure and process to ensure the delivery of a solution;
- creation of a prototype solution;
- adherence to strategic guidelines;
- development control;
- collaboration with project management teams.
Why companies pay solution architects
Sometimes it seems that most of these issues can be solved by the project manager. Some of them are agreed by the business owner. But then why do companies hire solution architects and how much do they pay for such work?
The answer is that SA removes a huge burden from the shoulders of project managers,
and even more -from business owners. He spends his time for analyzing parts and ensuring full interaction. The selection of a solution architect provides the following benefits:
- The correct selection. If SA is involved in the development, you can be completely sure that the new software product will solve the key business problems. This means that at the end of development, the company receives not just a working application, but receives a product that will lead to scaling.
- Effective communication. The business owner and programmer are people from different planets. While the former are talking about cutting costs, the latter are worried about specific engineering problems. The architect of solutions is a translator. He has both industry experience and technical experience, therefore he understands what the business owner wants and how to properly present it to the developer (and vice versa).
- Resource Management. There are no projects without restrictions. Budget, timeline, technology - everything requires management. To do this, you need to devote a lot of time, and also have the appropriate experience. A decision architect is able to see the big picture, but always pays attention to details. This is how he selects the best options for solving problems in order to optimally allocate resources.