Composable Challenges: Complexity
Introduction
Relative to platform solutions that provide numerous capabilities pre-integrated into a single product suite, composable architecture increases complexity.
This blog post is part of a series about challenges that organizations face when implementing composable solutions, including many aspects related to complexity. For more context on these topics, please read the introductory post before proceeding with this one.
Complexity: Documentation, Training, Support, and Troubleshooting
With monolithic platforms, a single vendor or a small number of vendors provides training, documentation, and technical support for the entire solution. With composable architecture, developers and users may require support, documentation, and training from each individual vendor. In addition to developers, internal users must also learn to use the new products. Where users must access separate applications, the user interfaces are likely not integrated and inconsistent.
Because all composable products follow common architectural principles, the technical training effort for a new composable component may be lower than a monolithic platform, but employing multiple products can extend learning curves and can also increase demands on internal support staff. The complexity of the solution can also increase troubleshooting effort and costs.
Before selecting composable components, organizations should review the quality and comprehensiveness of available documentation, confirm that user interfaces are relatively intuitive, attempt to validate the responsiveness of the vendor’s technical support department, and check for the availability of any required training programs.
Complexity: Glue Code Monster
Organizations need to implement custom code that integrates the various elements of their composable stack. The greater the number of components to integrate and features employed from each, the larger the volume of such glue code to develop and maintain. The need to write and manage glue code reduces operational velocity and increase technical debt. Uniform, a DXCP (Digital eXperience Composition Platform) refers to this challenge as the Glue Code Monster.
DXC products can reduce the volume of glue code required but cannot completely eliminate the need for some custom code in the solution, for example to render pages. It is not impossible to avoid glue code completely, but organizations should make an effort to minimize its volume.
Maintenance and Testing
While service-orientation can provide benefits for unit testing, complexity and interdependencies in composable solutions can increase the effort required to maintain and test entire applications. The more glue code in a solution, the greater the testing effort required.
Organizations should understand the need and budget for code testing and maintenance. To help ensure appropriate testing, organizations should implement formal quality assurance processes, invest in automated testing.


