Software development is a lot like how our world works. We all are good a somethings and not so good at so many things. In real world, we all collaborate and work together as an entity. We support each other and grow together.
In software development, we support each other via integrations. We make a software that does something in an awesome way. Then we also seek support from other expert systems to build an overall better ecosystem. Integrating helps us use the different aspects of software built by other organisation. We can then build on top of them. This gives us the edge and a quick way to deliver the right solution, without the need to reinvent the wheel.
These integration although great to work with and all their advantages, also bring a lot of complexities and challenges. I recently faced a crisis due to one of the services of our SAS partners, Secure Exchange Solutions. They help us provide secure mailing capabilities without our need to write the whole mailing solution. All was working fine and then suddenly one day we realised that one of the API that we have been using had become erroneous and it rendered our application unable to send any emails out.
This is where the human aspect of the integrations is highlighted. With an in-house solution when something breaks, our own house is on fire. But with integrations, the scenario is very different. Integrations bring in external teams into the picture who will be working as per their own work ethics, motivation and prioritisation.
So it is important to consider the response time of the other team, point of contacts and also have contingencies ready to keep the system afloat till help arrives. While discussing the scenario it helps to correctly state the urgency of the situation and setup a right expectation. Also, it doesn’t harm in being in touch with the SAS team in good times and building a small personal connect, that might be of ultimate help at times of need.