Part 2 : Evolving Technology and Existing IT systems : Drivers of Digital Transformation

Harish Kashyap
Insights from ThoughtClan
4 min readNov 17, 2022

--

In my view, any Information processing software system in an Enterprise can be categorised into

  • Data capturing or an Information Exchange System — Any transactional system that is used to capture data, system that allows a stakeholder to participate in a business process, an information exchange platform to collaborate, a system to enable purchase of my products by end customers. etc. For example : My mobile commerce system, Web application to compare quotes and purchase an insurance. etc .
  • Reporting and Decision making System — Any reporting and analytical system, that is read only, typically internal or partner facing, the one that is used to analyse and take decisions that help my business. For example: Performance Dashboard and Analytics system

Applying the need of speed and agility for the above category of systems, the key pattern is to build software/applications with components that are independent, functional, yet loosely coupled and highly integrable with one another. I am kind of building a lego block that can allow me to build and change a larger object the way i would want. This design thought has always been there but has been made implementable with following technology evolution and changes.

  • Evolving User Interface Framework with no coupling to backend. For example: React JS, Angular and Vue JS are matured to a level where one can build rich and responsive web and mobile applications addressing a separation of concern pattern. With Progressive Web App making inroads as well, it is imperative that all enterprise adopt it faster than later.
  • Containerisation of Infrastructure and compartmentalisation of Applications. Infrastructure is more and more virtualised with AWS, GCP and Azure cloud virtualising the hardware, docker images virtualising the Operating Systems, Kubernetes virtualising the Application servers and services and so on. Virtualisation is been made possible because of containerisation. Because the container runs my functional components, i can scale the container independently and scale up and out independently.
  • Micro services as an architecture pattern that allow a Business function to be broken into independent functional component that can be deployed and scaled independently. Key word is scalability and this is made possible because of the containerisation we spoke about. So, today, i can have a Registration service in Java, a Promotion service in .NET, integrate them using REST based web-services accessed using an API gateway by a React JS and React native web and mobile front ends. Key thing here is that i can change my Registration independent of Promotion and scale them independently thus making my Business agile.
  • API gateways and Integration middleware such as apigee, MuleSoft that would allow to orchestrate, manage access and integrate micro services using REST, JSON etc.
  • Event driven systems that help in recognising and reacting to events in a timely manner. Imagine the happiness of a marketing person if he gets to know that the customer he sent an email campaign, is participating in an event related to the same product that was sent in the campaign.
  • Machine Learning and AI Models — This is a vast topic and its application are many, especially in decision making systems. Given the amount of unstructured data that people have captured today be it in Social media text or pictures, Emails, Customer Service Call history etc, there is a larger need to analyse and understand this data. Clearly, today, there are algorithms, models and techniques that can help in clustering, classification and regressing the information so that i can be used to predict, forecast and optimise decision making. For example: One can analyse facebook data [that is unstructured] on a customers perception of the product and tie them with a promotion data that an eCommerce system sent out and predict the effectiveness of the promotion.

These are only an examples of technology evolution. Key thing is that are you leveraging any of these to help your business.

Existing IT System and Code: Drivers of Digital Transformation

One of the other key driver to get my organisation agile is to look at the existing code base, technology landscape and see how it has been evolved. Key questions to answer are:

  1. How large is my code base today? How complex is the dependency in the code? I have seen and been through the DLL hell problem to a JAR war problem to now a Javascript conflict issue. The moment you start using tools to figure out dependencies between the code base then i think its time to refactor the code to a more elegant micro services and loosely coupled architecture.
  2. How much time does it take to change, test and deploy the code? If it takes a sufficient downtime to deploy a simple to medium complexity functional change, then it is time to refactor the code and deployment process. A major and minor release cycles are no more relevant to an individual, business specific applications. Its time to automate regression testing, smoothen deployment process and achieve a zero downtime deployment.
  3. Is this code base still delivering my business differentiation or can i replace it by a Commercial off the shelf product? This question need to be asked even if the system has delivered well in the past. Key thing is whether it is still relevant or has the competition caught up? If so, then its time to refactor or re-engineer.
  4. How dependent is the current IT process and code with my employees. Let us accept it, no matter how good your employees are, any organisation does not want to have a dependency on an employee or a particular group if they happen to be critical for its business function. If the dependency on a particular tool or an employee or a group is too high, then its definitely time to relook at refactoring or re-engineering.

While these are only an example, we at ThoughtClan do a current IT landscape and code quality analysis to help our clients arrive at a Digital Transformation roadmap . Reach out to info@thoughtclan.com for more information.

--

--

Harish Kashyap
Insights from ThoughtClan

CEO @ ThoughtClan Technologies. 25 years of IT experience in varied leadership capacity