阿里巴巴DevOps实践指南(四)| 需求的层次结构

简介: 清晰定义需求的层次结构,明确各个层次的价值。基于它们,我们就可以定义协作过程,实现并交付这些价值,保障协作和交付的效率和效果。

image.png

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。

解决交付问题的第一步,是搞清交付的是什么。否则,交付对象是模糊的,明确的过程就无从谈起,更无法保证过程效率。

搞清楚交付的对象,具体包括它来源于哪里,为什么服务,有怎样的层次结构以及各个层次承载的价值。接下来,我们将基于最典型的需求层次结构,介绍这部分内容。

典型的需求层次

image.png
典型的需求来源及需求层次关系

上图展示了典型的需求层次结构,它包含三个层次:业务需求、产品需求和技术任务。

业务需求

需求协作和交付过程,最终必须为业务服务——交付业务价值,并保障业务成功。业务需求来源或转化自原始的用户诉求或业务和产品的初始想法。这些原始的需求经过过滤、归类和分析转化为正式业务需求。

不同特征的组织,业务需求的习惯名称不同。比如:强调用户驱动的可能称之为“用户需求”,对外以产品形式售卖的可能称之为“解决方案”或“产品特性”。不管名称是什么,它们的共同特点是都服务于业务的目标,且最终都要落地为产品功能。在本篇中,我们统称其为“业务需求”,强调这个层次的业务属性。

业务需求承载业务价值,它是系统验收的基本单元,也是运营和发布(Release)的基本单元,需要时可以被独立地发布和运营。它一般由业务人员(如业务运营或业务分析师)负责收集、创建和维护。

产品需求

产品需求可以分为两类。第一类拆分自业务需求,直接服务于今天的业务,它一般由业务负责人或产品经理基于业务需求拆分而来;第二类源自产品的规划,它们不直接服务当前业务,而是为未来的业务做基础和提前的准备,典型的包括:产品的基础功能、提前的技术布局、技术重构等。它们通常由产品经理和技术团队创建和维护。

产品需求承载产品的具体功能,是产品集成和测试的基本单元,通常也是系统部署(Deploy)的基本单元。一个业务需求设计多个产品的功能时,它会被拆分到多个产品,对应多个产品需求。例如,业务需求是“在供应链中支持预先锁定库存”。为了实现它,需要供应链计划、库存管理、履约服务、财务结算等多个产品的功能改动,就对应多个产品需求。

技术任务

技术任务承载具体的实现工作,它是工作分配(Assign)的基本单元,也是实现的基本单元。技术任务分解自产品需求,它包括不同职能的任务,如前端、后端、算法等。技术任务的拆分通常由技术团队完成。

不同上下文中的层次结构变体

现实中,业务和产品复杂度不同,其层次结构也不同。下图是三个不同变体。从左到右分别适用于简单、典型和复杂的业务和产品。

image.png
基于不同的业务和产品复杂度的需求层次结构调整

图中的第一种模式适用于简单的业务。这时,业务与产品一一对应,业务需求与产品需求也合并为一层。这一模式下,原始需求直接转化为产品需求,产品需求分解为技术任务。这一模式适用于简单的互联网业务、企业应用或工具产品,业务在初创时都适合这一模式。

对于复杂的产品和业务,如果产品需求只有一个层次,可能会让产品需求过大。这时,可以将产品需求分解为两个层次——产品特性和产品需求两层,也就是图中的第三种模式,它适用于电信产品、基础技术产品、复杂的企业应用等复杂的业务领域。不过,对于大部分场景,第二种典型中的三个层次就已经足够。

赋予每个层次明确的意义和目的

不同方法体系,其需求层次结构的定义的依据不同,结果也不同,如:Scrum 中常用 Epic、Story 和 Task来描述需求的层次关系。这一层次结构的划分依据是规模。其中,Story(用户故事)是从用户角度对需求的描述,它要求能够在一个迭代完成;Epic(史诗)是巨型故事或故事集,需要被进一步分解为 Story;Task(任务)是对 Story 的进一步拆分,要求能跟踪和更新日常进展,通常可以由单个人完成,工作量不超过 20 工作人时(Person Hours)。

image.png
需求类型的不同命名方式

作为通用方法,Scrum 追求普适性,其推荐的需求层次刻意回避了业务属性。但是,它在提高普适性的同时,让协作过程的业务意义模糊,导致无法定义精准和有效的协作流程。

我们认为,只有明确需求层次以及每个层次承载的价值,我们才能够定义有意义的协作过程,过程相关的人员的职责和活动,并判断这一过程是否与所承载的价值匹配。因此,我们在设计需求的层次结构时,要求明确每个层次的意义和价值。

总结

以上,我们分析了需求的来源、需求的层次结构、以及每个层次所承载的价值。它是一个标准参考模型,本身具备较好的普适性。基于业务的特征不同,也可以加以定制。比如:因业务的复杂性不同,而增减层次;或者业务交付方式不同,而将业务需求改成其他名称。

清晰定义需求的层次结构,明确各个层次的价值。基于它们,我们就可以定义协作过程,实现并交付这些价值,保障协作和交付的效率和效果。下一节我们会介绍业务驱动的协作。

免费下载《阿里巴巴DevOps实践指南》

阿里巴巴合伙人和业界多位大佬力荐、何勉、陈鑫等17位阿里资深技术专家联袂出品、阿里十年DevOps经验沉淀总结、阿里巴巴DevOps落地实践一本通。

前往:https://developer.aliyun.com/topic/devops,下载完整版电子书。

image.png

相关文章
|
7月前
|
Ubuntu 安全 Docker
【DevOps】Docker 最佳实践指南(绝对干货)
祝您的 Docker 之旅一切顺利!
210 4
|
7月前
|
网络协议 Ubuntu Devops
【DevOps】Docker 最佳实践指南(绝对干货)
如果需要通过网络远程访问 Docker 守护进程,应开启 TLS 并确保只接受来自可信客户端的连接。
64 3
|
7月前
|
安全 Devops 网络安全
【DevOps】Docker 最佳实践指南(绝对干货)
【DevOps】Docker 最佳实践指南(绝对干货)
72 2
|
敏捷开发 架构师 Devops
《阿里巴巴DevOps实践指南》电子版地址
本书分为开篇、敏捷研发篇、代码管理篇、持续交付篇和解决方案篇五大篇章,覆盖 DevOps 演进史、核心理念与阿里巴巴最佳实践的全方位解析,从DevOps到云效架构师教你搭建DevOps平台,想要实现高效研发,读这本书就没错啦!
321 0
《阿里巴巴DevOps实践指南》电子版地址
|
Devops
《阿里巴巴DevOps 最佳实践手册》电子版地址
覆盖 DevOps 演进史、核心理念与阿里巴巴 DevOps 最佳实践的全方位解析手册,揭开阿里巴巴高效研发的秘密!
119 0
《阿里巴巴DevOps 最佳实践手册》电子版地址
|
Devops
|
敏捷开发 架构师 Devops
《阿里巴巴DevOps实践指南》下载电子版
本书分为开篇、敏捷研发篇、代码管理篇、持续交付篇和解决方案篇五大篇章,覆盖 DevOps 演进史、核心理念与阿里巴巴最佳实践的全方位解析,从DevOps到云效架构师教你搭建DevOps平台,想要实现高效研发,读这本书就没错啦!
131 0
《阿里巴巴DevOps实践指南》下载电子版
|
Devops
《阿里巴巴DevOps 最佳实践手册》电子版下载
覆盖 DevOps 演进史、核心理念与阿里巴巴 DevOps 最佳实践的全方位解析手册,揭开阿里巴巴高效研发的秘密!
192 0
《阿里巴巴DevOps 最佳实践手册》电子版下载
|
4月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
下一篇
无影云桌面