Application Maintenance Using Platform-based Approach – A Point of View

In today’s digital era, software applications have become a fundamental aspect for any enterprise to drive their business. However just developing these applications once, does not end the journey there, these applications need to be maintained so that they can work as per the requirements and expectations. Also, with the advent of new technologies and changing customer demands, it has become vital for the enterprises to have an application maintenance plan to stay competitive & meet wavering needs of the customers.

Applications can become unstable and non-compliant if not maintained regularly. Application maintenance can enhance the stability of the applications, reduce support cost, and eliminate downtime. Once the applications are developed and deployed, maintenance can help in doing modifications, necessary upgrades, and reassessing applications to improve their performance. Application maintenance extends beyond addressing defects, patching vulnerabilities, and making minor enhancements to align with business goals. It involves proactive measures such as upgrading & modernizing the current technology stack, updating documentation, code optimization, and managing technical debt. These efforts aim at enhancing the performance of both existing and newly developed applications.

Categories of Application Maintenance

  • Corrective Maintenance – This involves fixing defects or bugs that are discovered once the application is deployed. This type of maintenance helps in restoring the application to its intended functionality, ensuring that it is reliable and usable
  • Adaptive Maintenance – This involves essential modifications/upgrades to the applications, enabling it to adapt to environmental changes such as shifts in hardware, software, or customer requirements. By ensuring applications evolve alongside changes in technology and policies, this maintenance type guarantees their ongoing relevance and effectiveness
  • Preventive Maintenance – This deals with identifying and addressing issues that may not be significant currently but could potentially cause serious problems in the future, by negatively impacting the application’s performance. It encompasses code optimization, testing, updating documentation and conducting code reviews to proactively detect and address issues before they can impact the application
  • Perfective maintenance – This deals with improving application’s current features and functionality. It focuses on refining and removing old and unwanted features, as well adding new features to improve application’s quality and usability

Challenges in Application Maintenance

  1. Lack of documentation – If applications are not documented well, it can be extremely difficult to understand how they work, as the team that develops the application may not be maintaining it. Hence, documentation is vital to mitigate the risk of knowledge silos during the transition phase
  2. Legacy code – Maintaining older applications with outdated technologies can be laborious as it may require specialized skills and knowledge
  3. Lack of test cases – Applications that have not been rigorously tested can be difficult to maintain, as it becomes a challenge to identify and fix problems without understanding the application’s behavior under various scenarios
  4. Performance issues – As the application and its environment evolve, the performance of the application must be continuously monitored and improved. However, this is complex and time-consuming as it requires deep understanding of the applications, its underlying architecture, and data structures
  5. Technical debt accumulation– Factors like inadequate testing, usage of obsolete or deprecated technologies, and not adhering to the coding standards can lead to increased technical debt, which can further impact application maintenance by affecting its performance
  6. Finding the right skill set – To identify the resource with necessary skills and knowledge to keep the applications up-to-date and run smoothly can be time consuming

These are just a few key challenges that can result in issues related to stability, flexibility, security vulnerabilities, application failure and data loss.

How to mitigate the challenges?

The challenges listed above can hinder application performance and there is a need to mitigate these risks.  Listed below are some the ways that can help overcome the challenges associated with application maintenance:

  • Regular code reviews
  • Code documentation
  • Testing
  • Observability dashboards
  • Managing Technical debt
  • Migrating to latest technologies & frameworks

Yet, there is a necessity to simplify the complexities for a smooth application maintenance journey.

Platform-based automation is the key:

Platform-based automation can help in reducing these challenges associated with application maintenance.

  • Provides out-of-the-box automation to streamline routine tasks, eliminate manual interventions & reduce chances of human error
  • Enforces best practices across teams and projects, thereby bringing in standardization
  • Offers centralized platform to manage different aspects of application maintenance in a seamless, integrated manner

Infosys Live Enterprise Application Development Platform is an excellent example of how platform-based automation can tackle the challenges associated with application maintenance. It accelerates the application maintenance journey by helping enterprises analyze, upgrade, modernize and maintain existing applications. It provides AI augmented capabilities to generate code documentation, unit & functional test cases for the given applications. It helps enterprises measure and proactively manage technical debt and helps in modernizing/upgrading obsolete technology stack to reduce technical debt. It provides various observability dashboards to observe resource usage, analyze application logs, trace microservices for debugging & traceability. It provides AI/ML led insights on release confidence score along with providing insights into team’s & developers productivity.

The platform unlocks valuable information from legacy systems and helps in creating documentation to better understand the legacy applications from modernization perspective. It enables up to 20-30% effort reduction on technology modernization and test automation. Deep insights into all sorts of technical debt are provided to ensure high code quality. The platform also interfaces with many ALM tools to provide data-driven insights that enhance sprint velocity, release predictability, and product quality.

Client success:

Infosys has successfully implemented several application maintenance projects for clients across the globe, using platform-centric strategy. We partnered with a US based investment management company to reduce their technical debt that was accumulated as result of ageing technologies, data redundancies, lack of standardization and lack of technology rationalization. Infosys Live Enterprise Application Development Platform was deployed to provide debt details, suggestions to remediate the issues and debt trends across applications and releases. Rules specific to client requirements were also incorporated to capture the debt details and have a better control. It helped in reducing the technical debt by 10%.

Similarly, a US based tax & immigration solution provider wanted to enhance release accuracy & predictability, as well as measure developer performance. Leveraging the platform, client was able to measure developer’s performance for product releases based on commit velocity, code quality & process adherence. The platform-based approach provided a single glass pane view for CXO, engineering directors and product owners to track insights across multiple project types. This helped them release new feature with greater confidence.

Conclusion

Development gives life to the application; however, maintenance keeps it alive and healthy. Application maintenance can be cumbersome due to the complexities involved. However, Platform-based automation brings in desired automation to help enterprises understand their legacy applications, create documentation, carry out necessary technology upgrades and perform testing. It brings in the observability that can aid in debugging and helps in effective tracking of release confidence score and developer productivity. Platform-based automation enforces best practices across the organization to bring in standardization along with reducing the technical debt.

Author Details

Heena Dua

Heena Dua is part of Modernization Practice at Infosys. She is responsible for developing GTM of Infosys Live Enterprise Application Development Platform and helps global presales, sales and account teams for integrating platform into their solutions and carry out client conversations. She has keen interest in open source and emerging technologies.

Ajay M A

Ajay is a Senior Manager with the Modernization Practice at Infosys. He has 19+ years of experience and handled various roles with Infosys. He is the product owner of Infosys Live Enterprise Application Development Platform

Leave a Comment

Your email address will not be published. Required fields are marked *