Application programming interfaces (APIs) need to deliver business value, and this takes some planning. At the same time, the world of APIs is fast-paced and unpredictable, and thus you need to be as flexible and open to change as possible in the planning process.
That's the word from Building Successful APIs, a new book just published by the folks at SOA Software. (Book available at no cost at the SOA website, registration required.)
The authors outline the four major goals of API planning:
- Determine the business purpose for the API: "Business purposes for an API may include: driving more traffic to a company Website or portal; building a community around a brand or campaign; exposing core functions to internal users in a controlled manner; exposing core functions to external users in a controlled manner; refactoring business processes so they can be delivered as services."
- Understand the cost/benefit outcomes for the business and intended users: "You might need to do more analysis of some or all of the following: existing APIs, if any and what they do; planned APIs that haven’t yet been delivered; the urgency of delivery and the possible staging of the delivery; whether the requirements require an API at all; whether existing Services in your service-oriented architecture (SOA) can be leveraged either partially or wholly.
- Agree on the priority and delivery schedule for the API: "Provide a roadmap that clearly prioritizes the delivery of each API within the growing list of business-dependent APIs. The information provided has to be sufficient to allow any manager to understand what API needs to be designed, why it is being built, what its importance is and how it will be funded."
- Structure the business to support and manage the API: A number of roles -- from product managers to developers -- are needed to support the API. In addition, "the API will be a 24x7, 365 day, business asset. As with all of these asset types, IT operations are asked to manage the asset and the support of all the API’s non-functional requirements. Once the API goes live, continuous operational support is a must."