3类需求层次结构关系,企业该如何选择和设置?

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 制品仓库,基础版人数 不受限
云效 DevOps 项目协作,基础版人数 不受限
简介: 企业在云效上到底应该用需求来管,还是任务来管?需求、任务总是傻傻分不清楚。

企业在云效上到底应该用需求来管,还是任务来管?需求、任务总是傻傻分不清楚。

今天我们跟踪云效《阿里巴巴DevOps实践指南》一起解决交付问题的第一步,是搞清交付的是什么。否则,交付对象是模糊的,明确的过程就无从谈起,更无法保证过程效率。搞清楚交付的对象,具体包括它来源于哪里,为什么服务,有怎样的层次结构以及各个层次承载的价值。 接下来,我们将基于最典型的需求层次结构,介绍这部分内容。

典型的需求层次

image.png

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

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

01 业务需求

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

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

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

02 产品需求

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

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

03 技术任务

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

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

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


image.png

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

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

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

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

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

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

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

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

总结

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

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

相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
相关文章
|
敏捷开发 数据可视化 Devops
云效需求管理与迭代规划
云效需求管理与迭代规划
633 0
|
9月前
|
人工智能 运维 Devops
基于云效落地平台工程企业级最佳实践
本文介绍了平台工程作为DevOps演进的必然方向,探讨了其建设过程中面临的挑战及解决方案。文中首先分析了平台工程与DevOps的关系,强调了其在提升价值交付和降低团队心智负担方面的作用。接着,通过云效作为基础设施,详细阐述了其如何帮助企业构建高效的研发平台,并分享了两个实际案例:一个是200人规模的互联网企业,另一个是2000人规模的金融行业企业。最后,展望了平台工程的未来发展方向,包括组件化开发、AI技术的应用以及智能化场景的融入。碧桂园生活服务集团也分享了其在平台工程领域的实践经验和未来思考,强调了标准化、自动化、可靠性和智能化四大原则的重要性。
238 10
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
936 3
|
12月前
|
前端开发 数据管理 编译器
引领前端未来:React 19的重大更新与实战指南🚀
React 19 即将发布,带来一系列革命性的新功能,旨在简化开发过程并显著提升性能。本文介绍了 React 19 的核心功能,如自动优化重新渲染的 React 编译器、加速初始加载的服务器组件、简化表单处理的 Actions、无缝集成的 Web 组件,以及文档元数据的直接管理。这些新功能通过自动化、优化和增强用户体验,帮助开发者构建更高效的 Web 应用程序。
552 1
引领前端未来:React 19的重大更新与实战指南🚀
|
敏捷开发 数据可视化 项目管理
项目管理工具:从Scrum到Kanban的演进与比较
【6月更文挑战第19天】Scrum和Kanban是敏捷项目管理的两大框架。Scrum注重迭代开发和自组织团队,通过Sprint和角色分工实现敏捷响应。Kanban源自丰田生产系统,强调可视化流程、限制WIP和持续改进,适合变化多端的项目。两者在迭代周期、角色定义和灵活性上有所不同,选择应基于项目需求和团队特性。
|
人工智能 API 数据安全/隐私保护
云效+SAE,5分钟搞定一个AI 应用的开发和部署
本实验将带你体验云效应用交付平台AppStack+Serverless 应用交付引擎 SAE,从应用视角,完成一个AI聊天助手的高效交付。
577 0
|
JavaScript 数据可视化 jenkins
云效流水线 Flow测评报告
该内容是一位维护人员对于CI/CD工具Flow的使用体验和改进建议。他提到Flow对新人友好,但主要与云效和Codeup关联性强。他建议:1) YML和可视化编排能互相转换;2) 流水线部署时可按参数选择主机组;3) Webhook触发器应可修改或重置地址以应对人事变动;4) 优化部署脚本执行,解决如`#!/bin/bash`导致的执行问题;5) 强化部署脚本模板和检查机制;6) 解决偶现的node.js打包异常。
659 4
|
安全 Devops 测试技术
深入了解阿里云云效DevOps:构建高效软件开发实践
阿里云云效DevOps,集成CI/CD与自动化测试,提升开发效率。支持持续集成确保代码质量,自动化测试加速交付,多环境及灰度发布保障安全可靠性。助团队构建高效开发实践,增强竞争力。
459 1
|
存储 机器学习/深度学习 算法
10个大型语言模型(LLM)常见面试问题和答案解析
今天我们来总结以下大型语言模型面试中常问的问题
601 0
|
运维 搜索推荐 算法