只有当自己知道需要什么的时候,才有可能会获得它,这也是探索需求的必要性。
探索需求主要有六个步骤:建立语言体系——提出产品问题——找到相关人员——明确期望(功能、属性、约束、偏好)——测试需求——学习竞品
一、建立语言体系,避免含混性
产品的需求描述用不同的语言、工具进行交流的成本是非常高的,应该尽可能统一一套“映射”,意识到产品的“映射”不等于产品。
人类交流的无奈,会因为对同一事物的不同见解而产生,这说到底是语义的多样性造成的。
含混性是无法完全避免的,因为人的表达带有主观性,又因成长背景的不同对于同一事物有不同看法,但是我们能做的是尽可能地降低含混性。
要降低含混性,可以尝试以下几种方法:
含混性投票:创建一个度量来评估;
记忆启发:让不同的人试图精确地根据记忆进行回忆,回忆不起来的地方很可能是含混的;
注意多义词,发现尽可能多的可能。
二、提出产品问题
这个系统解决什么问题?
这个系统会带来什么问题?
这个系统最有可能遇到的环境是什么?
我们需要或期望这个产品有什么样的精确程度?
三、找到相关的人
1、客户
对需求买单的人。
2、使用者
列出可能的用户群,把他们分为友好的、不友好的和可忽略的三类来简化列表。
在三个维度上给使用者的参与进行分类
四、明确期望
功能
明显的功能
隐藏的功能(用户不易察觉到的)
装饰性功能
努力揭示隐藏功能,而装饰性功能是“如果能实现那么就做”的功能列表。
属性
两种产品可能有相同的功能,但是它们的属性可以让它们成为完全不同的产品。
区分属性与属性细节:
将属性细节归于某种属性,将属性下的细节收集完全;
将属性分类为:
必须(M)、需要(W)、忽略(I)
约束条件:
一个约束就是置于一个M类型属性之上的强制性条件。
必须定义约束才能让参与者客观地判定,在完成的产品中它是否已经得到满足。
约束线代表了边界线,定义了一个解决方案空间的闭合区域。
偏好
偏好是附加在属性上的一种愿望。
五、测试需求
· 将期望分类
· 用户满意度测试
· 测试用例
黑箱测试(刺激-响应)
设计本身就是将黑箱转变为白箱的过程——一个我们能够清楚地看到所有怎么样的细节的过程。
测试需求的完备性、准确性、简明性。
六、学习已存在的产品
1、比较产品,提出一份在新需求中可能遗漏的功能列表;
2、访谈一些旧产品的使用者,提出一份当前系统中不见了的功能列表;
3、准备一份新产品在开发中的潜在的问题列表。
七、结束需求过程
不要因为对不完美的害怕,让你进入无止境的循环。
这个时候就不要再变更需求了。