Chapter 5. Continuous API Improvement
It is not necessary to change. Survival is not mandatory.
W. Edwards Deming
In the previous chapter we introduced the API lifecycle and defined the pillars of work that you’ll need to focus on. This lifecycle defines the work that you’ll need to do for the initial release of your API. The pillars are also important when dealing with the changes you’ll make during the entire lifetime of your published API. Managing API change is a critical element of a successful API management strategy.
Changing your API can have a big impact on your software, products, and user experiences. Shipping a code change that breaks an existing API can have a disastrous ripple effect on all the components that use it. Even changes that don’t break the external interface of an API can cause big problems if they alter that API’s behavior in an unexpected way. Even more to the point, one popular API within your organization can produce a long list of dependencies that might be difficult to document or even see. All this makes change management an important API management consideration.
If you never had to change them, managing your published APIs would be a pretty simple task. But of course, change is an inevitable part of an API in active use. At some point you’ll need to fix a bug, improve the developer experience, or optimize the implementation code. Performing these tasks requires intrusive changes to your deployed API.
The job of managing API changes is made ...
Get Continuous API Management, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.