Measuring Integration Complexity Part 3 - Practical Applications


This is a post in 3 parts:

Part 1: IT’s Complicated!

Part 2: The Cost of Complexity

Part 3: Practical applications (this post)

Practical Applications

In the previous post I introduced a technique based on cyclomatic complexity to measure the relative costs of systems integration. In this post I will summarise some of the possible practical applications of this technique.

Establishing a Baseline

In part 1 I compared a system of systems with an enterprise IT architecture estate. In the contest of an enterprise architecture, complexity equates to cost; be that the cost of keeping the lights on or the cost of change to the status quo. The more complex an estate and the more connections between systems increases the costs to change.

Most, if not all, CIOs are on a continuous mission to reduce costs within their estate. It is often the case that when wanting to manage something then it is important to establish a baseline. I propose that the cyclomatic complexity cost introduced in the last post is a quick way of establishing a complexity cost baseline using common enterprise architecture design artefacts.

Reducing Complexity

Once a baseline state of the level of complexity has been established then it will be possible to create a roadmap for an ongoing strategy of simplification.
There are a number of ways that a reduction of complexity could be achieved:
  • Automation: Automation brings many benefits to the speed and consistency of delivery. In business terms, automation can reduce the "time to value". Automation can also bring a cost reduction benefit to many aspects of the IT life cycle. The individual BOA (build, operate, alter) scores for each integration could be used to prioritise where automation would add most benefit to a complex enterprise;
  • Node consolidation: Identify a small collection of nodes that could be consolidated into a single node. This will reduce the overall number of nodes and edges at the expense of making the consolidated nodes and edges (initially) more complex. Consolidation is not possible if the consolidation increases the new consolidated node’s cyclomatic complexity to a value greater than ten (the widely recognised maximum acceptable level of complexity). The business impact of such a change would be a reorganisation of application to business owners to collate similar applications together under the same business owner;
  • Edge simplification: Review the high complexity edges and look to simplify. Options to simplify could be technical (change of technology or standard) or structural (move the node ownership to that of the majority of its interactions). It is important to recognise the complexity of both sides of the edge interface. Edges with a large imbalance of complexity for each party are worthy of review to understand how one party can make changes quicker than the other. Simplifying the integration and balancing the integration costs will reduce complexity costs overall;
  • Integration Re-routing: It may seem counter intuitive to add new connections, especially when involving additional hops but consider the example below. Connecting Node C via Node B rather than going directly reduces the overall complexity cost. Clearly it is not possible to determine at this level of abstraction if there is a business case but it indicates an area of investigation.
Integration Re-routing Example

Conclusion

Measuring the relative complexity of an enterprise IT estate is hard. Using the cyclomatic complexity cost method allows for a structured viewpoint to be created on where the major costs exist in the integration points of an architecture.

The calculation of an objective overall complexity cost index provides benefit inside a single organisation but also across an industry.

Organisation benefits

The complexity cost can be used in “what-if” planning for future changes by comparing the relative complexity costs of the as-is and proposed to-be architectures.

Once the baseline is established, then it is possible to create and actionable roadmap to reduce operational costs by way of simplification. The process to create the cyclomatic complexity cost generates a useful list of the relative costs of interfaces between systems. This interface cost list can be used to prioritise simplification activities.

Industry benefits

The distillation of an entire IT estate’s integration costs into a single number provides a useful benchmark comparator between different businesses in the same industry and between industries. This benchmark would allow businesses to understand where their own complexity costs sit within an industry.

Closing Remarks

Thanks to Marc Fiammante for providing excellent guidance and support as I investigated this theory. Marc was able to take my fairly abstract concept for this topic and help distil it into something tangible.

Comments