写点什么

如何进行需求结构化管理?

  • 2020-03-23
  • 本文字数:1542 字

    阅读完需:约 5 分钟

如何进行需求结构化管理?

为什么要进行需求结构化管理?

首先,并不是说任何情况下都需要进行软件项目需求的结构化管理。


如果只是事务性质的管理需求,也就是有需求了能记录、能跟踪状态、实现之后不需要继续跟踪、也不需要维护需求与需求之间的关联,那么不需要思考需求结构化管理这个问题。这种情况下,不管是用 DevCloud 的 Scrum 项目模板还是看板项目模板,都可以管理好需求和软件项目。


只有在需求较多、且需求之间存在关联,而且即便是已经实现的需求也需要进行一定的管理、维护的情况下,我们才需要去思考需求结构化管理的问题,此时,我们需要使用 DevCloud 提供的 Scrum 项目模板,因为里面有 Epic-Feature-Story 的需求结构,以及需求规划功能可以辅助我们进行需求的结构化管理。

以什么为依据进行需求结构化管理?

需求结构化管理,应该以什么为脉络来建立这个结构呢?


软件研发无非是分为项目型软件研发和产品型软件研发两种,项目通常来讲都是临时性的,或者说短期性的,而产品或者软件系统是长期性的,或者说我们会持续维护、更新其功能特性的。


项目复项目,我们很可能通过持续地完善和刷新同一套软件产品或系统来达成项目目标,交付软件项目所要求的功能特性的。这就意味着,我们的需求结构化管理,需要以产品或系统的功能特性的脉络为依据。而软件项目管理所需要关注的版本、客户、模块等信息,则可以通过需求的不同属性甚至标签等方式来实现。

使用 DevCloud 进行需求结构化管理的一种方式

针对产品或系统建立 DevCloud 项目


也即一个产品或系统,建立一个 DevCloud 项目,该产品或系统的所有需求,都在此 DevCloud 项目里面进行管理。




确立 Epic-Feature-Story 的需求结构


  • 这个产品或系统的业务模块作为 Epic,比如用户中心、购物车、配送管理等,比如一家货运云商,他们的油卡业务,就适合作为一个 Epic,针对油卡的各种功能,就可以作为 Feature 展开;Epic 要承载业务价值,也即 Epic 需要是对企业本身是有意义的;

  • 针对前面业务模块的具体展开、拆开,就可以作为 Feature,也可以简单理解为一个业务流程、用户流程;以前面用户中心为例,用户信息可以是一个 Feature、我的订单可以是一个 Feature、地址管理可以是一个 Feature;或者以油卡为例,购买油卡、我的油卡等就可以作为不同的 Feature;Feature 要承载用户价值,也即对于用户来说,是可以理解这个 Feature,且认可其价值的,通常 Feature 也是用户可以直接感知、可以操作的;

  • Feature 往往还是有些大有些复杂,那就需要拆成颗粒度更小的 Story,用来承载一个具体的用户操作,例如可以查看到所有订单、可以过滤订单、可以修改用户昵称、可以自定义头像等功能;

  • 再往下一级的 Task,就主要是为了分工协作,也即是说,如果 Story 可以包干到人,那么不再拆分 Task 也是可以的;Task 往往是关于工程师需要具体做的工作,也就跟业务价值、用户价值、用户单步操作都没有了什么关系,通常都是把 Story 按照具体的组件、模块进行拆分,例如前端、后台、数据库之类的,或者是按照工作流程分工来拆分,例如 UCD、开发、测试、部署等;



如下图所示,各层级为:


1.Epic:用户中心


2. Feature:地址管理


3.Story:用户可以新建地址


4. Task:【Web 端】页面入口及地址编辑表单、【数据库】用户地址数据表设计和实现


不同模块以及版本的管理


可以通过工作项的属性来进行管理,如下图:


  • 模块:Web 端

  • 发布版本号:1.0.1.2



至于模块清单的维护,可以在工作项编辑状态,点击“模块”字段右侧的小齿轮图标,即可在弹出窗口进行操作,可以添加、修改、删除模块:



在工作项管理的 Backlog 视图下,通过“设置显示字段”增加“模块”字段后,既可以很方便地看到工作项相关的模块,当然也可以进行过滤:



本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/Pyw2RfcirtyOpYuxHI9Jfg


2020-03-23 23:391223

评论

发布
暂无评论
发现更多内容

人工智能训练数据集:误区、挑战与应对方法

数据堂

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。

福大大架构师每日一题

golang ffmpeg

在oracle apex中的Dialog的做法(第一部门):

back_wang

oracle dialog oracle ebs ebs

2023 年要避免的 17 个致命的网站设计错误

海拥(haiyong.site)

三周年连更

如何在 Linux 中查看正在运行的进程?这三个命令轻松实现!

wljslmz

Linux 三周年连更

场景篇-ChatGPT帮我搭建博客网站并自动写博客!

码文

博客 ChatGPT

NCCL源码解析③:机器内拓扑分析

OneFlow

副业做得好,搞钱没烦恼:盘点那些靠谱的程序员副业!

禅道项目管理

程序员 副业 技术博客

龙蜥开发者说:亲历从基础设施构建到系统质量保障,龙蜥未来可期 | 第 19 期

OpenAnolis小助手

Linux 开源 sig 龙蜥开发者说 联通数科

和ChatGPT结对完成VS CODE插件项目分享

码文

vscode 插件 插件开发 ChatGPT

音视频八股文(7)-- 音频aac adts

福大大架构师每日一题

音视频 流媒体

《爱在黎明破晓前 | 我有话要说》

后台技术汇

三周年连更

ChatGPT-4!又双叒叕写了一本量化交易的书(附下载)

量化投资与机器学习

机器学习 量化投资 ChatGPT4 对冲基金 Quant

【源码分析】【seata】at 模式分布式事务 -xid隐式传递

如果晴天

源码分析 分布式事务 seata spring-cloud Seata框架

数据标注,优化模型辅助标注、Label 库管理|ModelWhale 版本更新

ModelWhale

云计算 编程 模型 数据标注 数据门户

ChatGPT 在 Python WEB 的Prompt项目分享

码文

Python 开发 ChatGPT

Go 语言中没有枚举类型,但是我们可以这样做

陈明勇

Go golang 枚举 Enum 三周年连更

挑战 30 天学完 Python:Day13 列表推导式和Lambda

MegaQi

挑战30天学完Python 三周年连更

中国厨房更净一步:一场科技“下凡”带来的方太式浪漫

脑极体

Go的内存模型:如何保证并发读写的顺序性?

Jack

12秒内AI在手机上完成作画!谷歌提出扩散模型推理加速新方法

Openlab_cosmoplat

人工智能 机器学习 AI绘画

性能大PK count(*)、count(1)和count(列)

架构精进之路

MySQL 数据库 后端 innodb 三周年连更

场景篇-ChatGPT帮我实现发送公众号推文

码文

微信公众号 代码生成 ChatGPT

轻量级协作任务管理看板

顿顿顿

敏捷开发 任务管理 敏捷开发管理工具 看板工具 scrum工具

ZincSearch 一款 Elasticsearch 的轻量级替代品

宇宙之一粟

Go 三周年连更 ZincSearch

eBPF的发展演进---从石器时代到成为神(四)

统信软件

操作系统 Linux Kenel

Apache Doris 1.2.4 Release 版本正式发布|版本通告

SelectDB

数据库 大数据 数据分析 Doris 联邦查询和分析

iOS MachineLearning 系列(8)—— 图片热区分析

珲少

Django笔记十八之save函数的继承操作和指定字段更新等实例方法

Hunter熊

Python django save auto_increment primary key

华为阅读联手20余家头部内容平台,共建数字化阅读

最新动态

如何进行需求结构化管理?_行业深度_华为云产品与解决方案_InfoQ精选文章