本文共 762 字,大约阅读时间需要 2 分钟。
起步慢不一定是慢。不输在起跑线上,第一要明确跑道、方向,否则起跑越快,输的越惨!
【定义】在系统工程及软件工程中,需求分析指的是在创建一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
【问题】在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时,分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。
【案例】
PM:你做一个 PHP 的扩展模块,将功能 A 封装到这个模块中。客户有个系统要用。
RD:好的。PHP 版本有要求吗?
PM:没事,你先做一个。然后发过去让客户试试。
RD Coding ……
3天后
PM:你做的扩展是基于 PHP5.6做的吧?客户系统是基于PHP5.1。兼容性存在风险。你基于5.1重新做一下吧。
RD:Redoing ……
【分析】这是一场可以避免的时间的浪费。站在 RD 角度可以改进的点是,基于自己专业视角去判断分析实质是什么。
1、专业知识:虽然各个产品都有一定程度的兼容性,但不同版本总有差异,导致存在风险。
2、顾听到不要求版本时,应该非常警惕。要告诉需求提供者,版本不统一存在的风险。即使对方不在意,也要坚持自己的专业分析判断,去挖掘确认细节。
3、即使发生无有效依据时,也要将当前的决定和依据记录下来。
【启示】拿到需求第一步,不是动手,而是进行需求分析。这与公司流程是否要求无关,因为这是要做对事的基本保证。
转载地址:http://klxea.baihongyu.com/