小米科技|深度 | 从DevOps到BizDevOps, 研发效能提升的系统方法( 四 )



第一 , 对于业务需求 , 要有明确的业务目标 , 并基于目标定义清晰的业务流程 , 确保业务流程可以支持业务目标的实现 , 这是业务分析要完成的工作 。
第二 , 对于产品需求 , 它要能支持业务流程的实现 , 为此我们要基于业务流程 , 明确定义产品的功能 , 对于每一个产品功能 , 首先要明确用户使用的交互流程 , 并在交互流程的基础上 , 明确验收标准 。
第三 , 明确业务需求、产品需求之间的结构 , 也就是业务需求和产品需求之间的层级关系 。 这对后面的团队协作都很重要 , 我们协作交付的目标不是产品需求而是业务需求 , 只有结构清晰 , 协作的时才知道这些产品需求如何协同向业务对齐 , 完成快速交付业务需求 。
总结一下 , 业务分析和产品设计分是一个金字塔的结构:

需求永远源自业务目标 , 基于业务目标分析业务流程 , 基于业务流程分解产品需求 , 并对产品需求进行设计 。
金字塔的上面两层:是业务分析关注的 。 我们引入了“事件驱动的分析”方法 , ——基于目标和业务事件分析业务流程 , 并基于业务流程拆分定义产品需求 , 并划分最小可行产品(MVP) 。
金字塔的下面两层:是产品设计所关注的 。 在业务流程设计的基础上 , 分解出产品需求 , 并对产品需求进行澄清 。 澄清和设计需求最好的方式是以用户使用实例来说明操作流程、验收规则是什么样 , 也就是用户在什么情况下 , 做什么操作 , 将得到什么结果 。 我们引入了“实例化需求”分析方法来支持这一过程 。
通过系统的业务分析和产品设计方法 , 在需求上从GIGO转变为以终为始 , 这是局部效率转化为高效交付的重要一环 。

下面 , 让我们在从另一维度 , 解释一下协作和需求实践 , 以上图的产品截图为例 , 总结一下 , 我们在协作部分要做到的三点:
第一点 , 我们要看到并且要管理端到端的业务需求的交付过程 , 我们称之为前后职能拉通 。 这些职能可能是业务、产品、开发、测试 , 部署和运维 。 我们要拉通这些职能 , 让他们更高效的配合 , 让业务需求从左到右顺畅的流动和交付 。
第二点 , 左右模块对齐 。 一个业务需求可能会分解到不同的产品里面 , 每个产品都有自己的工作流 , 产品的交付要向业务的交付对齐 。
我们的目标不是让某一个产品忙起来 , 而是让业务需求的交付更顺畅 。 所以各个产品都要向业务需求的交付对齐 。 研发管理工具上也要能实现这一点 , 包括 , 规划上对齐产品和业务需求 , 以及在执行过程中对齐产品和业务 , 并即时发现因无法对齐带来的阻碍和等待 。
第三点 , 内建过程质量 。 需求在每个阶段应该有明确的质量标准并执行到位 , 例如需求输入的质量要做到以终为始 , 需求测试的质量、测试转发布等都应该有明确的标准 。 质量应该建立在每个需求的每个阶段之上 , 而不是成批的依赖于最后的检测阶段 。
我们要做到前后职能拉通 , 左右模块对齐 , 内建过程质量 。 最终形成这样下图所示的协作模式 。

图中每个节点都是一个具体活动 , 这些活动有它的节奏、负责人、输入输出 , 以及实践方法的支持 , 如前面提到的事件驱动的业务分析和实例化需求等 , 这样才能让业务、产品、技术真正形成一个整体 , 做到这样顺畅和高质量的交付业务需求 。
技术和工程实践 技术和工程部分 , 我们究竟要解决什么问题呢?我们先看一幅图 。

上图横轴是时间 , 纵轴是生产效率 。 我们希望效率是沿着绿色线一路向上的 , 但是现实中可能随着时间的推移、产品变得复杂、团队规模变大 , 而效率反而降低 。

相关经验推荐