Business resilience is essential in the face of disruptions such as the global pandemic, changing regulations or geopolitical realignments. The resilience of a business can be improved (or hindered) by software. Software agility, therefore, becomes a central challenge for applications and software engineering leaders. But they soon discover that neither business nor IT can address this challenge alone.
A failure to work together in multidisciplinary fusion teams leaves organisations lagging behind their more agile competitors. Application composability principles help facilitate the success of fusion teams. By 2024, 70% of large and medium-sized organisations will include composability in their approval criteria for new application plans.
But the best composability practices are not well-established. How can application developers and software engineering leaders create a dependable plan of action that aligns with the fast pace of change a business demands?
Composition of applications is a benefit to any business that needs to change quickly, safely and efficiently. But the urgency and preparedness for composability differ between organisations. Applications and software engineering leaders must calibrate their plans to reflect the specific context in their organisation.
Evaluate composable enterprise readiness
Gartner has defined an index for business and IT leaders to use to assess composability in their organisations. The index covers four main areas and can be applied to many different facets and contexts of modern business, including its technology, organisation, ecosystem, marketing strategies and business models. In each area of business, the objective of increased agility is the same, but its core tenets apply differently. For example, ask yourself: what are the building blocks that support composability for organisation, ecosystem, marketing strategy and business model?
The first area to assess is modularity, which is central to composability, whether it is applied to software, organisation or business model planning. Whatever building blocks are provided for the composition define the character of the resulting architecture.
One of the key differentiators of the composable enterprise experience is that application design and redesign (composition and recomposition) are performed with the direct participation of business and technology professionals operating as multidisciplinary “fusion” teams. To best meet this essential requirement, a composable enterprise application must be a cohesive set of well-defined packaged business capabilities, which represent the independent composition of “building blocks”. Well-implemented modularity will produce the packaged business capabilities that are small enough to maximise agility, but large enough to contain integrity.
The second area covered by Gartner for composable business is autonomy. This is the characteristic of the modularity that maximises self-contained independence of the components.
In the design of business application software, autonomy implies the ability of the components to fully manage their internal integrity, impose minimal burdens on other components when they are changed or replaced, suffer minimal dependency on changes in other components, and be capable of operating alone or in new, unanticipated combinations. Complete autonomy is rarely achievable, but each improvement of this measure will translate to the overall improvement of the organisation’s composability experience.
Discovery readiness is the third metric in Gartner’s four-point assessment for composable business readiness. This is a measure of the ease with which teams find components and are able to determine their usefulness. It also implies that there should be enough documentation for the teams to be able to integrate easily. Readiness for discovery implies the clarity, completeness and usability of documentation and other metadata.
Orchestration is the fourth area of Gartner’s composable business index. It refers to the preparedness of the components (PBCs) for composition, integration and governance in development and runtime environments.
In composable business application software, orchestration reflects the openness of the components to interact with other software, and the support of the prevailing models and protocols of communication. Orchestration also measures how well the components are equipped for monitoring, tracking, securing, the DevOps operations and other forms of governance. In other words, it is the gauge that measures the quality, openness, safety and controllability of the encapsulation.
The good news is that decoupling, microservices, events, orchestration, choreography, modularity, backward compatibility, encapsulation and decomposition are all concepts that have been part of software architecture practices for quite a while. These architectures involve separation of concerns, bounded context and cohesion are parts of domain-driven design.
The composable enterprise model essentially reapplies the core and advanced principles of service-oriented architecture (SOA) and mesh app and service architecture (MASA) to the environment with a key new constraint that the “services” must represent a well-defined, self-contained business value.
Design applications for composability
The key differentiator of composable enterprise applications from other forms of modularity (such as SOA and MASA) is its audience – who is doing the composing defines what the building blocks and composition tools must be.
Most prior design models and engineering tools targeted either IT professionals or business users (citizen developers). However, the pace of business change that calls for composability is such that neither can manage it alone. To embrace the composable enterprise model, applications and software engineering leaders must enable multidisciplinary fusion teams to be the designated “composers”.
This shift of software engineering focus – from IT professionals on their own to the multidisciplinary business IT fusion teams – is a key driver of the democratised composable enterprise. The building blocks and the composition tools are designed for both the business and IT professionals, working together, drawing on their complementary talents.
The modularity of packaged business capabilities encapsulates business capabilities to support application design and development by fusion teams. This modularity inherits some characteristics from both monolithic business applications and the more technical microservices-based architectures.
The project-delivered monolithic applications are relatively easy to manage, since all their parts are tightly connected and always change together. These applications are managed as one unit. But for that exact reason, they are hard to change. Product-delivered microservices-based applications are easier to change since they allow developers to reconnect the microservices and user apps in a new way. But they are harder to manage, as each microservice may be changing independently.
As with all innovation and change, Gartner recommends that applications and software engineering leaders proceed incrementally, understanding the balance of their skills and resources versus the demands of a new approach, making smaller, less disruptive changes first.
Not everything needs to be composable, especially at the beginning. All packaged business capabilities don’t have to be of the same size or internal design. Applications and software engineering leaders should consider these recommendations as a long-term roadmap plan, noting that the initial adherence to just a subset of the recommendations will already produce a measure of new adaptability and create a foundation for further advances.
Overall, to optimise modularity, Gartner recommends that IT leaders partition application functionality into components with clear and complete business responsibilities. Examples include business objects like an account or a product, a physical asset, and the status of a business process, such as loan approval. The challenge that Gartner sees is that these need to support a single, isolated business responsibility that is big enough to have a clear business purpose, yet small enough to eliminate cross-functional entanglement.
This article is based on an excerpt of the Gartner report, “How to design enterprise applications that are composable by default”. Yefim Natis is a distinguished vice-president and fellow emeritus in Gartner Research.