IT technologies have become more clever and capable with each passing year. But an old inside custom is undoing years of work and putting a ding on businesses’ bottom lines. We call it, technical debt.
Short-Term Trade-Offs Have Big Consequences
Technical debt is the price an organization pays for choosing the easiest solutions at hand, instead of going for the most effective and dependable ones. In IT, that has a cringy cost. According to studies, developers spend a quarter of their time spelunking and remedying technical debt-related issues. How much is that in dollar amount? Roughly, about 15% to 60% of every dollar of IT spend, says a McKinsey report.
IT companies have kept the embarrassing truth about tech debt a secret for a long time. But over and over, it plays an alarmingly outsize role in halting the wheel of innovation, slowing down business momentum, and eroding away operational agility.
“Technical debt is a fact of life. You can’t eliminate it,” says Quillin.
Tech debt happens because of poor choices and bad business decisions. For example, changing technologies too frequently, or making short-sighted market decisions which have undesirable business impacts down the line.
Over a short catchup, prior to the release of vFunction’s new observability product, Architectural Observability Manager (AO), we asked Quillin what a piling technical debt means for IT organizations.
“Applications age. Business value starts to go down as technical debt goes up. If you let it too far out of hand, velocity, innovation, scalability, and all associated things start to hit you,” he cautioned.
This is central to what vFunction’s newly released technology is about. As is evident in the name, Architectural Observability Manager is an observability solution whose chief function is to aid organizations to stay on top of their technical debt. The tech debt it helps to resolve is around application architecture.
Architectural Observability Manager does this by visualizing the impacts of tech debt in the application architecture. Doing this meets two key objectives – avert what is called bit rot technical debt, which is tech debt over time, and ultimately keep business curves from taking a downward dive because of it.
“We’re trying to reverse the trend and invert the curves so you can manage technical debt and help the portfolio value increase over time,” said Quillin.
Measuring and Managing Tech Debt
All applications devolve over time as the codes within them start to become old and inferior, often introducing new problems and complexities. This happens, and is worsened when more people work on applications, adding to the original product to the point where incremental changes start to diminish its former efficacy and resilience.
This unleashes a laundry list of symptoms ranging from slow engineering velocity, manifested in the forms of long test and release cycles, to limited scalability, to poor customer experience. What existed unnoticed in the background, suddenly becomes a source of inescapable chaos during deployments.
“It takes longer to release products, to add new features because when you touch one thing, it has so many dependencies. It is this big ball of mud – tests are harder, velocity slows down, business requirements are unmet,” noted Quillin.
These are topped with a slow productivity decay resulting from developers spending too much time and effort on resolving technical debt issues. It’s little surprise that teams feel overwhelmed around releases.
Being blissfully unaware till the last moment is not an option. “You want to be able to manage it, know when it’s getting critical for certain business domains,” says Quillin.
In plain-speak, what causes technical debt in the application architecture context? It is a combination of things, and not always bad code. Sometimes, it accrues from relying on antiquated software that are insufficient and in need of updating. Other times, it stems from an aging code that has long outlasted its usability. In other words, anytime a decision to choose a quick and easy path is made over an effective and resilient one, it has some unpleasant consequences.
vFunction’s Architectural Observability Manager
One of the ways to go around technical debt and subsequently, improve architects’ efficiency is by understanding the architecture well, and identifying the best ways to improve older code and substitute them with better ones – a journey that starts with high-resolution visibility.
“The value of architecture, in general, has been lost a bit with heavy sprints with Agile manifesto. How do you get the architects reinvolved in the process? By giving them a breakdown of how to take a set of issues they’re seeing, give them the tools to track it, and help own technical debt,” he said.
Architectural Observability Manager is an AI-powered observability and automation platform that unlocks continuous monitoring and modernization. “We’re bringing in observability and shifting some of the left into the software development lifecycle, in architectural tasks and stories, and helping architects identify and fix architectural drift as it happens,” said Quillin.
The solution probes into application architecture and analyzes it through machine learning. The result is faster identification and root cause analysis of sources of tech debts that require immediate action.
It functions in a continuous cycle of analysis, learning and observation. AO performs broad static and dynamic analysis of all applications, providing specific multi-app views, and general organizational tech debt profiles. It learns about intricate resource dependencies and connections within the architecture that enables it to do quick risk calculation and chart the best course of action.
The machine learning algorithms help search out clusters of activities, see classes and resource interdependencies, and dead codes from the production data.
“A lot of our customers are using this live so they can see how the application behaves. We are observing the application architecture in the wild in production,” informed Quillin.
And not just application behavior. This also helps see dead flows such as unused pieces of code that are eating up bandwith and making the system vulnerable, thus giving an inside out and outside in view and tying that information into the architecture story, he added.
From the data it gathers, a baseline is established to detect release drifts.
Architects are intimated about all architectural events, and provided a list of to-dos on sprint-by-sprint basis. With automation taking over things like creating backlog of modernization stories and lists of troubleshooting recommendations, it’s that much easier to perform fixes like removing dead codes, and finding dependencies.
Besides intuitively pointing to a set of debt developing around a certain domain, it helps prioritize the areas in need of modernization, over the not-so-important areas of maintenance and plumbing. “It really helps to know the value streams companies are trying to optimize and where does that value align to the business domains, and where the technical debt is coming from,” he notes.
AO targets a series of use cases, namely, full application transformation and incremental transformations from monolithic to microservices architecture. It is best used for architectural tech debt management through continuous monitoring and resolving. Thirdly, it is recommended for architectural drift prevention in well-designed microservices applications.
The refactoring engine is a separate product but can be added on for a small cost. vFunction has tightly integrated the two products so that anytime, an application needs modernizing, users can simply build a refactoring module and get started. “It used to be built-in, but we made it an add-on – we’ve found that a lot of people aren’t ready to go directly to microservices – just to allow people who want to do application transformation to be able to do it easily,” said Quillin.
It goes without saying that technical debt must be tamed before it snowballs into a vortex of challenges and hurt business outcomes. vFunction’s Architectural Observability Manager is a compelling tool to eliminate the obscurity around technical debt. Using it, companies can quantify the ways it hurts businesses, and find what specific components need attention. With its AI-powered analytics and inference, architects can not only see problems as they are born, but also measure and manage the symptoms before they scale.