Identifying Software Ecosystem Debt
Software development paradigms have changed several times since the 1960s. In long-lived systems, different coding mindsets applied to the same system over the years. Consequently, software becomes complicated and hard to navigate.
Organisations that manage large-scale legacy software systems, such as large government agencies and multi-national enterprises, can face unique challenges around:
Sophisticated applications gradually become fragile and brittle
Skills become unfashionable and expensive to acquire
Unsupported database technologies
Difficult to update and enhance
These complex landscapes of systems that are integral to the overall functioning of the business, due to the system hinging its ability to operate on records systems that are embedded within legacy code, make it incredibly difficult to evolve and maintain. These systems being maintained and extended by multiple teams, through multiple generations, with their own idea of processes that are inconsistent with each other can lead to large variations of practices used within the code itself. This leaves no definitive way to assess a legacy system. Large-scale legacy systems can reflect an accumulation of technical debt that has never been through remediation phases, which gives practitioners little to no insight to assist with their daily work, leaving a brittle system that is unreliable and difficult to upgrade.
Through research conducted by RedOcelot’s Ben Monaghan and Julian Bass (Redefining Legacy: A Technical Debt Perspective), we found that there were consensuses among 16 high value practitioners, managing transactions cumulatively greater than £10billion, interviewed were that their legacy software landscape is fragmented and inflexible, consisting of many disparate and fragile applications. Because of this, applications can be difficult to update, modify and support, as well as creating hidden dependencies that may not be identified until a failure in the system happens within the software ecosystem.
The practitioners in our study reported challenges with shifting paradigms from batch processing to near real-time customer-focused information systems, making it difficult to add new capabilities. Through our findings, we have identified an overlap between challenges experienced by participants and symptoms of technical debt. Acknowledging parallels between technical debt and legacy software can allow you to identify, measure and manage problems that could be creating large cost incurrences now, and ones that could lead to both software and financial issues in the future.
To characterise this context, we have produced a unique type of technical debt, which we call “Ecosystem Debt.” This debt arises from the scale and age of ecosystems consisting of large-scale legacy applications. By looking at Legacy from a Technical Debt perspective, we can offer practitioners a robust and actionable understanding of the state of the systems they maintain.
RedOcelot offers a free online technical debt audit which can be found here
If you would like to learn more about how RedOcelot can assist in helping you identify Ecosystem debt please fill in the form below.
Monaghan, B. D., & Bass, J. M. (2020). Redefining Legacy: A Technical Debt Perspective. In M. Morisio, M. Torchiano, & A. Jedlitschka (Eds.), Product-Focused Software Process Improvement (pp. 254–269). Springer International Publishing. https://doi.org/10.1007/978-3-030-64148-1_16