简单易用的用户需求开发方法:问答分析法">简单易用的用户需求开发方法:问答分析法

所谓“问答分析法”,顾名思义,就是软件需求分析人员就软件需求向用户提问并得到用户肯定或否定的回答的方式来进行用户需求定义的方法。只需要一问一答,就能做好需求定义,“问答分析法”简单易用,一学就会!

可是,也有一些软件开发人员就纳了闷了,同样的方法,为什么有的用户需求就定义清楚、完整了,而有的需求却在软件开发后期暴露出严重的问题,如:软件开发人员错误地理解需求,实现的功能不得不进行返工!

这就说明看似简单的方法,如果不能把握其核心,仍然可能会出错。

问答分析法的核心是对每一条需求都通过“是什么”、“不是什么”、“为什么”的问答来明确其需求定义,使得开发方和需求方对需求的理解一致,并且满足需求可实现、可验证等需求验收准则。

具体的操作过程是这样的:

软件需求分析人员在收到任务书后,对任务书中的每条需求自行理解,然后和任务书编写者约好时间进行“问答”。

首先,软件需求分析人员要和任务书编写者(用户)确认任务书中需求的完备性,是否实现了这些需求,软件就能完成系统分配给它的功能。之后,双方就逐条需求进行问答:

  1. “是什么”“不是什么”“为什么”

软件需求分析人员对每条需求给出自己的理解,说出这条需求“是什么”,以征求用户的认同。如果用户肯定地回答“是”,则进行下一条需求;否则,需求分析人员可以先提问“不是什么”,来逐渐缩小需求的范围,最终可以用“是什么”清晰定义需求,并得到用户的确认。如果用户觉得需求分析人员理解的“是什么”“不是什么”都不是很准确,软件需求分析人员就要使用“为什么”提问,来进一步厘清需求直到可以用“是什么”描述的需求,双方都认同,达成一致理解。

PS:对于没有软件任务书,直接由用户需求是由软件需求分析人员对用户现场调查来获得的场景,问答分析和收集需求是同步进行的,收集到一条需求,就对这条需求进行“问答”。

  1. 是否满足需求验收准则

在每一条需求都定义清楚之后,软件需求分析人员还要和用户一起确认需求的描述是否满足需求验收准则,进行下列问题的“问答”:

  • 需求中的同一术语在不同地方的表述是否存在二义性?

  • 前后需求的表述是否存在矛盾?

  • 需求是否可实现?如果不可实现,可否用其他需求代替?

  • 需求是否可验证?如果不可验证,可否使用更为量化的方式进行描述?

最后,就是由用户来确定需求开发的优先级

所以,问答分析法必须要确保每条需求“是什么”描述清楚,且满足各项需求验收准则,只有这样需求定义工作才是真正完成,不会在后续的开发工作中出现重大的需求变更。

参考书目:《软件工程与项目管理解析》

微信赞赏专用通道

赞 (0) 评论 分享 ()