API Team Best Practices: Building a Minimum Viable Product
In previous posts in this series, we discussed the key personas that make up an API team. Here, we look at at building a minimum viable product—a key objective the team should target in order to build an effective digital value chain, and one that brings uniformity to the API creation process.
The digital value chainOne of an API team’s first steps should be to ensure that APIs are designed and created for consumption, and that access to systems of record and other back-end data is provided in a consistent way.
The API team should think of itself as a refinery that sits between the raw materials housed in back-end systems and the API products that present those raw materials as polished interfaces that developers can easily use. When you layer a mature API product mindset on top of the API team’s core responsibilities, the graphic above grows into the full “digital value chain” represented below.
The chain emphasizes the two key customers whose experiences the API team directly impacts and who should form the focus of the API team’s obsession with customers: developers and the end users for whom developers create apps and experiences.
To create an effective value chain, the API team should focus on three practical objectives: building a minimum viable product, curating a world-class developer experience, and championing the business value of APIs (we'll look at the latter two objectives in an upcoming post).
Building an MVPFull lifecycle API management involves all of the things it takes to get an API up and running and into the hands of developers, so that they can both begin innovating and start providing feedback to inform how the API is iterated upon over time. Though the numerous stages of the lifecycle may suggest a lengthy process, remember: speed is the goal. The lifecycle should focus on releasing MVPs that present the core value proposition to developers and can be rapidly scaled or improved based on user feedback.
API teams should not expect all MVPs to succeed. The point is to launch more releases than would have been possible using legacy approaches and to quickly realize which ones are gaining adoption and which experiments justify additional investment. Some experiments will fail, but those that succeed may represent not only new products but gateways to entirely new business models.
When managing the lifecycle of these MVPs, keep these principles in mind:
- Build APIs developers love and that are easy to use Design according to RESTful best practices, focused on consumption and consistency, and provide a clear statement of the value proposition the API represents to developers. Avoid premature optimization and hide unnecessary complexity from developers. Remember, developers likely do not have time to learn the inner workings of your system and should not need to: they simply want the data they need to enrich their application.
- Protect your APIs Enforce a consistent set of security policies and protocols across all APIs—private and public. Employ authentication like OAuth/OpenID Connect in conjunction with transport layer encryption (TLS) to protect data and control who accesses it, and consider spike arrests and per-app usage quotas to help maintain API performance.
- Test and deploy APIs Synchronize the API lifecycle with a modern, agile, iterative software development lifecycle (SDLC) and automate API testing and deployment.