Home TipsJob Opportunities Solution Architect skills for designing Digital Solution

Solution Architect skills for designing Digital Solution

by Sddharatha Joshi

Software Development is all about building software that gets the job done. And the job that needs to be done is based on the real-world requirements.

The various stages of software development are captured in the software development life cycle(SDLC) framework. I know we use Agile/Scrum is more widely used these days.

I am referring to SDLC to talk about the various phases in software development. In Agile, we execute the SDLC phases iteratively in the form of a Sprint.

The Solution architect plays a vital role in the Software Design phase. And it can be said confidently that the software is as good as the design is.

The advent of technologies like Cloud, Dockers, Microservices, APIs has changed the approach used to software design.

The Goal

And through this post, we want to 

  1. Emphasize the significance of the role of a solution architect 
  2. And how to succeed as a Digital Solution architect. 

And to do this, we will

  1. Highlight the key aspects of the Digital solutions that help realize the Digital Transformation goals of the organizations
  2. Map the various solution architect skills to the Digital solution design aspects. 

A quick recap of Basics – What is Solution Design 

To do a job well, we need to get involved and use all our energies and skills in completing the job. The frameworks, models that we use in our work are tools that are meant to help us in this regard. They help us channelize our thoughts, force us to think from a certain perspective by throwing clues at us. The SDLC is one such model.  

Software Development Life cycle

Let us focus on the Design phase

In the Analysis phase, the Business Analyst captures the

Why, What, Whom, Where, Why not

aspects of the software.

The Business Analyst documents what needs to be done, why is it being done, who benefits from it and where is it applicable.

In the Design phase, we go a level deeper. We are moving from requirements/wishes to realization. And so you could say, in the design phase, the focus is on the

how and why not

part.

The goal of this phase is to come up with a solution design that has the following characteristics.

5 tenets of the Digital Solution design

Scalability

Goal

Scalability is all about the ability of the software to grow with the growing usage easily and effectively i.e. as the usage of the software grows, there is no

  1. compromise on the features or 
  2. the response of the software. 

Skills and tools

We achieve scalability by typically upgrading/increasing the hardware on which the software runs. The design of a scalable software will make use of the hardware as efficiently as possible.

The trending skills/techniques/approaches used in the design of scalable Digital solution are

  • Microservices 
  • Cloud-native, Hybrid cloud
  •  Using the marketplace concept

Maintainability

Goal

The goal here is that it should be easy and cost-effective to enhance and improve the software. Bug fixing, adding new features, extending an existing feature should be easy and shouldn’t cost a bomb.

Skills and tools

This is one area that has been thought about a lot. Maintainability has been the focus since the day software development started.

The typical approaches used for easy software maintenance are

  •  Use design concept like SOLID, OOPS
  • Use frameworks like TOGAF

Integration 

Goal

Integration is at the heart of Digital Transformation. We often see the availability of API is highlighted as a USP of the software. 

Typically, Businesses use multiple software to achieve business goals. And for seamless data movement, the various software should talk to each other. 

Hence, Digital software has to be designed such that it is relatively easy to extend the features and functionality by integrating with other software.

Skills and tools

For easy integration, the software is architected to support the typical integration methodologies like

  • REST APIs/ Web services – The widely used approach in these days
  • SOA/SOAP
  • Libraries and packages

Performance

Goal 

The solution could be easy on maintenance, is easy to integrate with, and is scalable. But if its performance is such that it looks like the user is being tested for patience, then the solution is not usable. The software should respond to user requests on time because this aspect of solution design is what the user is experiencing. The other aspects do not matter to the end-user.

Skills and tools

There are 2 key aspects of performance-driven solution design.

  • Clearly defined User experience performance KPIs – A clearly defined set of Application performance KPIs act as a guiding light for the solution design. This helps the solution architect to understand the numbers against which the solution will be measured. And a good Business Analyst will ask for these KPIs and document them.
  • Well designed solution – Hardware response, Network latency, and the Software define the performance of the software. And software is said to be designed for performance when all these aspects are considered in architecting the software.
  • The usage of Cloud platforms, Software design frameworks helps to some extent.
  • Performance testing is a must.

Security

Goal

Apart from the software performance, the other aspect that could make the software less usable is the Security. Security is essential from Regulatory bodies and Government perspective also. A security breach is an easy way to get negative PR an branding. The need for designing Secure software solutions is at an all-time high in the Digital world.

Skills and tools

The security compliance of software is dependent on the purpose of the software. A banking application has to be differently secured compared to a word scramble game.

  • OWASP  – OWASP is a non-profit organization that aims to make the software more secure. And so it releases a list of top 10 risks. A good Solution Architect would be aware of this and will design the software such that these risks are avoided. This is at the minimum. 
  • Use modern Authentication methods – the software should use modern authentication methods and protocols as authentication is one of the easy entry points for Cyber Attacks.

Digital Marketing (Optional)

Goal

Digital Marketing is a key aspect of any digital business. The solution that is expected to be on friendly terms with Search engines has to be designed keeping in mind the needs of Digital Marketing like Landing pages, On-page SEO, Dynamic and unique URLs (slug), etc.

Skills and tools

From a solution design perspective, the solution architect should take into consideration

  • Landing page needs and data would be served on these pages
  • On-page SEO and how the metadata would be served on the pages
  • Unique and Dynamic URL – This is applicable for e-commerce like a solution where new products and added by the user and each product needs to have a landing page. 

I hope this post helped you get an overview of the various skills, tools and techniques required in a solution architect to design Digital solutions.

Do let us know your feedback.

Happy learning !!!

credits

SDLC image – Cliffydcw / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)

Featured Image by StartupStockPhotos from Pixabay 

You may also like

Leave a Comment