以下是写好MRD的10种技巧-第二部分(6-10)
6、说明"是什么"和"为什么",但不要"如何"
产品经理为理解客户的需求负责,然后基于这些理解定义什么和为什么需要开发.
有一件比任何事情让开发者发疯就像在几英里外都能听到的汽笛在他们耳边尖叫一样的是一个令人痛苦的详细描述了怎样实现每一个需求细节的MRD。
考虑你们公司正在开发的以下两种描述CRM“Login”功能的方法。
推荐-描述“是什么”
Mike是一个销售经理,当他打开我们的CRM软件,他会看到一个登陆界面...登陆界面建议提供“记住我”复选框。如果Mike在点击登陆按钮之前选择了该复选框,我们的软件将记住并且在他下次来到登陆界面时自动填写他的名字。
不推荐-描述“怎么样”
Mike是一个销售经理,当他打开我们的CRM软件,他会看到一个登陆界面...登陆界面建议提供“记住我”复选框。如果Mike在点击登陆按钮之前选择了该复选框-将通过Javascript 保存他的名字以cookie的方式写到他的硬盘。当cookie写到硬盘后,用户名和密码将被发送到服务器。下一次Mike来到登陆界面时,Javascript 将读取他的cookie,成功读取后,Javascript 将是适当的DOM命令填充登陆页面上的用户名。好的产品经理擅长理解用户的需求和描述什么需要实现,好的工程师擅长决定怎么样实现它。好的工程师希望能自由的决定怎么样最好的实现用户希望得到的东西。
我注意到有技术背景的产品经理尤其喜欢描述“如何实现”。如果这些描述的就是你,应该从现在开始不要再做这样的事了。工程师们将会感谢你。
附:这里有一些例外的情况-当在描述“是什么”中描述“怎么样”是必要的,当描述“是什么”的最好的方式和/或唯一的方式就是描述“怎么样”的情况。
7、覆盖非功能性需求
尽管功能性需求描述产品的功能,非功能性需求描述系统特性,如:
a)性能
b)可伸缩性
c)可用性
d)国际化
e)等等...
我注意到因为许多产品经理和产品市场人员认为这些是“技术细节”,而在MRD中被忽略。我发现这些是我的MRD中非常重要的一部分,工程师们会非常感激在MRD中定义这些需求。
要点:当写非功能性需求的时候,尽可能的是使他们可度量(可测试)。否则,QA不能测试它们,你将没有办法知道完成的产品是否已经实现了这些非功能性需求。
文章来源于领测软件测试网 https://www.ltesting.net/