Each project starts with a foundation - a vision of how things should be, how the whole thing should operate, which elements contribute to the workflow, etc.
In terms of software development, this is the goal behind solution architecture - to describe, design, and manage how things should be in order to achieve business goals and solve problems.
The process of forming solution architecture, and solidifying the technical vision of the solution, is the job of a solution architect.
In this article, we will explain:
- the importance of the solution architect in software development?
- Discuss major approaches of solution architects?
- How solution architecture solves business problems?
The solution architect is the person responsible for the vision of the solution architecture, its refinement, and realization according to the business' needs and goals. (In a way, it is the ultimate form of a developer’s evolution (pokemon final form).
Solution architecture is one of the foundational elements of any project or organization. It is the instrumental backbone that holds things together.
For example, a data analytics system. There are several platforms that generate data. There is a need to combine all of this data into one big picture. After that, it would be a good thing to extract insights out of it and understand how it contributes to the improvement of the product or service.
Solution Architect describes:
- How different parts of the project tie together - this includes business, information and technology architectures and their respective processes (for example, channels of data + data gathering tools + data warehouse + data processing tools, etc);
- How they address specific business problems and form efficient technology solutions (for example, data wrangling components prepare data for subsequent data mining, which results in getting insights, which results in business decisions).
Ultimately, solution architecture is aimed at the following overarching goals:
- streamlining of day-to-day activities;
- providing a more efficient production environment;
- lowering costs and gaining cost-effectiveness;
- providing a secure, stable, and supportable environment.
The primary focus of the solution architect is to:
Find technology solutions to business problems that meet business requirements defined by the customer.
Describe the gist of the solution: its structure, and the way it fits with the rest of the business structure and contributes to the workflow.
- The solution description may also include other relevant aspects, such as budget, alternative options, etc. This description is subsequently presented to the project’s stakeholders.
Define solution requirements, key features of the solution, and phases of implementation.
Provide specifications for solutions management and delivery.
Analyze the impact of the solution on the state of the business' goals and direct outcomes of solution implementation.
In practice, the workflow of the solution architect covers the following activities:
- the technology environment (i.e., how specific technology can be used to solve a given business problem? what it is? what it can do?)
- enterprise specifics (what is the current state of enterprise and technology architecture? What can be improved? What are the business' requirements? What are the constraints and possibilities/opportunities of the project?)
- The list of constraints includes:
Finding a viable solution to a business problem.
Validation and Documentation of the solution requirements.
- how will the thing look?
- what modules will it use?
- how will the solution’s components interact with each other?
- how will it handle scalability prospects?
- how will it be maintained?
Building cohesive workflows for:
- Team collaboration
- Stakeholder result presentation (i.e. keeping everybody on the same page. This bit also includes managing expectations of the stakeholders and keeping things grounded in reality).
Development of the solution’s proof of concept (the goal is to show that a feature can be developed).
- Subsequently, it morphs into the development of the solution’s prototype (i.e. how it will be developed).
Participation in the selection of the technology stack, frameworks, platforms (i.e. what will compose the solution?)
- This process also involves figuring out the pros and cons of using third-party frameworks and platforms in particular cases.
Assisting project management in solution development. At this stage, the Solution Architect’s role is to oversee the progress of the project in accordance with the solution goals and enterprise resources. This process also includes risk recognition and additional planning.
A solution architect operates at the strategic level. As such, his work impacts multiple aspects of business operation. This scope of work requires a particular set of skills that can make the process efficient and productive.
Let’s look at key skills required for the position of solution architect:
1. Technical background and experience in development.
2. Ability to consult management and engineering teams with technical advice. In particular regarding:
- Business analysis;
- Project management;
- IT architecture, infrastructure, cloud development;
- Engineering, software architecture design, DevOps;
3. Communication skills. Basically, the scope is described by the verbs “listen, advise, empathize, explain”. The communication involves:
- Interpreting and corresponding to the needs of all involved parties, explaining related risks;
- Keeping in touch with stakeholders;
- Handling product delivery
- Closely interacting with development teams, related enterprise/software architects, business analysts, etc;
4. Deep analytical skills and the ability to see the connections between layers of business operations.
- Addressing the needs of the corporate strategy.
- Understanding the specifics of the technology.
- Understanding how different parts of the business operation are connected with each other and how business processes achieve their goals.
5. Project and resource management skills
- Accounting for deadlines and use of given resources;
- Defining which solutions are beneficial and which are inefficient for a particular business need.
- Understanding how to achieve such solutions and goals according to their given timeframes and available resources.
- AWS Certified Solution Architect
- Axelos ITIL Master certification
- CISSP Information Systems Security Architecture Professional (CISSIP-ISSAP)
- Dell EMC Proven Professional Cloud architect training and certification
- EC Council Certified Network Defense Architect (CNDA)
- Google Professional Cloud Architect
- Professional Cloud Solutions Architect Certification
- Red Hat Certified Architect
- Salesforce Certified Technical Architect (CTA)
- The Open Group TOGAF 9 Certification
- The Open Group Certified Architect (Open CA)
- Virtualization Council Master Infrastructure Architect certification
The solution architect is MVP when it comes to deciding how the ins and outs of the project are going to work.
This person is responsible for figuring out the best possible way of bringing together business needs and technological solutions.
As such, a solution architect is a must-have for those companies that go for complex solutions beyond a mere WordPress cookie-cutter.
Download Free E-book with DevOps Checklist