WHY – 为什么需要功能需求设计说明书
在没有功能设计文档时,主要有如下几个问题:
-
前期研究团队沟通成本
如何要让团队里面的所有人员对软件产品的功能需求设计有一个共识?没有功能设计文档,当该项目的团队人员越多,沟通成本就变得很高。
研发人员很容易有一个通病:以为自己了解了一小块需求就立即开始埋头狂撸……代码。最终很可能与项目经理、产品经理和客户真正想要的功能相差甚远。
更可怕的,研发人员把数据库设计好了,代码也已经写得差不多了,这时产品狗突然跑到程序猿这,说我们的需求要做一点变化(这种场景似乎很常见),大家都知道,“对产品狗来说那一点变化,可能会害得程序猿撸个几天几夜”。那很小的变更可能导致之前设计的数据库,码的代码都不能用了。对于程序猿没有什么比加班加点写了几个月的代码,最终被产品狗告知需求变了,代码要删除重新写更可怕的。(不过现实中的需求变化归根节低大部分来自甲方)
-
前期任务进度安排和分配以及工时估计
该文档也是任务进度安排和分配的重要依据。在没有功能需求设计文档之前的所有任务进度计划都是瞎扯淡,都不知道具体要做什么东西,哪能拿出合理的任务进度计划。如果拿出来了,那也不是经过认真分析做的进度计划,质量有待权衡。
-
后期测试团队产品测试
测试团队应该在项目开始之时就应该介入,而不是在产品开发完成之后。测试团队应该对功能需求设计文档充分了解,且以此来编写具体的测试用例文档。否则,只能是在界面上进行简单的表面测试,而真正的BUG并不在表面,这些BUG会藏得很深,等发现的时候可能已经造成很大的损失,这点确实很重要。
测试用例应该尽可能详细,尽量保证测试用例走完能确保产品能上线发布。
WHAT – 什么是功能需求设计文档 & 应该包含哪些内容
-
什么是功能需求设计文档
功能需求设计文档最重要的是描述产品所要包含的所有功能,越详细越好,可以结合产品的原型设计图来讲解。让项目所有相关人知道产品是什么,包含哪些页面,页面如何跳转等。
该文档是产品经理、项目经理、研发人员沟通的一个桥梁,一份好的功能需求设计文档是软件产品是否能成功的关键。
考虑该文档的受众,这份文档不应该包含具体的编程技术上的说明,不管你是用PHP、C#、JAVA还是其它的。
-
一份合格的软件需求设计文档应该包括哪些内容呢?
1、项目背景
项目产生的实际背景、具体的运用场景、大致要解决什么样的问题、针对的阅读对象、版本修改记录、文档作者以及修改人信息。
2、详细的功能点描述
写明产品所包含的所有功能点,对功能、界面、接口的描述一定要充分详细,每处可以交互的地方都要给出具体的说明。再次强调,一定要详细描述每一个页面所拥有的功能。
3、使用场景(画面感)
将复杂的业务逻辑融入到具体的使用场景中,更容易让项目经理、研发人员、销售人员、运营推广人员不同背景的人产生共识。
4、流程图
大家都知道“一图胜千言”,能用图说明的尽量用图来说明,只通过大量枯燥的文字可能效果并不太好。流程图是一种用图形表示逻辑和算法的工具,特别对研发人员撸代码很有帮助。
5、结合产品原型设计图
产品原型设计图可以粗枝大叶地产品大致的框架。便于项目经理、研发人员、销售人员、运营推广人员等人在产品未开发之前对产品有一个相对直观的认识。
没有一个原型图,想把所有人拉到同一个频道沟通一定是不可能的事。