用户需求与产品需求
用户需求描述的是用户通过产品达成什么样的目标。
产品需求描述的是系统需要如何运作才能满足业务和用户需求。
我认为在需求管理和产品设计过程中,分清用户需求和产品需求二者的区别是至关重要的。
在产品设计过程中(尤其是2B的产品),如果只关注到产品需求而忽略了用户需求的感知和分析,则很容易变成闭门造车使最终产品无法满足用户。
需要特别注意的是,并不是用户提出来的需求就是用户需求,相反,用户常常很喜欢提产品需求。
例如:用户提出在产品的页面中将不同的查询条件的结果以标签的方向显示出来,可以进行切换查看。
用户的目的是同时打开多个查询结果并方便的切换查看(这背后还有更深一层的使用场景,为什么用户要这样做)。
而产品设计中满足这样的需求可以有多种方法,比如方便用户在浏览器多开窗口使用浏览器自身的标签切换功能来满足用户的需求。
捕捉和分析出用户需求对2B的产品成功至关重要,如果机械的去实现用户提出的产品需求,则会导致产品功能上的混乱。
更糟糕的是有时用户提出的产品需求其实不能满足其目标,不去进行需求分析而去照做,可能仍然会导致用户的不满。
需求管理#
进行产品设计时,实际上就是将用户需求转化为产品需求的过程,通常用户需求和产品需求并不是简单的一对一或一对多的关系。
在传统的软件开发过程中会使用需求跟踪矩阵来跟踪用户需求与产品需求,产品需求与各模块开发任务之间的关系,但其实施成本较高,在软件开发中已经很少使用,但在硬件开发中,这种方法仍然是目前通行有效的做法。
敏捷开发过程中的用户故事则是将用户需求细分成独立的小需求,并将用户的角色和想要达成的目标都写明在用例上,多个故事同过EPIC关联到一起。
需求分层#
https://medium.com/agileinsider/the-miracle-of-the-product-requirements-hierarchy-f5ecf16769ff
- 商业需求:业务上的大目标和战略(例如:6个月内将用户转化率提升15%)
- 用户需求:(例如:用户要能够保存多个付款方式)
- 解决方案需求:(例如:当用户点击提交按钮时,系统应检查所有的字段具体检查规则如…)
文章中提出的第四种需求(迁移需求)是一次性迁移的需求,与上面三类区别较大,这里将其忽略。