软件工程读书笔记(八)——需求分析
私以为软件工程的起点便是需求分析。准确全面地找到这些需求主要有以下几个步骤
一、 获取和引导需求
作为本科生,身边共性的需求不难获取,实验室信息,导师信息,实习信息等等,总结起来便是我们需要一个综合的官方的信息发布平台。而这其中又牵扯到一个问题,要分的清用户需求和产品需求。用户需求是用户从自身角度出发,自以为的需求。用户经常提出的需求,从他们角度而言都是正确的,但更多是从自身情况考虑,对于产品的某个功能有自己的期望,但对产品定位、设计的依据等情况不了解,他们的建议也许并不是该功能的最好实现方式,也就不足以直接作为产品规划的直接依据。产品需求是提炼分析用户真实需求,并符合产品定位的解决方案。解决方案可以理解为一个产品,一个功能或服务,一个活动,一个机制。而后者才是我们最终要实现的东西。
二、 用户调研
(1) How the customer explained it / 客户如此描述需求
(2) How the project leader understood it / 项目经理如此理解
(3) How the analyst designed it / 分析员如此设计
(4) How the programmer wrote it / 程序员如此编码
(5) How the business consultant described it / 商业顾问如此诠释
(6) How the project was documented / 项目文档如此编写
(7) What operations installed / 安装程序如此“简洁”
(8) How the customer was billed / 客户投资如此巨大
(9) How it was supported / 技术支持如此肤浅
(10) What the customer really needed / 实际需求原来如此
漫画很写实了,首先用户就很难完全明确地表达出自己的意图,而经过产品与设计再到编码,中间信息的损失只会越来越多。
应对这种情况,我们通常采用如下方法:
- 焦点小组:即找到一群目标用户的代表,来讨论,这样跟更有针对性但同时也容易出现某些善辩人士控制主题的情况。
- 用户问卷调查:可以得到一些可以作为参考的依据,因为问卷调查的样本很难控制地即有统计意义又不至于样本过大。
- 深入面谈:个人觉得这是一种切实有效的方法,尤其是对我们选题是面向一小部分受众的情况,此时只要和行业代表沟通好,便能很大程度上了解整个受众群体的声音。