功能管理(Feature management)对软件交付的影响

对于产品研发团队来说,每次软件新版本发布的时候都会面临很大的压力,研发人员、产品经理、测试人员甚至市场运营人员都要在新版本上线的时刻随时待命应对随时可能出现的意外情况,新版发布当天加班熬夜也已经成了常态。一批功能历经一个迭代周期的开发,再从测试环境发布到生产环境上,总会存在较大的风险。如何改善当前软件交付的状况?能否让软件发布简单、快速、安全低风险呢?要实现这一个目标,就要从功能管理说起。

一、什么是“功能管理”?

"功能管理"是一种软件开发中的理念与实践。将新功能通过带有开关控制的代码部署到生产环境中,并将功能有选择性地释放给终端用户。与以往的版本发布方式不同,按版本为粒度的发布通常揉合了一批新的功能,所有功能只能在这一个批次中全部提供给用户,遇到发布问题只能全部进行回滚。而功能管理可以做到按功能粒度灵活地、有效地、安全地、快速地选择发布规则,并且可以单独验证每个功能的效果。

二、功能管理与渐进式交付

渐进式交付是将复杂的工程项目进行分阶段拆解,通过持续进行小型迭代闭环,降低交付成本并节省交付时间。功能管理和渐进式交付的目标是一致的,都是降低软件产品风险,快速验证商业目标。功能管理在『功能』粒度为渐进式交付铺平道路,使单个功能的渐进式交付成为了可能。在当前千变万化的商业环境中,通过渐进式功能交付,让产品在软件开发过程中赢在起跑线上。

image

三、功能管理与DevOps

功能管理也是 DevOps 中的重要一环,通过功能管理,可以更好的达成 DevOps 中的以下目标:

  • 提高部署和发布效率
  • 减少变更准备时间
  • 降低 MTTR(平均修复时间)
  • 降低变更失败率

四、功能管理的四大支柱

功能管理由构建、运维、复盘、赋能,四大支柱支撑。通过这四大支柱的实践,才能发挥功能管理最大的功效。

  • 构建

构建包含了功能开关的创建、新功能的交付、问题修复和代码变更等。规划和构建功能开关是产品功能发布前,甚至是研发开始前的重要活动。它会影响到软件的产品功能以及研发计划,比如说开发团队采用哪种分支管理模式、测试过程如何安排独立功能与功能组合测试、产品功能维度的推广发布计划等。构建的目标是更快的开发部署,降低产品试错成本,并且可以快速的验证代码变更带来的效果。

  • 运维

在产品运维过程中,可以利用功能开关监控去查看功能的线上运行情况与用户反馈,一旦功能有故障或者用户反馈异常,能随时关闭功能,可以在几秒内快速消除影响,保障应用程序其他功能的正常使用。

  • 复盘

复盘可以让产品团队更好地了解到产品更新是如何影响到系统和用户,整个团队包括设计、产品、研发、管理者都可以通过功能管理平台复盘学习,更全面地了解产品对用户行为的最终影响,最后由数据驱动产品。

  • 赋能

传统的软件交付方式依赖于研发人员,只能由研发人员来操作设置发布。功能管理可以将产品发布授权给运营、产品、销售等非研发技术人员。相比较研发人员来说,产品、销售、运营等工作人员接触到前端的真实用户,可以更了解用户的真实需求,但由于缺乏技术能力,导致他们无法控制发布,也缺乏验证需求以及商业可行性的手段与工具。功能管理可以赋予他们这些应有的能力。他们不需要掌握研发技术,只需要极少的学习成本即可快速上手将产品功能发布给特定条件下的用户,并获取到用户反馈。

FeatureProbe 是为功能管理量身打造的产品,我们的使命是让产品功能发布更有价值,推动行业软件工程能力的提升,由被动的软件交付方式转为主动规划、功能粒度控制的发布模式。

目前 FeatureProbe 使用 Apache 2.0 License 协议已经完全开源。你可以在 GitHubGitee 获取到所有代码。与此同时,我们提供了无需部署的在线试用环境 和一个仅需5分钟即可体验的示例项目.

image

FeatureProbe是一款新型交付功能管理发布平台,通过FeatureProbe的功能管理平台可以对产品功能粒度进行...

1 声望
0 粉丝
0 条评论
推荐阅读
从数据中发现真相,贝叶斯方法为你的AB实验加速优化
最常见的用于AB实验的假设检验方法是频率学派的零假设检测 (Null Hypothesis Significance Testing) 。但近年来贝叶斯方法因为有较好的鲁棒性和可解释性也逐渐流行起来。

FeatureProbe阅读 107

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥11阅读 1.2k

封面图
又一款内存数据库横空出世,比 Redis 更强,性能直接飙升一倍!杀疯了
KeyDB是Redis的高性能分支,专注于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能,例如Active Replication,FLASH存储支持以及一些根本不可用的功能,例如直接备份...

民工哥4阅读 949评论 1

封面图
Win10 安装Docker以及Jenkins(超级详细篇)
安装Docker下载地址:[链接] ,按照它的指引教程,无脑下一步即可。安装成功后电脑会重启。打开docker桌面端,会显示进入链接,下载WSL 安装包进行无脑安装即可。安装 Linux 内核更新包 (重启电脑)重启 Docker ...

九旬3阅读 499

http 和 https 的通信过程及区别
🎈 两者的区别端口: http 端口号是80, https 端口号是443传输协议: http 是超文本传输协议,属于明文传输; https 是安全的超文本传输协议,是经过 SSL 加密后的传输协议安全性: https 使用了 TLS/SSL 加密,...

tiny极客2阅读 2.8k评论 2

封面图
100 行 shell 写个 Docker
在初接触Docker的时候,我们必须要了解的几个概念就是Cgroup、Namespace、RootFs,如果本身对虚拟化的发展没有深入的了解,那么很难对这几个概念有深入的理解,本文的目的就是通过在操作系统中以交互式的方式去理...

vivo互联网技术2阅读 453

openSSH升级公钥失效Permission denied (publickey)解决方案
背景centos系统升级openSSH后,服务器上无法再拉取代码,报错如下:原因服务器重新安装SSH后公钥改变,需要重新安装ssh-keygen -t rsa -C "邮箱地址"生成公钥,删除gitlab原有公钥,但是git pull依然报错如下:依...

兰俊秋雨2阅读 1.5k

FeatureProbe是一款新型交付功能管理发布平台,通过FeatureProbe的功能管理平台可以对产品功能粒度进行...

1 声望
0 粉丝
宣传栏