Last time I discussed the need for flexibility when designing and implementing integration solutions. In this installment, I cover the third capability essential to a collaborative integration platform, Transferability.
In many cases, the people responsible for designing and implementing the integration processes are not the same people who will be administering them once they are put into production. Integration design and development is generally performed by business and/or data analysts who gather business requirements, create a design that meets those requirements, and develop the integration itself. The design of the integration could include defining the events that initiate an integration process, capturing, filtering and/or merging the relevant data affected by the events, mapping and transforming that data, establishing rules for data ownership, and designing error capture and remediation. The implementation itself involves completing the unit and system testing to ensure that the integration processes are ready for production. The final task of the integration developer is ensuring the integration is working in production and transitioning the ongoing ownership.
This hand off of the solution is very critical to the success of the integration project. How do you transfer ownership of the solution to someone that does not have intimate knowledge of the detailed design? Are there tools and dashboards that exist that can enable this person to know when things are working well and when they are not? Is there a straightforward mechanism in place for them to repair data issues? It is easy to identify which issues they can resolve or which issues they should contact the integration developer? If the original integration developer is no longer available, can someone else with integration design skills quickly understand the integration design and make modifications or enhancements to it?
This issue of transferability is also critical to the partner. It is very costly for a partner to pull their integration designers off other their other customer projects and have them fix an issue at an existing deployment. Depending on the issue, having to go back and fix or constantly maintain the integration can negatively impact the customer and partner relationship. A good partner makes sure their customer understands the integration software, the design of their particular integrations, and that the customer can maintain it.