扫码阅读
手机扫码阅读

需求文档里全是“当当当”,写的时候快疯了,改的时候直接崩溃了...

122 2024-03-20

#
产品经理必聊的100个话题



第7期:需求文档描述

当、当前用户是管理员的时候...

且当当前的流程状态为已审批...

且当 当前用户所属部门为本数据的创建者同一个部门的时候...

执行保存操作...

否则当....

否则当....

否则当....

你写的需求文档也是这样吗?




当当当当


Business Analysis






这种需求的格式叫当当当当格式的需求。采用“当”作为关键词,表示触发条件。一般情况下,触发条件都不是一个条件,都是组合条件,而每个条件都有一个否则处理。




当当当当缺点


Business Analysis





1.难以判断各种条件的组合写的是否写完整

2.太长了,难以阅读理解

开发人员是很头疼看这样的文档的。

业务方也不愿意看这样的文档。

3.变更的时候是致命的

当需求变更发生的时候,很容易把一些不受影响的改错了。


可视化需求分析改进


Business Analysis





我们可以利用判定矩阵改变“当当当当”格式进行改进,简化业务复杂度,同时能够确需求分析的保覆盖率。

1.什么是判定矩阵?

判定矩阵是一种将状态和行为形成正交矩阵。用于判定在对应的状态下,是否可以执行对应的行为的矩阵。例如一个功能在不同操作下显示的状态有所不同,决策矩阵就是用来确认同一个功能在不同状态下是否能执行对应的操作。

2.哪些场景可以应用?

一般来说决策矩阵是应用于流程的处理,因为流程的每个步骤都会对应状态。梳理出来流程对应的状态,以及流程中涉及到的所有的行为就可以构成正交矩阵。

3.案例

当、当前用户是管理员的时候...

且当当前的流程状态为已审批...

且当 当前用户所属部门为本数据的创建者同一个部门的时候...

执行保存操作...

采用决策矩阵后,上面的需求可以改成这样,采用可视化的方式来书写,保存按钮是否可以按下的判定矩阵。

角色
状态
部门
结论
管理员
一般用户
未申请
已申请
已审批
本部门
别的部门




可以按下

用判定矩阵的方式进行改进后,需求变得更加易懂和维护了。


为什么推荐使用判定矩阵


Business Analysis





1.可视化

容易阅读、发现问题。

2.覆盖率保障

采用表格可以基于笛卡尔积填满所有组合,确保没有遗漏。

3.解耦合

● 容易响应变更和修复问题:

当扩展的时候,新增加一个矩阵;当修改的时候,只改当前的矩阵,不用改别的,也不影响。

● 引导开发更容易实现

原来的当当当当版本会引导开发人员用if-else的方式去实现代码,处理复杂。可视化的版本引导开发人员用数据配置判定矩阵简化处理。

原文链接: http://mp.weixin.qq.com/s?__biz=Mzk0MzM2OTQzOA==&mid=2247483941&idx=1&sn=ecde8b1c287ab1e494b2a29195cd548a&chksm=c335bf94f4423682f2bec4d01eb7a8dfe8ee2b2e75ae20624192b50ab56cd0df4fddcbd1a0c9#rd