The process of API integration takes more time and money than most would imagine. When considering building a custom integration into a cloud service, it’s important to map out these costs to have a realistic view of your budget. Having been through the process of building integrations multiple times, we have discovered just how much time each step actually takes.
Below is a list of seven steps we have identified within the process, as well as considerations and estimated time spent on each.
BUDGETING FOR TIME SPENT BUILDING A CUSTOM INTEGRATION
Research is a key, yet often overlooked step in the process. Research includes familiarizing yourself with the API - its nuances including data structures, protocols, and user authentication. If done thoroughly, this step will set you up for success. The amount of research needed depends on the category of cloud services you’ll be working with; For example, creating an integration to a CRM service is typically more complex than creating an integration to a document storage service. For this reason, you’ll want to budget two full days for researching a cloud document storage endpoint, and three full days for a CRM endpoint.
- What type of web service does the endpoint support? REST, SOAP, or is it an SDK? Is it deployed on premises or is it cloud based?
- Authentication type - there are a few popular types: Oauth2, basic, token, etc. Some are easier to implement than others and all have nuances. How are refresh tokens granted?
- Events & Notifications - does the endpoint support webhooks or will you need to build a polling framework?
- Is there support for moving data in bulk?
- How is data search and browsing accomplished? Separate API or part of a query? Does the endpoint have a proprietary query language or is it based on SQL?
2. Build A Prototype
In this step, the goal is to build minimal functionality to prove the connectivity, allowing developers to get to know the product and understand the endpoint. Typically this is means getting the authentication and refresh working, building the CRUDS out for a single object (e.g. contacts) and installing paging for that object - and making a plan for how you will solve bulk, error messages, and events. Budget three days for a cloud document storage endpoint, and five days for a CRM endpoint.
This step tests the prototype and extends it to create the MVP (Minimum Viable Product). In doing so, you are actually connecting it to your product with the basic set of functionality- which includes adding additional CRUDS for the remainder of the objects needed for your use case, e.g. leads, opportunities, accounts, users, campaigns, etc. Also, this includes events, paging, error handling, bulk handling and so forth.
Note: Once this step is completed, you will likely need to budget additional time for revisiting the MVP and building out the remainder of the needed functionality as a Release 1, for example. Budget five days for the MVP step regardless of endpoint.
4. Transaction Management
This step is the hardening process that will account for the durability of the integration. Questions like, “What happens when something fails?”, "Is the authentication refreshing properly?", Are events arriving appropriately?", and “How do you back out of transactions?” need to be addressed here. Budget five days for a document storage endpoint, and 10 days for a CRM endpoint.
Your job doesn’t end once the integration is built. Time spent servicing your integration is significant and needs to be taken into consideration as well.
Every time a transaction is completed, it has to be logged for debugging and customer support reasons. Budget two and a half days regardless of endpoint.
6. Monitor and Alerts
The process of monitoring your integration includes adding service alerts and webhooks. Budget two and a half days for a document storage endpoint, and five for CRM.
Don’t forget API documentation, a commonly overlooked step. This is important as it cuts down on maintenance and allows other team members to pick up where you left off. Budget two days for this.
Calculating the Cost of API Integration
To get a realistic view of what this process will cost you, take into consideration the recommended budget for each step and multiply it by your fully burdened developer rate.
Using our time recommendations (above) and multiplying it by the industry average pay, we’ve estimated that building an integration for a document storage or CRM endpoint will take you anywhere from five to seven weeks. In addition to the cost of production, we recommend budgeting 25-30% of the original development cost for ongoing maintenance.
Oh, and then there’s project management costs on top of all this…
Knowing how long each step of the process takes will help you to decide if you have the budget, development cycles, and frankly, the willpower to repeat the process for multiple integrations. If your answer is no to any of these points, then leveraging an API integration platform, like Cloud Elements, will dramatically cut down on the cost of time spent integrating and could be a great fit for you.
Ready to learn more about API integration? Read our Definitive Guide.
Even more? Here are some other blog posts you might find interesting: