持续改进 API:提升可变更性与速度的策略
1. API 变更概述
在 API 开发过程中,对其任何部分进行更改都会使变更成本增加,尤其是随着为开发者体验开发更多支持资产时。同时,也可以对支持资产进行独立更改,例如更新文档页面的外观和感觉。这类更改虽对接口模型、实现或实例无直接影响,但会对开发者体验产生重大影响。
支持资产的变更级联影响最小,但由于其对其他 API 元素的高度依赖,变更成本可能最高。因此,为了降低 API 产品的整体变更成本,投资于设计、工具和自动化以减少这些资产的变更工作是很有意义的。
API 开发中通常需要处理四种类型的变更:接口模型、实现、实例和资产。每种变更对 API 和消费应用程序都有不同的影响,因此需要谨慎管理,以确保不降低 API 产品的质量。
2. 增量改进理念
2.1 持续改进的重要性
如果变更能推动 API 产品的改进,那么合理的管理目标就是让 API 变更尽可能容易。API 的最佳版本将来自持续的变更或改进循环。虽然有些变更可能不会立即带来显著改进,甚至可能暂时降低开发者体验,但从长远来看,持续的增量改进将使产品和开发者体验受益。
2.2 增量改进的方法
增量改进意味着明确目标方向,但选择小步前进,而不是进行“大爆炸”式的全面更改。通过一系列小变更,API 团队可以对每次变更的结果做出反应,进行一系列小实验,以找到实现目标的最佳路径。
2.3 戴明的 PDSA 循环
这种持续进行小改进的概念源于制造业,W. Edwards Deming 提出的“深刻知识体系”哲学中的 Plan - Do - Study - Ac