写点什么

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

  • 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:391102

评论

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

小程序容器可以发挥的价值

Geek_99967b

小程序容器

在 Flutter 中以编程方式截取任何 Widget

坚果

6月月更

SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

沉默王二

Java springboot

谈在代码中嵌入标记生成模版

原创 6月月更

深入浅出Spring事务的实现原理

清风

spring 原理 事务 源码学习 深入浅出

架构训练营模块三作业

融冰

Fabric.js 元素被选中时保持原有层级🥁

德育处主任

web前端 前端可视化 FabricJS Fabric.js 6月月更

C#入门系列(八) -- 方法定义

陈言必行

C# 6月月更

Java类与对象,万物皆对象

未见花闻

6月月更

抖音测试小说频道:抖音早已不再是短视频平台

石头IT视角

Disruptor 高性能堆内队列 系列二

Nick

Java Disruptor false sharing 6月月更 高性能堆内队列

Django API 开发:身份认证原理

宇宙之一粟

django 6月月更

物联网低代码平台如何快捷管理资产?

AIRIOT

服务管理与通信,基础原理分析

Java 架构 微服务 nacos Feign

Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice

No Silver Bullet

6月月更 SOAP Webservice RESTful Webservice

【愚公系列】2022年06月 面向对象设计原则(二)-开放闭合原则

愚公搬代码

6月月更

leetcode 934. Shortest Bridge 最短的桥(中等)

okokabcd

LeetCode 搜索 算法与数据结构

协同办公市场暴增背后:融云通信能力是需求重点

融云 RongCloud

一二三线互联网公司划分标准和榜单

laofo

研发效能 互联网公司 一线大厂 二线互联网 一线互联网

Linux驱动开发_倒车影像项目介绍

DS小龙哥

6月月更

聊聊我接触到的语言

卢卡多多

技术 语言 & 开发 6月月更

OKALEIDO的NFT聚合交易,打造面向艺术家的Web3商业生态

BlockChain先知

spring4.1.8初始化源码学习三部曲之二:setConfigLocations方法

程序员欣宸

Java spring 6月月更

聚焦中国算力大会 | 浪潮集团肖雪: 数字化转型新场景激发算力需求

云计算

基于 spring-cloud-k8s 跨NS坑续集

Damon

微服务架构 云原生 6月月更

重载(overLoad)与重写(override)的区别与详解(详解+对比+代码示例)

写代码两年半

javase 多态 重载 6月月更

Apache.commons.lang3 的 isNumber 将会在 lang 4 的时候丢弃

HoneyMoose

【LeetCode】爱吃香蕉的珂珂Java题解

Albert

LeetCode 6月月更

JavaScript原型链继承与盗用构造函数继承

大熊G

JavaScript 前端 6月月更

如何搭建短视频app源码,实现短视频内容的播放优化

开源直播系统源码

APP开发 短视频源码

【Python技能树共建】正则表达式

梦想橡皮擦

6月月更

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