Integrating with third-party systems
One easy way to accelerate the pace of innovation is to avoid building software that you don't need to build. If a piece of functionality is not part of your core competency's value proposition, then you should not build it. More than likely it is already offered as a service by a third party.
This is akin to the serverless-first approach. We leverage a fully managed, third-party capability and defer commitment so that we can focus on building our value proposition and create knowledge about what works and what does not work. Then, once we know what capabilities are actually required, we can make an informed decision to stay with the third party, switch to another provider, or implement the functionality ourselves.
To facilitate this process, we employ the ESG pattern to decouple this decision from the core of the system. We wrap the third-party system with an ESG service that adapts the external system to the core model. Then we...