Decision Making on a Software Upgrade or Decommission with Data Mining and Machine Learning Techniques in the Information Technology Industry - Kowdeed, Ravikanth (Digital Repository of Theses, 2025)
Background: As part of Digital Transformation needs, the Organizations are investing more in Technology and Infrastructure like software upgrades, software renewals, software replacements, Cloud migrations etc., apart from investment in Business, People, and Processes. In this context, it is not an easy task for stakeholders to decide whether to go for a software upgrade or to replace it with another software. There is no unified approach or solution available today which proactively integrates key data such as Software Versions, Platform Compatibility, Dependent Software versions, Investment and Operational Costs, Open defects and fixes, Software Performance Metrics and Service level objectives. Due to this, the so-called decision making is a manual and tedious process taking time and effort. Research Method: This research is quantitative and experimental, tries to simplify the decision-making process by conceptualizing and prototyping a recommendation system that is proactive and data driven in nature. This gathers information from the Software Engineering Life Cycle stages and apply Pareto law on the metrics - 80% of consequences come from 20% of causes - after establishing relationship between the data sets, executing Machine learning models on this big data. This research proposes relational data modelling of input data, store the input data in database tables, apply Data Mining and Machine Learning techniques on the aggregated data to derive recommendation insights on a regular basis.  Software assets versions (source: Software release documentation)  Platform compatible versions (source: Software feature documentation)  Dependencies with other software (source: Software release documentation, Tools and Frameworks to manage Compile and Run time dependencies)  Operational service level agreement needs (source: Business requirements)  SLA and SLO requirements (source: Organizational Operational metrics)  Quality assurance and Systems performance metrics (source: Organizational Operational metrics)  Cyber Security vulnerability fixes (NVD reported issues and resolutions)  Number of defects and fixes in timely manner (Defects and resolution as tracked at software level and as provided in Software release documentation)  Investment Cost (Software cost)  Operational Cost (Software cost for renewals/patches/maintenance)  Estimated cost for replacement (Cost of new software adoption and decommissioning the current software) Limitations of this Research: Every Organization will have own challenges and learnings in modernizing their software systems. While the software vendor release notes are publicly available, the release documentation is precise, and system dependencies are complex. All this data needs to be collated and analyzed to define data relationships and variables. While a prototype process and framework are proposed, the actual derivations and recommendations on this time series data in organizations depends on lot of other factors including constant reviews and uploading them back to the public domain for reuse, which remains out of the scope topic. Opportunities for future: With evolution and adoption of Generative Artificial Intelligence, Organizations may leverage their own data in conjunction with other publicly available Organization case studies. This research can be further expanded to build recommendation systems using private Large Language Models which provides capabilities of having Chat bots on the Organizational data considering data privacy. The overall idea and concept remain the same i.e., have a user interface that feeds the input data set, have a background process that performs data mining and provides graphical representation of data variables and outliers, have a presentation layer that chooses the machine learning model that triggers process of generating recommendation if software needs upgrade or replacement thereby decommissioning the existing software.