Today almost every software solution provides a set of integration points allowing multiple systems to interoperate amongst themselves. Determining which partner to integrate with can sometimes be a daunting task. Take for instance a start up software company that has a great idea and needs to get to market quick. Here at BOS we run into this situation often. The first thing we need to determine is what the customer needs are. You're probably saying to yourself....."Thanks captain obvious!" This is probably an initial discussion with a client that will give you a basic understanding of the project. I find that this is a good point to educate the customer on the process they can expect and bring to their attention some of the different options that are available. It's also important to get a good feel for how much the customer has to spend. It wouldn't make sense to come back to the customer with a 500K estimate when the customer only has 75K budgeted. Often times I find that customers do not want to throw out a number in fear that they will overshoot the estimate. In these cases I try and use a car analogy. Would you like a FIAT, Lexus or a Ferrari? This usually gives me a good sense of what the customers budget is.
Typically after our initial discussion the sales person will meet with a System Integration Architect who will evaluate the high level requirements. During this session the SIA may have additional questions that need to be answered before a first stab estimate is possible. In this case the sales person or depending on the situation the SIA will reengage with the client to get the remaining questions answered.
Here's where it get's interesting.
Let's setup a fictitious scenario for us to evaluate.
Customer: GetBuff Gym LLC
Time To Market: 6 Months
Budget: Honda (Note: customer modified additional options)
Requirements Received by Sales Person:
GetBuff Gym is looking to develop a gym management system to manage the 125 gyms they currently own. The system should be centralized, secure and highly available. They currently use a subscription product that is costing them over 250K per/yr. They would like to create a substitute and potentially compete in the gym management market.
- Customer Mangement
- Trainer Management
In this scenario, although over simplified, we have a client that has several complex features and 6 months to get it to market. Additionally the customer easily understood the car analogy and modified it to give me a better perspective on his budget. I'm estimating that this client based on his Honda reference is about 35K. Taking all of these data points into account it makes a lot of sense to look for off the shelve integrations or components to complete this project. For this article we are going to focus on Micro Service API integrations.
Let's take each of the 4 features above and outline a plan to find 3rd party services to integrate with.
Customer Management/Trainer Management
This is an important feature for most applications. Many different libraries and services can be found on the web to fulfill this requirement. Two of the leading CRM platforms out there are Salesforce and Zoho. Due to the clients budget we will recommend using Zoho due to it's simplicity and cost.
Lucky for us Zoho also has several components to meet the billing and payment requirements for this client. Wahoo!!! 3 birds with one stone!
This is a key feature for this business and we need to make sure that the service is flexible and reliable. Here is a short list of available API's that handle scheduling:
Each of the above services meets the immediate needs of the customer. Based on our research we recommend using timekit for their scheduling platform.
Using these integration services we can now focus on the user experience and flow. Once the designer comes back with his or her high level estimates and wireframes we are able to confidently estimate the effort involved for this project. After considering testing and buffer we estimate that this project will take approximately 3 months to complete at a cost of 30K. We now document the estimate and future costs so the client can clearly see development costs verse ongoing subscription costs.
Given the budget and the timeframe this is the simplest and quickest solution for this project. When I started programing, yes it was a long time ago, we had to build each library on our own. Now you can easily find components and libraries that will help you develop world class software with ease and efficiency.
BOS has extensive experience performing integrations with many protocols including HTTP, URI, JSON, XML, FHIR, HL7, DICOM and NACHA. BOS has worked in conjunction with it's partners to leverage emerging blockchain technology to build one of the first CMS to Blockchain integrations.
Whatever your technical challenge is, BOS has the talent and experience to get the job done!