On June 17th, 2020, Mike Labriola from our team presented to the Camp IT Enterprise Architecture Strategies virtual event. His topic was a practical and technical guide to enhancing, modernizing, and consolidating important enterprise applications titled “Swap Jet Engines Mid-Flight: Change Everything Without Users Noticing”.
While there is much theory on how to accomplish this, the task is often complicated by real-world conditions like an existing user base, heavy system complexity, and limited resources. Often systems were designed without fully being able to anticipate future needs and technology shifts. Further, these large, complex systems have many areas where it is either very hard, or impossible to document or understand all system functionality.
The standard industry “prescription” for these cases is “Agile” – an oft used word to pave over the complex internal conditions that make these things hard in the first place. After all, if a system is complex, and critical, and your internal processes are rigid, with limited resources, being “Agile” isn’t even possible. What’s needed is a realistic, practical strategy to manage modernization and allow for future agility.
Many times, enterprise applications were designed to simply be monoliths – single towers of complexity which might gather data from other systems but rarely share their own. As the internal IT landscape grows, it becomes more important to share information and data with other systems. Authentication schemes in monoliths must be adapted to use Single Sign On providers. APIs must be created to expose monolith capabilities to other systems. Other systems need to be consolidated into, or even out of, the monolith. Inflexible system design puts pressure on Enterprise Architects and the IT organization to perform heroics – and create opportunity for massive failure, budget overruns, or business disruption.
During the presentation, Mike introduces the idea of architectural “seams” – clear lines of definition where one piece ends and another piece begins. The seam can be considered as a strategic architectural embodiment of the façade, or adapter pattern in classical object-oriented software design. A key step in modernizing the monolith is identifying where a seam should be, and creating it. The creation of the seam is an incremental step that paves the way for successful system change later.
Mike then presented his 5-step framework of Identify -> Façade -> Bridge -> Migrate -> Burn. This framework is a graduated process guiding the enterprise architect towards system improvement. At each step in the process, Mike explains the strategy, gives points to watch out for, then discusses other helpful tips like how to overcome organizational inertia and what to do in order to sell this strategy upward. What’s more, Mike gives practical examples with real -world architecture, complete with diagrams. It’s easy to follow the process through each phase and validate the outcome.
In the given example, you can see step-by-step how a complex architecture was simplified using a logical process. Further, the end-state of the system had a much higher degree of readiness and adaptability for future enhancements to infrastructure, technology, or capability.
If your enterprise has inflexible but critical systems that need to eventually be modernized, this presentation will help you think through some strategic alternatives. If the session recording is made available by Camp IT conferences, we’ll update this post with a link.