软件开发充满了风险,可能会使项目搁浅,就像一艘船在岩石海滩上一样。无论是对需求的误解、快速发展的市场还是老式的错误和进度延误,所有这些都可能使资源充足和管理良好的软件开发项目脱轨。
即使软件开发团队最终交付他们的产品并从客户那里收取款项,也不能保证该产品会被使用。2022 年的一项研究发现,在那些为 SaaS 软件付费的人中,29% 的软件要么未得到充分利用,要么被浪费。该研究还指出,只有 33% 的 IT 专业人员跟踪 SaaS 软件的使用情况。这里的结论很明显:作为一个行业,我们的大部分劳动力都没有达到生产目的。
这不是软件的新趋势。存在一个完整的工具生态系统,以帮助软件开发公司收集用户参与度指标以推动开发决策。事实上,在全球前 1000 万个 站中,近三分之二的 站都有分析解决方案。然而,相比之下,API应用程序在采用这种做法方面远远落后。很难获得API 分析的市场渗透数据,但 API 管理供应商 Apigee 的一份 告显示,即使在其客户中(即那些已经为包含 API 分析的服务付费的客户),也只有 26%使用分析功能。这使人们相信大多数功能都未被使用。
API 应用程序所有者没有将现实世界的分析使用数据集成到他们的决策过程中,他们将时间和金钱留在了桌面上。尽管无法立即访问用户行为,但 API 分析在帮助 API 应用程序所有者做出有关应用程序开发和维护的更好决策方面非常有价值。
API 应用程序所有者应该考虑以下三种方法来做出更好的产品开发决策。
在应用程序最活跃的领域优先考虑功能开发
我在自行车店工作中学到的最好的一课是“存货”。换句话说,在货架上摆满客户不购买的产品是没有意义的。使用客户未使用的端点存储 API 产品目录也是如此。
API 分析允许 API 产品所有者衡量功能的使用并评估其有效性。产品所有者可以使用这些有价值的信息来优先扩展流行功能或开发新功能,并使用明确的标准来衡量使用情况。此外,这些数据使开发团队能够通过交付初步功能集并在全面实施之前评估使用指标来“最大限度地减少未完成的工作量”。同样,如果现实世界的反馈不令人鼓舞,它可以让您转向产品中的另一个机会。
弃用或终止未使用的应用程序功能
未使用的代码和功能对 API 产品组织来说是一种责任,并且可能携带错误、产生性能问题并引入安全风险。作为一名软件开发人员,我见过一些情况,这些旧功能是由早已离开组织的开发人员编写的。这些未使用的部分通常包含严重的安全缺陷和漏洞(例如多年未打补丁的软件依赖项)以及公司中没有人完全理解的可疑授权逻辑。
未使用的无关功能也会导致产品臃肿,从而分散最终用户对 API 核心价值的注意力。提倡删除“工作产品功能”可能很困难,但 API 分析数据可以帮助证明某些功能只不过是一种昂贵的干扰。删除应用程序中旧的、未使用的部分还可以让开发人员专注于用户喜欢的部分。
优先考虑性能改进
性能通常是实现时间/成本和产品要求之间的良好平衡。
过早的优化是万恶之源,这是软件开发中广为人知的格言。然而,在缺乏真实世界的性能数据的情况下,确定什么代表过早的优化与完全必要和谨慎的优化通常归结为工程师之间的主观争论,或者更糟的是,一种规避风险的软件开发文化会导致时间缓慢——市场。
客观地衡量性能影响,例如客户端受到次优性能影响的实例数量,可以帮助应用程序所有者决定如何分配预算来提高性能,而不是开发新功能或修复错误。此外,拥有这个反馈循环可以使开发团队能够采取灵活的“快速、经常发布和评估”的开发方法。与其因为担心看不见的问题会导致性能不佳和用户不满意而预先优化性能,不如随着时间的推移跟踪和审查性能。
选择 API 分析解决方案
操作单个应用程序的 API 产品所有者在决定为其产品使用哪种分析工具时有多种选择。针对个别 API 开发语言和框架存在许多专门的解决方案。然而,安全团队有一个独特的问题:他们需要跨所有应用程序和跨组织内所有技术平台的所有数据。在这种情况下,我推荐具有强大 API 分析功能的 API 保护供应商,它不仅可以防御威胁,还可以为您提供确定工作优先级所需的可见性。
API 分析应该是推动创新的工具。不要把它留在你的工具箱中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!