It is now a known fact that having an API program opens up great growth prospects for any enterprise irrespective of its domain. In some cases it has been able to change fortunes of business as well. However, making sure that the API program for your business is a success is not an easy task by any means. Based on my experience of implementing API programs for various enterprises , below are some points which can be useful to make them a success story:
1) Be Agile: API programs are different in nature from other enterprise IT applications. First of all, they are not used directly by end customers and neither they can have a defined scope at initial level. So traditional waterfall approach cannot be applied in this case. Even if you are a big organization and have well defined processes from requirements gathering to project launch, you need to use iterative model for your API program. You simply start with a basic set of requirements scoped initially and depending upon need you will have to keep updating it. A good continuous integration tool can be helpful in this.
2) Flexibility in processes: Any big enterprise loves its processes. I know there can be many reasons in support of following them strictly, but in case of APIs you need to draw a line. In a project which is different from normal applications and also where you cannot freeze requirements easily , you need to have some flexibility and respite. You simply have to assume that requirements will keep changing during development, many things might come on ad-hoc basis and few things might be de-prioritized. In all such scenarios, following all the processes always might not be feasible. In fact ,it can be a deterrent to success of your API Program.
3) Participation of developer community: Developers who develop apps are direct consumer of your API. Success of API program solely relies on fact how easily your APIs can find popularity within developer community. Enterprise should organize developer conferences/seminars and hackathons for this purpose. Another good thing an enterprise can do is to expose sandbox/stub implementation of APIs for developers which can serve as playground for developers before integrating their apps with actual APIs. Also, having a well defined API guides for developers is a must.
4) Planning infrastructure properly: When your business is exposing APIs, you need to brace yourself for performance and security related challenges properly. You should be able to estimate traffic and plan for infra accordingly. Taking long time to respond to calls coming from client app or having intermittent down time is like an unpardonable sin in an API program. This results in having loss of trust and goodwill among developers for your APIs which cannot be compensated easily and this is the last thing you want as a business.
5) Define suitable revenue model: If a business starts its API program, it naturally expects a decent ROI from that. In order to have a decent financial gain from that you need to have a robust revenue model which is beneficial to all parties involved. You can opt for either having one time setup fees from developers or charging them based on usage of APIs depending upon nature of your business. Its very important to monetize your APIs properly and take care of developer payouts. There is no better way than devising a strategy using which you make money and your direct consumers also make a decent money.