Software Architect, Application Architect, Solution Architect or all of the above?
In the past few years, the information technology and the software development landscape has dramatically changed.
Advances in computer processors, networking and storage technologies, along with Cloud and mobile led to the digital transformation evolution and the introduction of plethora of new business use cases focusing on providing exceptional customer experience.
Digital transformation is focusing on creating digital advantage. It is a paradigm shift in the way businesses promote, market and sell products and services, even a paradigm shift in the way humans communicate and socialize and interact with each other.
Voice recognition, geo-fencing services, IoT, smart remarketing, know your employee and customer, real-time personalization, augmented and virtual reality and many more business features that depend on Fast Data, AI and ML.
Along with the new use cases came a new set of user expectations, such as the desire for more responsive and constantly connected apps.
One of the main drivers in the digital advantage space is the faster time to market hyperdrive. The business cannot sustain the historically six to 8 months development lifecycle. That legacy timeframe is now reduced to weeks, which lead to the flourish of the agile software development movement and the overwhelming support for APIs first architecture and Microservices architecture.
Consequently, the above business paradigm shift led to a paradigm shift in the information technology architecture landscape.
The Traditional Information Technology Architecture Roles
Aside from the infrastructure or technology architecture or the governance enterprise architecture, we used to have separate roles reserved to the software development lifecycle.
Software Architecture is focusing on reducing the cost of software development and maintainability by promoting reusability and constantly improving the code quality.
Application Architecture is focusing on connecting the dots and building a vision and holistic view of the system and solutions.
Solution Architecture is a one vague area where the term is used for a mix of technology and application architecture, someone who possesses a good understanding of both worlds and can create end-to-end design and make decisions on creating, building, deploying and maintaining a complete solution.
Solution Architecture in the Modern Era
During the course of coaching and providing services in the solution architecture space, we observed that; the agile movement is not compatible with the legacy architecture team structure where the architects are working outside the agile development team.
The sprint cycles require the architect to be embedded in the team, however, it is not pragmatic to have a dedicated software architect, a dedicated application architect, a dedicated technology architect and a dedicated solution architect embedded in that agile delivery team.
The modern Solution Architect is a Technical Owner & Leader
Now, we see the organizations subconsciously, seeking technical owners as solution architects.
If we use a mainstream example of building a payment system, decision making system or even a complex ecommerce or order management system; that system will be broken down to a set of Microservices or Microsystems. The organization will look for someone possesses the following technical traits combined as a solution architect, technically leading the design and delivery of an epic:
- Application Architecture
A leader who can utilize modern architecture concepts and design patterns such as Reactive Microservices Architecture to quickly deliver and integrate secure solutions that supports the Business and Product owner vision.
- Software Architecture
A leader who can guide others to deliver a quality and secure code within the microservice space, who can utilize design patterns such as Observer, Factory, Strategy, Command, Decorator, Adaptor, etc.…
- Cloud Solution Architecture
There is no doubt, Cloud deployment is providing the foundation for innovation and fueling creativity due to the faster time to market approach. However, Cloud cost is a major concern, and organizations will look for someone who understands secure Cloud architecture and can deploy cost effective solutions in a specific cloud environment.
Last but not least, continuous integration and continuous delivery are at the cornerstone of modern software development. The organization cannot have a functioning CI/CD pipeline without a solid understanding of testing automation and how all the pieces fit well together.
Solution Architecture, Technical Owner Essential Soft Skills
Aside from the technical skill and the traditional soft skills, the following three soft skills are essential to the success of the modern era solution architect:
- Understanding the Business Value
The modern era solution architect needs to make decisions and build solutions based on business values, she or he needs to think as a business or product owner, appreciate the consumer view and can economically justify their decisions.
- Forward Thinker
The technical owner is a forward thinker who can think outside the box and can identify opportunities to add business value using architecture and technology whenever is possible.
- Adapting to the Paradigm shift
This is someone who will not resist the change and prefer the status quo, the information technology space became extremely dynamic and we all have to open our minds and find pragmatic ways to support continuous improvement as much as possible.
It is not easy to find the modern era solution architect or technical owners; we can all see how the organizations struggle to define and accept that new role and making the necessary cultural changes early enough to adapt to the paradigm shift.
At Logic Keepers, we specialize in providing training and services to enable the organizations to adapt to the new era, you might have a solution for this challenge within your existing workforce and structure, but you don’t see it.