4 Ways of SaaS integrations: Custom Development (Part 4/4)
Discover the advantages and disadvantages for custom development and how to approach it.
Happy Automation Friday! 🎉
In the previous post, I talked about the various ways of integrating applications. There are four ways to integrate tools:
By the end of this article, it should be clearer when to use Custom development using APIs. Additionally, you will know how to approach a custom development project.
Custom Development Using APIs
This method was the first one used for many years in the software development industry. For many years, various solutions such as SaaS providers have offered APIs. Many software companies also incorporated integrations into their development plans.
Whether we are discussing payment integrations for an e-commerce store, billing providers for a SaaS solution, or notification systems for a mobile app, they all share a common factor: custom development using third-party APIs.
Years ago, this was the primary approach to integration. It operated like any other feature development within the development team. The process involved receiving a specific request or brief, analyzing third-party APIs, and validating the workflow with stakeholders, followed by development, testing, and release.
Unfortunately, this method led many stakeholders to treat integrations like any other feature development. Having the same product backlog for integrations and other features is not always advisable, especially for the automation category.
The first 3 methods (Direct Integrations, Third-party Aggregators, and RPA) influenced the automation industry. They prompted product managers to keep a product backlog just for automation. This often involved utilizing different resources than those used in regular software development sprints.
Advantages
In many cases, you can use the same developers for automation backlog items.
Using the same resources for core features and automation allows the head of development/CTO to have an overview of the entire infrastructure.
You avoid extra costs for third-party solutions (such as Zapier, Make, or UiPath robots).
The deployment process remains consistent, using your current software for error tracking or performance monitoring.
The learning curve is minimal, as any major programming language works well for API integrations. Therefore, your developers, testers, or DevOps won't face significant challenges.
Disadvantages
Splitting the same resources between core features and the automation category can be disadvantageous. Prioritizing an integration over a customer request is particularly challenging.
A software developer may cost more than an integration specialist on an hourly basis. Additionally, the estimated number of hours from a developer is often higher than that of an integration specialist.
Code equals liability in most cases. As a Product Manager or stakeholder, your goal should be to minimize code. It's a big advantage if an app like Make is well-organized and well-documented. It's better than adding thousands of lines of code to an app with high technical debt.
Use Cases
As an e-commerce manager, I want to have my stocks, prices, and orders synchronized in real-time with my ERP so that I can provide real-time status to my customers.
Why would you use custom development for this use case?
The process is complex and requires synchronizing a large volume of data (you might have thousands of products in your store and thousands of orders).
The cost of synchronizing this data would be higher when using a third-party provider.
This is a core function for an e-commerce store. By externalizing synchronization to a third-party provider, you lose control of the code and cannot guarantee data consistency or uptime.
When shouldn’t you use custom development?
When you want to test the process. For example, if it is a new e-commerce platform and you have only a few orders, and you are in the testing phase with the platform or the ERP.
If e-commerce is not your core business. For instance, if you are a band with some merchandise products on your website, you have sufficient stocks, and prices are not frequently updated.
Conclusion
Custom development based on APIs is an enterprise solution. While many software developers may be inclined to write code for any automation, numerous solutions now exist for simple integrations. Avoid adding code to your core simply because you have the resources. Use enterprise solutions for enterprise needs.