In my previous article, we examined how technology debt plays a role in increasing operational risks. We identified a range of contributing factors, including strategic drivers, partially implemented architectures, disparate systems, and manual procedures. Let’s now look at these factors more in-depth, evaluating their significance from the standpoints of enterprise architecture and resilience.
Strategic Drivers: Shaping Resilience Through Prudent Strategy
When selecting a strategic approach regarding technology spend and investment, there are going to be direct impacts on operational resilience. The two most prevalent approaches tend to be "lift and shift" and "sweating the assets," and both can have significant impacts.
“Lift and shift” can perpetuate existing baseline issues, which may already have technology debt. While “sweating the assets” – as an approach aimed at cost efficiency and maximising asset depreciation – frequently accumulates technology debt over time.
Organisations tend to forget about ageing assets until a critical incident forces them into action. This mounting debt is fuelled by factors such as integration complexity, lack of support for ageing products, patch deficiencies, and retention of outdated knowledge by employees.
Tragically, by the time these challenges surface, your system might be irreparable, severely undermining resilience. To take a more prudent approach, set a defined duration for "sweating the assets" and craft a comprehensive upgrade or migration plan. But beware: executing these measures can be difficult without clear ownership and accountability. This becomes even more crucial when assets are co-owned, amplifying complexity and emphasising the need for proactive mitigation of technology debt.
However complex system ownership is, it’s vital to have accountability and a single reference point, and it will require stakeholder engagement and alignment to make it successful.
Partially Implemented Architectures
Architects consistently battle to meet product owners' demands for added features while working within budget and delivery constraints. This often results in compromises in architecture delivery, resulting in partial implementation. Although these architectures may fulfil phase-specific requirements, they remain incomplete until reaching their intended target state.
While maintaining an architecture in an acceptable state is crucial, partial implementation carries inherent operational risks. Budget cuts during the architecture lifecycle might lead to transitional architectures lacking essential resilience measures. Additionally, product owners might curtail testing to cut costs, heightening the risk of resilience issues.
Ultimately, when these decisions gain approval from the business, this creates a waiting game where the impact on resilience is a matter of time. From an architectural standpoint, it is crucial to engage in prudent risk management to ensure the business comprehends the consequences of the decisions it makes.
Diverse Systems: Confronting Complexity
The diverse nature of systems within an architecture introduces complexity, often leading to resilience challenges. For example, during substantial migration projects, critical components might be overlooked in system dependency analysis. In some instances, systems are completely forgotten, lacking proper documentation and leaving stakeholders uncertain about their functions and dependencies.
Misunderstandings about system dependencies can result in failures or disruptions, and systems without comprehensive test cases can remain unknown to stakeholders, posing additional resilience risks. Organisations must prioritise documentation, communication, and comprehension of system dependencies to uphold operational resilience. While you may see documentation as a fleeting artefact, you can use tools for discovery and baselining to assist in managing this challenging task.
Manual Processes: Addressing the Human Factor in Resilience
This problem isn’t just technological, as illustrated by the timeless saying: "To Err is Human." We can’t afford to ignore the human element in operational and resilience issues because manual processes are susceptible to errors that can yield substantial consequences.
Imagine a scenario where a forgotten password leads to a disabled account, subsequently affecting critical systems. Similarly, in legacy environments, a thoughtless act of borrowing a server keyboard without returning it can cause the server to hang, leading to downtime. Even simple mistakes, such as inadvertently triggering a resource-intensive process, can overload network bandwidth, resulting in performance hiccups and, consequently, resilience challenges.
To mitigate these risks, organisations should invest in automation and streamline manual processes where feasible. Implementation of checks, safeguards, and automated notifications can diminish the likelihood and impact of human errors and augment operational resilience. From a business perspective, robotic automation, workflow process tools and orchestration can eliminate these issues. From a technical standpoint, investing in a DevOps culture and practices can yield similar benefits.
Taking a 360-Degree View
Strategic drivers, partially implemented architectures, diverse systems, and manual processes collectively contribute to technology debt and can substantially impede an organisation's capacity to endure disruptions. By addressing these factors, enterprises can enhance their operational resilience, ensuring seamless and dependable business operations.
Through architecture, we can unlock the key to reinforcing operational resilience, solidifying the bedrock upon which businesses flourish amid challenges. At NTT DATA, we take pride in our understanding of architecture and data, recognising the immense value they bring. Our expertise allows us to harness both, providing operational insights and 360-degree views of our clients' challenges.
If you want to learn more about any of the topics discussed here or explore our legacy modernisation initiatives, reach out to us today.