Software Architect, Application Architect, Solution Architect or all of the above?
In the past few years, the information technology and the software development landscape 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 distinguished 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.
Mobile enablement, voice applications, geo-fencing services, IoT, smart remarketing, know your customer or employee, near real-time personalization, augmented and virtual reality and many more business features that depend on large-scale Computing, Fast Data, AI, and ML.
Along with the new use cases came a new set of user’s 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 life-cycle. 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 enterprise architecture, we used to have other architecture roles reserved for the software development lifecycle.
“Application Architecture” is focusing on connecting the dots and building a vision and holistic view of the system and the associated solutions.
“Software Architecture” is focusing on reducing the cost of software development and maintainability by promoting reusability and constantly improving the code quality.
“Solution Architecture” was a one vague area where the term was reserved 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. The “Solution Architect” term was commonly associated with the consulting space.
Solution Architecture in the Modern Era
Logic Keepers is focusing on providing solutions in the digital transformation space and we use modern application architecture techniques to solve the modern business use cases mentioned earlier, and during the course of engaging many customers in that space and coaching and mentoring other architecture teams, we experienced this architecture evolution. It’s now clear to us that; the modern application architecture movement is not compatible with the legacy architecture roles.
The legacy architecture role is not compatible with the agile methodology; 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 system.
The modern Era Solution Architect is a Technical Owner & Leader who understands the business domain model
Now, we see the organizations seeking technical owners as solution architects.
The modern era solution architect is solving business problems using technology. All the designs and technical decisions are supporting a business value. We no longer can afford to use certain technologies because it’s cool or for career advancement purposes only.
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 business and technical traits combined as a solution architect, technically leading the design and delivery of an epic or a product:
- Application Architecture
A leader who understands the business domain model and can utilize modern architecture concepts and design patterns such as Reactive Microservices Architecture to create the application components design. The design is going to support the business goals and requirements.
The solution architect will work with the product owner to understand the business domain model and the business goals.
Examples of Modern application architecture Design patterns and design techniques that used in that space, are Domain Driven Design and Hexagonal Architecture.
- 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 platforms are 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.
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 will not 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, please visit our website to explore our coaching and enablement services.