Technology Migration: a need for staying competitive!
Technology Migration

Technology Migration: a need for staying competitive!

Migration in general and technology migration, in particular, are often caused by either compulsion or ambition. When it happens because of compulsion, it creates an emergency and puts pressure on everyone in the ecosystem. On the other side, when it happens because of ambition, you can carefully plan and ensure the best possible outcome without causing too much stress on the stakeholders involved in planning and execution.

In the software world, there is a common saying: "If it is working, don't change it!". That is not bad either, as the purpose of the business is to create the desired value, and software is just a means to the end. However, staying aware of potential risks and taking a conscious decision is always helpful. If we are afraid of change (migration in this case), then we are just praying for things to keep working!

While you may not be changing anything at your end, the technology world is moving at a pace that none could have imagined. Being proactive is the way to go!


In this article, I will be touching upon the following so that you can plan your migration proactively:

  1. Reasons for migration
  2. The aspects you should consider while migrating
  3. The approach we recommend
  4. The benefits/success that you should target
  5. Continuous Improvement Strategies that you need to build


Reasons for Technology Migration

There are many reasons for migration of technologies, however, our customers have come to us for the following reasons:

  1. Confusing and Unpredictable Licensing Terms and Conditions and strong alternate open-source options. For example, we had a couple of Ext JS customers coming to us because of the complications they faced with the licensing, which impacted them and their customers significantly.
  2. Obsolete and Unsupported Versions of the current technology. For example, when the flash support ended, there was a rush to migrate flash applications into HTML5 equivalent apps.
  3. Limitations of Current Technology are creating inefficiencies and preventing faster innovation. For example, you are facing security, availability, scalability, deployment challenges, etc.
  4. Better Technical Options are available, and you proactively want to switch to the newer technologies for better business value. Modern technologies usually factor in futuristic integrations and compliances, thus targeting a faster innovation. Hence you want to avoid the risk of working with outdated, unsupported and potentially uncompliant technologies.
  5. Lack of Skilled Engineers and Drop in the Interest of Development Community in the current technology. That puts pressure on hiring, managing the aggressive timeline and pushing the technical boundaries.

Key reasons for technology migration


Aspects you should consider

Every migration allows bringing in a profound improvement in the current state of technology environment. While you may take a big-bang approach or like to do one thing at a time, being aware of the possible opportunities helps you make a conscious decision.

Whenever we work with customers on any kind of migration, we explore the following areas

  1. New technology stack vs the latest version of the current tech stack.
  2. As-is migration vs moving towards modern approaches like Low code and No Code (LCNC) or revamping the User Experience (UX)
  3. Openness for Backend Refactoring - staying with Monolithic vs Microservices or using the existing web services vs. openness to changing it.
  4. Staying with the current infrastructure or moving partially/entirely to the cloud. Also, willingness to be cloud-agnostic (e.g. focus on containerization) or tight alignment with cloud-native services?
  5. Data migration vs Data modernization and their aspirations from the data.
  6. The level of Test Automation, Infrastructure Provisioning, DevOps, CI/CD, Code Coverage, and overall monitoring & governance desired.
  7. When will the end-users start using the migrated application (s)? Will they simultaneously access part of the old system and all of the new system or will the complete old system stay accessible to them?
  8. Finally, the expected benefits of one or more decisions taken above!

Through a careful study of the existing pain points and the desired gains followed by detailed planning of the agreed initiatives, it becomes easier to ensure the business benefits within the desired period. Of course, a firm decision on the above considerations drives the architecture & design and the overall effort and cost. But having an explicit discussion around them gives the business much more comfort than just jumping onto the migration journey.


Approach We Recommend

We find the (RI)2 model, which includes Research, Reuse, Implement, and Improve as a key for long-term sustained success.

No alt text provided for this image

Research

Many times we take research/scoping for granted as we feel that the application already exists and hence the scope is clear. The fact is that you still need to create an execution plan, you do need to commit a cost and timeline, and you do need to promise a specific benefit. It is crucial to study the as-is situation, reach a common understanding of the to-be, build the required collaboration mechanism with the existing team and take them on this journey with you to get the best support.

Reusable and Reuse

While the reuse sounds very obvious and building reusable components look like an immediate benefit, it doesn't happen by default. You do need this three-step process.

  1. Identify reusables
  2. Build & Improve reusables and
  3. Use reusables

Implement

Effective implementation is the key to success. Look for every possible opportunity to improve the performance and reduce the technical debt to ensure that you are able to add more capabilities faster and bring in frequent innovation.

The benefits that you should target

While the genesis of any new investment is ROI or meeting the compliances, sometimes customers constrain themselves and just choose a technology migration rather than a holistic migration to ensure overall benefits. Some of the expected benefits that can be derived during the migration are listed below

  1. Incorporation of platform thinking and reusability to ensure that future innovation becomes faster and more predictable
  2. Customer Experience CX) in general and User Experience (UX) in particular are non-negotiable for getting the best out of a given software. The UX improvement should be factored at every possible opportunity to change the software.
  3. While there are solutions you need to deliver in one go, given an opportunity, we recommend that businesses realize value as early as possible. Thus a co-existence of old application and new application is one of the paths to ensure a gradual transition of customers to the new asset. That, of course, puts pressure on the planning, but iterative and agile execution gives businesses multiple opportunities to add more value during the migration.
  4. Automation, Process Adherence and Governance. We recommend Unit Test Automation, Regression Test Automation, CI/CD implementation, monitoring of code coverage and code quality, VA/PT, Performance Testing, etc. to ensure that after every release, the quality improves.

Continuous Improvement

While Continuous Improvement is not necessarily linked to migration, we all want it, and often don't plan for it. I firmly believe that any significant migration effort must consider how the future changes would take place and what kind of process, monitoring and quality checks would be needed to ensure that the overall software quality keeps improving. One thing is true: things will change in future, and the changes will be fast. The question is are you prepared to face the changes? Are you competitive enough to win when things are changing fast around you?

Pradeep Lavania

CoFounder and Director at WalkingTree , Qritrim

2 年

So apt on the tech trend !

回复
Dhananjay Singh

Deputy Chief Engineering Delivery @NPCI

2 年

Nicely articulated Alok.

回复

要查看或添加评论,请登录

Alok Ranjan的更多文章

社区洞察

其他会员也浏览了