In the fast-paced world of high-demand industries and scale-ups, rapid business growth is the norm. These companies often exhibit common traits: they can swiftly scale operations, embrace agile methodologies, and adapt to market shifts on the fly. However, amidst this rapid expansion, a subtle yet significant threat lurks in the shadows: technical complexity. Like a double-edged sword, the very strategies that drive businesses forward can also sow the seeds of their downfall, due to the increased system and data complexity that is accumulated in response to the rapid expansion.
The situation is comparable to financial gearing: Just as businesses take on high ratios of debt to gain financial leverage, organizations often trade the accrual of technical debt for speed of implementation with the hope that future returns will cover remediation. The difference, however, lies in the fact that technical debt is rarely repaid – at least not before it is deemed critical to the business, and by then, it is often too late.
The consequence of neglecting the increased system and data complexity while scaling the business can be fatal – or put directly – may result in “technical death”. This slow demise occurs as layers of complexity accumulate over time. The complexity is often disguised as quick wins, or “frantic interventions” aimed at meeting tight deadlines or hitting short-term market targets. While these efforts may have secured the bonus of the project team that managed to deliver on time and within the budget, the long-term consequences of neglecting complexity can be severe.
The aftermath of these short-sighted decisions will most likely haunt future projects and operations, as they contribute to the hidden cost of complexity, which can have significant long-term ramifications for the organization’s ability to scale and grow.
So, can complexity be avoided?
Not entirely. The nature of IT is inherently complex. But there are still things you can do.
Intentional vs unintentional complexity
When addressing technical complexity, it is essential to distinguish between intentional and unintentional complexity.
Intentional complexity, designed with intention, encompasses elements necessary for fulfilling the business purpose and adding tangible value. This complexity is often well-documented, predictable, and can be strategically managed and ‘tamed’.
Conversely, unintentional complexity often accumulates organically over time and leads to unnecessary costs and complications without delivering direct business benefits, aside from short-term gains such as reduced time-to-market. Unintentional complexity is often expressed by obscurity, inconsistency, and unforeseeable consequences. For a detailed comparison between intentional and unintentional complexity across various dimensions, see the table below.
Dimension | Intentional complexity | Unintentional complexity |
Origin | Arises from long-term strategic planning to support business logic | Accumulated without clear business intent or long-term strategy |
Nature | Purposeful, strategic, and top-down approach | Reactive, short-term focused, and bottom-up accumulation |
Business Value | Differentiating business value (i.e. competitive advantages) | Short-sighted gains (e.g. faster delivery) |
Manageability | Strategically planned around and accounted for | Unpredictable consequences and behaviors |
Documentation | Well-documented | Typically, not documented |
Solution Approach | Long-term solutions addressing strategic business needs | Short-term, urgent fixes to mitigate immediate challenges |
Consequences | Supports sustainable business growth | Often leads to unnecessary costs and complications |
Table 1: Differences Between Intentional and Unintentional Complexity
Whether the complexity is intentional or unintentional the cost of complexity is inevitable and must be paid off at some point in time. As components, platforms, and applications are added, integrated, and changed, the number of dependencies, limitations, and potential sources of error increases, as well as the required effort for maintaining and expanding – resulting in an added overhead in the total cost of ownership for IT – i.e., the complexity cost.
A high degree of complexity can have several negative consequences including:
- Decreased Agility/Flexibility – the ability and speed to innovate and change.
- Decreased Maintainability – the ability to efficiently operate applications and infrastructure.
- Decreased Controllability – the ability to oversee and govern IT to ensure security and compliance.
- Complicated Business Continuity and Disaster Recovery – the ability to react and recover from operational disruptions and security incidents.
Furthermore, as many of these aspects intersect and interact, the cost of complexity often becomes self-reinforcing. When left uncontrolled, complexity can quickly overwhelm the IT organization, tying them up in constant operational tasks and firefighting.
What are the real (business) consequences?
You may think paying this cost and focusing on your growth journey as usual can be a resolution, as these are just IT issues, right? As the business grows it becomes impossible to separate IT issues from the business as they are inextricably linked and should thus be addressed holistically and not in silos.
If IT and the business fail to cooperate in effectively managing the complexity cost, the repercussions for the business can be catastrophic. This failure to timely address technical complexity will ultimately result in what’s referred to as “technical death” [A], where the burden of accumulated complexity overwhelms the organization’s ability to adapt and innovate, inevitably leading to its downfall as illustrated below.
What is the resolution?
To bend the curve of technical complexity, it is crucial to consider three key steps:
Stop the Bleeding to halt the progression of technical debt. This involves establishing governance to ensure deliberate decisions about changes and additions to the IT landscape. By actively understanding and managing the consequences of the decisions made, the accumulation of technical debt can be prevented.
Regain Momentum by reducing unnecessary complexity. This involves identifying, assessing, and addressing areas of unintentional complexity within systems, data, and processes. By dedicating focused efforts to streamlining operations, resources can be freed up, paving the way for long-term sustainability.
Design for Sustainable Speed to strike a delicate balance between agility and control. This involves continuously managing complexity through structured approaches, such as leveraging enterprise architecture principles and implementing frameworks like the pace-layered architecture [B]. These approaches promote ways to ensure that the overall system landscape remains adaptable and responsive without sacrificing stability.
Addressing these three steps— 1) Stop the Bleeding, 2) Regain Momentum, and 3) Design for Sustainable Speed— will ensure continuous and effective tackling of technical complexity and provide the best conditions for continued business growth.
As a final remark, it is important to acknowledge that aligning business growth with IT complexity is a shared responsibility. Even though, the mentioned obstacles might be seen as simply IT-related problems, they are not just IT’s problem.
The business needs to understand that rapid business growth has an impact on IT complexity and accept the associated cost – or they risk becoming constrained by the very IT that helped them grow and ultimately suffer a technical death.
The longer you wait to bend the curve – the more effort, cost, and time are required to do so. If you are already struggling with a high degree of complexity, IT will require help and resources to regain control.
What does your complexity curve look like – and where on it are you?
Are you curious to learn more about your complexity curve? The following curve can be used as inspiration to determine your current position along the complexity curve and whether you should start bending the curve.
To get started, list your top-most critical business applications, and ask the following: Can they easily be changed or modified? If yes – GREAT! If not, can you explain why changes or modifications are challenging without primarily considering technical reasons? Evidently this is an oversimplified root-cause “analysis”. However, if business application changes are challenging mainly due to technical rather than non-technical reasons, this is an indicator of a high complexity curve score, and it might be time to start bending.
Sander Hoogendoorn. (2023, June 29). Small Steps Are the Fastest Way Forward: Life Beyond Agile & Scrum. GOTO Amsterdam 2023.
Gartner Research. (2012, January 9). Accelerating Innovation by Adopting a Pace-Layered Application Strategy. Gartner.
The article was co-written by Frederik Hørby Søborg, Christoffer Møller Jarolics, and Steffan Winther Johansen. If you want to hear more about technical complexity – feel free to reach out or follow our LinkedIn for more interesting perspectives!