构建之法阅读笔记06-第八章用户需求

阅读笔记

第八章:需求分析

第八章的需求分析介绍了软件需求的类型、利益相关者,获取用户需求的常用方法和步骤,竞争性需求分析的框架NABCD以及项目计划和估计的技术。

在软件需求方面,可以从利益相关者那里,引导他们表达需求,从而获取。从用户那里获取了需求之后,需要分析和定义需求,也就是对需求进行规整,来定义一下需求的内容。下一步就要像用户去验证这些规整好的需求,看看是否满足用户的需要。另外在软件开发过程中也会对需求进行调整,来适应新的变化。

在对软件的需求方面,可以分为对产品功能性的需求,也就是要求超频产品实现某些功能。也可以对产品开发过程的需求,要求开发流程满足某些约束条件。也有一些非功能性需求,还有综合需求。

上面提到的一些软件产品的利益相关者,可以是直接使用软件系统的用户,也可以不一定是直接用户,但是他们的利益和软件直接相关,还有一些市场分析师,监管机构和软件工程师。

接着介绍了用户调研的方法,可以是下面几种:一种是焦点小组。最常用的一种方法,大家一群人围在一起来讨论对一个软件的看法,但是这种方式也会有一些弱点。还有一种方式是和用户深入的面谈,可以深入了解用户需求,但是费时费力。这种方法可以用在软件可用性研究上。探究用户在使用软件时的建议,并进行改进。还有的方式是卡片分类,对各种需求进行谈论-明晰定义-归类-排序。还可以进行用户调查问卷,但是调查问卷其实也有需要注意的地方,避免问题定义不准确,使用含糊不清的形容词等等,当然调查问卷可以采取很多方式,比如全开放式问题,二项选择题,多项选择题或者顺位选择题等。

在竞争性需求分析的框架中,不能在学习了很多新技术,新模式之回馈,却还是一点创新想法都没有。要学会创新,分为改良型创新和颠覆性创新。有一个称为NABCD的框架模型,分为需求,做法,好处,竞争,推广。首先一个软件时解决了用户的某种需求,找到这种需求之后,就要有独特的招数来解决用户的这些需求,你的这种做法能不能给用户带来好处,能带来什么好处呢。当做这些的时候,竞争对手也在做,所以要清楚自己的优势和劣势,最后就要进行软件的推广,怎么让用户来用这个产品。

在得到用户需求之后,就要用功能来实现这些功能了。在做产品的时候,一定要有一两个"杀手"功能,也就是同类软件没有的功能,同时其他还有一些普通的外围功能。还有产品的一些必要需求和辅助需求。从这四个方面,来开发产品的功能。

在做产品之前需要有一个计划和估计,就是估计各个项目所需要的时间。要分清目标,估计和决心的概念。在做估计的时候,可以使用Wideband Delphi估计法。先经过几轮的讨论,先确定对目标统一的理解,然后每一轮统计大家的估计,询问假设,然后继续就可以。这个方法是让大家在较短的时间内让团队充分沟通,交换意见。也可以先参考前人的做法或者意见。一个项目的复杂程序是由需求和技术的复杂程度决定的。

最后就是完成一个项目一定要学会分而治之的模式,将大项目分解为可以操作的工作。所有的小节点覆盖了全部内容,并且小节点最好不要相互覆盖,小节点要足够小,可以比较快速的完成。

过去的看法:

在做软件开发时,只要能够开发出来就可以了,没关心过有什么用户需求。

这样为什么不好:

如果不考虑用户需求这个最重要的过程,那么做出来的软件只能是一个演示产品,没有任何的实际价值,也不会有人去用。

解决办法:

在做软件开发之前,要首先用多种方式去了解用户的需求,把需求进行归纳汇总,选出必要和不太必要的需求,根据这些需求,来做产品,同时在开发过程中,要适应可能变化的需求。

原文地址:https://www.cnblogs.com/diyunfei/p/5517888.html