产品经理不断寻找为产品增加更多价值并向客户提供新产品体验的方法。如果您愿意,这种持续交付或持续部署需要能够向客户推送产品更新,并期望新功能能够正常工作。否则,它会被送回开发部门进行修复。
功能标志为产品经理提供了试验功能的空间。它允许逐步推出,并使他们能够简化哪些受众可以访问哪些功能。
在本文中,我将向您介绍什么是功能标志以及为什么工程师和产品经理都认为它们有价值的一般概念。
正如经常定义的那样,通常称为功能切换的功能标志是一种机制,它允许在运行时打开和关闭某些功能,而无需部署代码。
例如,在 Meta [以前的 Facebook],功能标志发挥着重要作用。您是否注意到当 Meta 宣布新功能时,他们会向一小部分人推出测试,然后逐渐扩展到全球更多人?这种受众细分允许公司首先与一部分用户进行验证,因为向其每月 36 亿活跃用户推出实验性功能是非常冒险的。
功能标志允许团队尽可能将新功能部署到生产环境。让我们探索一些用例:
这是关于在您的功能所在的环境中测试您的功能。对于包括我自己在内的一些 QA 工程师和产品经理来说,生产测试 (TiP) 可能会令人生畏。这就像在蛋壳上行走。出于显而易见的原因,TiP 可能会造成漏洞,从而将漏洞暴露给真实用户或破坏他们的体验。
使用功能标志可以减轻生产中测试的可能风险,因为代码可以部署在其后面,对客户隐藏,然后部署在金丝雀版本中。这使工程和产品团队能够以较小的风险精确控制推出新功能。
实际上,不仅要知道您的功能在暂存中有效,而且在生产中也有效,因此在生产中进行测试是有意义的。功能管理可帮助您安全地交付功能和产品体验。
软件即服务 (SaaS) 通常为客户提供不同的订阅计划。免费计划具有基本功能,而付费计划具有构成计划的各种一流功能。
使用功能标志进行定价以规定什么计划获得什么功能,有助于管理这些权利的过程。
这涉及启动相同功能的不同版本,以查看哪个版本的性能最佳。您针对已部署的功能实施 A/B 测试和分段等技术 [生产中的 A/B 测试]。
功能实验允许您比较功能以了解哪些功能具有最佳实现或首选。此外,您可以为某个功能编写一个假设,设置一个实验来启动它,测量它的性能,然后在验证后启动它。功能标志有助于构建想要测试的更改。然后将一个指标与特征标志联系起来,为实验提供了一个目的。
功能标志的整个想法是通过提供一种快速打开或关闭功能的方法来降低风险,即使在部署代码之后也是如此。强烈建议谨慎使用功能标志。让它们在少数情况下保持短暂,以避免复杂性。
经常检查标志以确保重要的标志相应地打开或关闭,因为滥用它们可能会产生不良后果,如这个现实生活中的例子所示:一家拥有近 4 亿美元资产的公司在 45 分钟内因失败而破产部署。该团队重新使用了旧代码使用的功能标志,以试图控制操作风险。
现在您已经了解了功能标志的概念和注意事项,值得注意的是,有许多功能标志平台有助于自动化功能标志管理:split.io、LaunchDarkly、CloudBees 等。
认识一个试图进入产品管理领域的非技术人员?您可能想与他们分享我之前关于“ 为产品经理探索必知的技术概念:您的开发人员思维指南”主题的文章。感谢分享!
随时在LinkedIn上与我联系。