Software engineering leaders must act to manage integration technical debt


Technical debt is a normal and unavoidable side effect of any IT implementation. It occurs as teams “borrow” against quality by making sacrifices, taking shortcuts or using workarounds to meet delivery deadlines. Eventually, this can impact performance, scalability, resilience, complexity, agility or similar characteristics. 

The impact of technical debt in integration can be much higher than in a single application as it is used across multiple systems. It is in the category of architectural debt: foundational and embedded in applications and portfolios. If it is not well managed, it will affect the core software qualities of all applications using the integration.

However, integration is often approached as an afterthought, making it more likely to incur technical debt as it has been implemented with no consideration given to long-term maintenance, reuse and change management.

As technical debt grows, the effort to maintain the integration rises. This reduces the ability of software engineering teams to respond quickly to changing requirements. As a result, technical debt becomes an inhibitor rather than an enabler of agility, creating process bottlenecks and slowing down the delivery of new initiative.

Integration technical debt cannot be completely avoided. However, approaching integration strategically and following best practices for integration development can help to prevent many of the causes of it. 

Software engineering leaders are generally responsible for integration, and also for managing integration technical debt. Gartner has found that integration reports back to 60% of software engineering leaders, making it the third most common function that software engineering leaders are responsible for. Given this responsibility, it can be difficult for software engineering leaders to build and manage integration more effectively to ensure technical debt is not hindering innovation and growth. 

Software engineering leaders can take the following actions to manage and reduce integration technical debt. 

Approach Integration Strategically to Reduce Integration Technical Debt

Approaching integration strategically requires buy-in from business and technical stakeholders, so it is important to build awareness of how integration technical debt increases software development and maintenance costs and reduces agility. 

There is no one-size-fits-all strategy that will suit all organizations. The optimum strategy will depend on what the goals of integration in the organization are, who will assume the responsibility for it and who will be responsible for building and maintaining any integration required. 

Accept that some integration technical debt is inevitable and focus on the debt that is most damaging. Software engineering leaders should be less tolerant of debt that impacts systems that need more agility than others. If there are pieces of integration that need to keep changing, then the debt will be more impactful than in some piece that is connected to stable systems. And in those systems, it may even make sense to just accept the debt in order to prevent it. 

Identify the Causes of Integration Technical Debt

Software engineering leaders must know what technical debt exists and how it is impacting the business. A poor understanding of the big picture results in limited visibility leading to the most hyped integration issues capturing teams’ mind share rather than those that are genuinely most problematic. 

A few of the top contributors to integration technical debt include:

  • No clear ownership or responsibility: In many organizations, who owns and is responsible for maintaining each integration is unclear because the responsibility for the integration is initially assigned to the project that requires the new integration to be built.
  • Outdated integration strategy: In many organizations, the approaches to integration have either been in place for a decade or more, or have evolved ad hoc in response to one-off integration challenges. A successful integration strategy requires the use of multiple technologies, but organizations often fail to define what the correct tool is for each use.
  • Underinvestment in integration tools, people and processes: Software engineering leaders struggle to justify strategic investments in integration capabilities beyond the bare minimum required to tactically support individual business initiatives. As a result, they continue to try to solve new integration challenges using technology and processes that have been in place for years which can lead to inefficient and hard-to-maintain implementation and to problems with addressing new requirements. 

Software engineering leaders should watch for signs indicating that integration technical debt is impacting the business effectiveness. They can do so by documenting the time taken to integrate new systems and application outages, which might lead to them identifying integrations as the underlying cause of problems. 

Prioritize Technical Debt Items That Need Remediating

Organizations have limited resources and time to manage technical debt in general, so they must consider where to focus. Addressing integration technical debt should be a component of the overall strategy for dealing with technical debt, with integration debt items prioritized against other technical debt the organization must manage.

The impact of technical debt is not equal across all instances. Some technical debt items need to be addressed as soon as possible, while others can be postponed or ignored. Therefore, it is important to be able to identify and prioritize the items that must be addressed immediately.

Approaches for prioritizing technical debt items in applications can be applied to integrations. This means prioritizing technical debt items by assessing their risks and business impact against the costs to resolve them.

Software engineering leaders should reduce the impact of integration technical debt by defining a strategy for building and managing integration across the organization and making conscious decisions on when to take on debt in order to deliver more quickly. Prevent integration technical debt growing out of control by identifying the underlying causes of it and continuously monitoring integrations. Manage the costs and consequences of integration technical debt by prioritizing the technical debt that needs to be remediated. 


You may also like…

How to maximize your ROI for AI in software development

Q&A: Solving the issue of stale feature flags



Source link