30 March, 2020

Why Tech Upgrades?


Context

As technology plays key role in enabling core business objectives, it does make sense to review the technology portfolio periodically for possible enhancements. This will bring in better ROI in-terms on lower running costs, increased productivity and better customer service or scale to achieve ever-demanding business requirements.
There are many reasons why one need to continue investing in technology – and consider regular upgrades and make this as essential part of strategic decision. Following are few focus area one should consider while upgrading the enterprise wide applications.

Reduced productivity

In many enterprises, most of the application, built decade ago, lacks support of development platform, and associated best practices. These applications not updated with latest platform specific security patches, enhanced language/framework capabilities for robustness and reliability. This is leading to breakdown of the applications frequently. Hence, overall team productivity is reduced and causing challenges around customer service.

Lack of developer community support

As technology is ever evolving and most of the developers would prefer to work on latest breed of technology stacks. The legacy stacks will always pose challenges to find right talents to support such applications. It is important that, key applications would go periodic technology upgrades to harness power of latest platform capabilities along with good community support and availability of talents to support such application portfolio. It will lead to boost the morale of the staff with latest periodic technology trainings. Otherwise, many frustrated individuals (specifically millennials) would leave the job.

Better User Experience

Most of the time legacy applications missing good user experience. It is very important to engage the application users with better user experience. Most of the applications lacks responsive design with multi-channel support – like mobile devices. The strategic decisions shall be applied to overhaul the UI layer of the key applications with organization specific UI ergonomics / guidelines.

Unified Hosting & Release Model

Enterprise applications deployed in heterogeneous environments. It is very important to bring all application deployment to uniform platform – such as Azure PaaS. Also, leverage modern application deployment architecture using frameworks such as Docker and Kubernetes for standardized release trains. This would help release application fixes / features in more reliable manner.

Remove On-premises Mainframe dependencies

In order to overcome the latency issues, it is important that, tee intermediate Azure SQL / Cosmos DB shall be designed to make periodic updates from on-premises legacy databases to Azure environment. This will enable applications to make call natively in Azure environment. In addition, SOAP Webservices to be remediated to REST API. Moving towards REST based API eco system would help to modernize the service layer with latest architectural patterns leading to better service.



Leverage modern architecture style

Most of the applications follow old monolithic style and lacks good design specifically around long processing jobs leading to sub optimal performance. However, apps moved to cloud but underlying technical debts remain same. It is very important that we refactor applications to be cloud native by taking scale and performance of azure services to have better performing apps.

Better Maintenance

With good code refactoring of key modules and providing comprehensive unit test suites would lead to better diagnosis of production issues. This will increase the quick turnaround time of production tickets, as replay of unit test suites would identify application abnormal conditions quickly.

Streamline of knowledge

The uniform technology stacks and deployment/release environment would help to streamline the knowledge on applications. In addition, this would help better organize the trainings for new joiners.

No comments:

One new learning / day - however small it is

Read a blog / or article Watch TED talk  Read a small self-help book (many free eBooks available with less than 100 pages/can be completed i...