需求分析:透过调研问卷、访谈等方式,挖掘客户所描述需求背后的管理诉求和要解决的问题。
需求分析,不是简单的重述客户的描述。 -- 其实就是“问诊”
1、 客户说谈是否仅仅只是现象
2、 客户所谈这种现象,是在什么条件下,基于什么背景产生的?
3、 这种现象,对客户造成了什么样的问题?
4、 这种问题,是不是客户最关心的问题,是否要着力解决?
5、 要解决这些问题,有哪些方法?
6、 是不是客户已经有了设想的方法?
7、 为何客户设想了这种方法?有没有更有效的方法?
8、 为何客户不愿意接受更有效的方法?背后隐藏着什么?
需求分析的方法:(形而上)
1、 还原客户的实际运作/操作场景()
2、 分析该场景中的价值链及关键管理诉求点(脉络)
3、 诊断该场景中,影响价值链运作效率、变数的关键节点(穴位)
4、 提升检视:放到更大的视角中来检视该场景在高阶运作场景中所处的位置和作用,分析1、2、3步所得是否与更高阶场景脉络和穴位控制有正相关或负相关。
5、 勾勒客户场景的全景蓝图并凸显需求脉络和关键管理控制 》》业务流程图
6、 整理需求列表并反向检查:查漏补缺。
7、 对需求排序:权重、紧迫度
8、 拟定行动计划:优先序、预完时间、解决问题价值(根本)或者效果(解决显现问题,以增强系统性解决问题的信心和耐心。)
系统分析是在需求分析的基础上,抓大放小,针对客户核心价值诉求,结合工具和方法逐步勾勒和细化解决方案的过程。
系统分析,为何不建议直接谈方案? -- 解决方案是治疗
1、 客户的问题没有被精确定位,处方很难对症
2、 系统工程的方法,决定我们不可以贸然对既有系统进行改变、调整和扩充
3、 可能存在更有效的解决方案,需要集思广益
系统分析的方法:
1、 整体业务蓝图勾勒:全面厘清客户需求点以及各需求点之间联系(应对的是将来管理目的)
2、 突出客户需求中的重点和难点(应对的是将来的系统/应用特色)
3、 差异分析:找到业务蓝图与既有产品蓝图之间的联系与差异,找到项目实践的重点和技术难点。(差异分析报告)
4、 系统流程图设计和检讨:系统流程图VS业务流程图
5、 数据流程图设计和检讨:数据流程图VS系统流程图
6、 对象设计
7、 技术研究:针对步骤3所提供的技术难点和重点研究对象进行专项研究。
—————————————————————————————————————————————————————————
按照软件过程来讲,流程是这样的:需求调研、需求分析、系统分析和设计...。也就是说需求分析是需求调研后的一个步骤,是位于系统分析和设计的前一个步骤。
我们可以理解系统分析是做设计的功,那么如果要可以做设计,我们必须知道要做些什么,有哪些功能和要求要实现,客户最后如何来验收产品。而设计本身告诉我们,产品将会是什么样子的,他的各个组成部分是什么,这些组成部分,是如何合作完成工作满足需求的。
需求分析==>设计前需要知道目标==>系统分析设计==>系统结构规划和机理
可以看出区别了吗?需求分析是针对需求的分析,它通过对原始需求的整理和抽象等操作,得出我们该做哪些需求,也就是得出我们该“做什么”的答案。而系统分析则是在知道我们要“做什么”的前提下,根据组织的实际情况和业界技术情况和时间等的约束,而得出我们该“怎么做”。
所以在软件开发过程中,需求分析是得到我们的目标(要做什么),而系统分析得出我们的解决方案(怎么做,更像一个作战地图)。