通向成功API的路径


虽然API已经存在了50多年,但它们只是在最近十年左右才成为主流,引起了人们对该技术的广泛关注和兴趣。

拥有面向公共的和内部的API有很多优点。然而,各种组织和团队在踏上通往成功API的旅程时仍在挣扎和面临问题。

我最近和Chris Busse,CTOAPIvista来谈论更多关于API以及组织应该如何考虑API。APIvista是一家专注于API开发和管理服务的公司,帮助客户通过API提供新的业务价值。Chris在IT行业有20多年的从业经验,他对公司和组织应该如何处理他们的API策略提出了宝贵的见解。

构建成功的API

根据Chris的说法,一个成功的API需要像一个公司的产品组合中的任何一个一流的产品一样的小心和关注。

“像对待任何客户一样,理解并让真正产品管理移情于您使用API的开发人员,对于设计一个可供采用的优秀API大有帮助。”

在处理API时应用产品管理原则和实践是将您的API视为一流产品的第一步。产品经理了解他们的最终客户。这同样适用于API。

理解API最终消费者的需求并了解API如何适合他们的软件开发生命周期对于构建一个可靠的API是至关重要的。在API开发和部署生命周期的每个阶段都考虑到终端消费者的需求将有助于将API的开发引导到正确的方向。

然后是用户体验的移情。设计API以及围绕它的工件和服务,以减少预期消费者的学习曲线,应该始终是首要任务。

以最终用户为中心构建API是设计思维方法的基础。设计思维试图在最终消费者,商业和技术之间找到平衡。

这同样适用于API,理想情况下,设计良好的API会找到这种最佳平衡。这意味着业务价值是由增加的API使用量产生和驱动的,实现的技术是没有错误的,并且符合公认的标准。

通过正确地平衡产品管理和用户体验原则,最终消费者可以轻松地采用和使用API。就像任何产品一样,被采纳就会被采纳。

Chris认为,对于公共API尤其如此。我们看到,很多时候,如果社区从API中获得了大量的价值(从构建文档到开发客户端SDK),他们就会为API的采用做出贡献。

市场的速度是一个考虑因素吗?

对发布日期有一个好的估计是很重要的。通常,在面向市场的速度和API设计的一致性之间存在一种权衡。虽然上市速度很重要,但它不应该导致API的第一个发行版效率低下,设计不佳。

为此,Chris建议确定一些初始的目标消费者,并在API的开发阶段尽可能多地获得他们的反馈。这将允许API的第一个好的发布,同时仍然满足发布的最后期限。从组织黑客马拉松到确定试点客户,收集用户反馈的创新方式并不缺乏。

要注意的错误

这种策略的一个常见错误是,组织只根据这些初始客户的需求来定制API,并希望API具有通用性,以满足整个市场的需求。然而,事实证明,这些共性导致了更多的差异。

因此,建议对这些初始客户的反馈采取开放式的展望。有一个具体的版本控制策略也可以帮助克服这个问题。

根据Chris的说法,“组织需要就何时以及如何向API添加新的更改提出一个坚实的计划,从而随着时间的推移迎合更大的终端消费者群体。”

如果有一个组织希望遵循的理想,上市时间可能会带来损失。让我们以超媒体API为例,它是API中一个新级别的标准。虽然发布基于超媒体的API有很多好处,但组织需要绝对确信最终客户具有能够使用这些API的成熟度和专业知识。请记住,通过采用新的标准,出版商也期望他们的最终消费者具有一定程度的精明程度。

Chris解释说:“尽管他们可能在社交空间或数字用户体验空间拥有技术或尖端产品,但他们中的一些人已经经历了漫长的旅程,可能仍在这段旅程中将其API提升为一流的公民产品。”

何时采用“设计第一”的方法

如果一个组织足够成熟,可以继续执行这个想法,那么首先设计是有意义的。正如Chris所解释的,有很多这样的情况:当一个API的设计被提出并决定后,API的开发就开始了,但是在开发过程中设计被更新了。

这并不是一个孤立的案例,如果不同团队之间的沟通不够有力,这种情况可能会非常频繁地发生。这种漂移只会增加团队的工作量,在某些情况下,还会导致团队之间的大量挫折感,敌意和不信任。

如果团队为开发团队提供API设计,以便在实现API时取得领先的开端,他们需要与开发团队有一条开放的沟通线路,并且需要存在大量的信任。因此,虽然像OpenAPI Specification(前称Swagger Specification),RAML,和API Blueprint服务于一个真正好的需求,把开发作为设计第一或代码第一需要更多的思考。因此,了解API的过程并找出适合您的开发团队的方法是很重要的,因为纸面上的理想并不总是实践中的最佳方法。

克里斯重申importance of design consistency。无论构建API的方法如何,组织下不同产品和服务的不同API应该具有相同的内部指南。最终开发人员应该认为组织提供的所有API都是由同一个组织构建的。即使这些API不相互交互,这也是正确的。

例如,像谷歌这样的公司,拥有用于YouTube,Google+和谷歌地图等多个互不相关的产品的API,仍然可以遵循一些既定的内部标准,以帮助开发人员轻松地适应他们的API。这种表述的一致性是Chris向他所有的客户推荐的东西。

衡量成功

API投资的一个挑战是认识到ROI最初可能是无形的。API投资的成功可以通过组织获得重复业务的频率,合同续签的频率以及组织的产品和服务受到欢迎的程度来衡量。所有这些自然会带来增长和收入,而且通常,事后看来,高管们会意识到这是由于公司在将API视为一流产品方面进行了投资。

成功的另一个很好的衡量标准是用户采用。很多时间需要花在API的消费者体验上。Chris和他的团队衡量的一件事就是“你好世界”的时间。这是API的最终使用者成功调用所需的时间。文档和代码示例越好,最终用户验证和调用API所需的时间就越少。

设定正确的期望

对于组织来说,重要的是要认识到使用他们发布的API还涉及到成本和客户方面的工作。这些API还将与其他公开类似服务的API和产品竞争客户资源。因此,期望一旦API构建完毕,用户就会自动开始使用它并不是正确的方法。

就像任何产品一样,一个API将花费时间和精力到达它的目标受众。采用API的时间比很多人认为的API要长,即使是最成功的API也需要3-5年才能达到普及程度。无论是从采用到支持和维护API,API的各个阶段都有总体拥有成本,要取得正确的成功还有很长的路要走。

用Chris的话说,“不同的公司可能处于其API生命周期的不同阶段,期望它们以同样的势头到达终点是不务实的。”

归根结底,每一个API都在努力解决终端消费者的一个痛点。将价值归因于痛点,以及API提供的解决方案,最终将使其在技术和业务层面取得成功。

API的未来

Chris认为,人类用来与机器交互的界面将逐渐退居幕后,计算将变得无处不在而不可见。在过去的几十年里,我们已经看到了界面的重大发展,从第一台电脑的巨大盒子到我们口袋里的iPhone 7英寸显示屏。对于API来说也是如此,有了更好的有趣的接口,最终开发人员可以使用这些接口。

有兴趣了解更多吗?

Chris Busse本周在马萨诸塞州波士顿举行的API战略与实践会议(APIStrat)上发表演讲。Learn more. 

Follow Chris Busse on Twitter同时分享了他对API空间的想法。

如果您有兴趣了解更多有关APIvista的信息,check out their website here