Solution Architecture — A Challenging Perspective
While each phase of the project is equally challenging and important for the Solution Architecture team, the focus should always be on the identification of right Pain points / Challenges to address, know the customer’s non-functional requirements to include, and finally architect the most appropriate and economically feasible solution.
Identification of right Pain points / Challenges: In order to identify the right pain points, one should be a good listener and understand on why the change is required and why do the Customer need to change the process or system that they are currently using. Change, though inevitable, it is always resisted and hence we need to understand and address it appropriately such that it should be felt like the transition and not a paradigm shift. Hence we need to understand and draft the AS-IS architecture, envision the TO-BE architecture and then finally map them to identify the gaps matrix. This shall provide a long-term road map along with the short-term quick wins to overcome the challenges in an agile way.
Non-functional requirements: Many a times the focus of the architects and consultants will remain in addressing the functional requirements of the system ignoring the non-functional requirements such as ‘-ilities’. The solution that is architected should definitely serve the users requirements and above that solution should cater for Maintainability, Operability, Scalability, Security and Performability. These requirements will help to design a robust system to hold the solution.
Appropriate and economically feasible solution: An architecture when designed should neither be under-architected nor over-architected. We need to bring the best of breed technologies to address the challenges. Engage SaaS based services wherever applicable by reducing the On-Prem footprint that translates into the reduction of both Capex and Opex cost. If the requirement is just for file exchanging, there is no point going for an API solution unless required and just stick to SFTP instead. But of course we need to consider and consolidate all the requirements in the solution before zeroing in into such decisions.