无论是互联网产品还是IT项目,这一切的开始都是从需求分析开始的。一份好的需求文档往往是项目成功的先决条件,这对于一个IT产品经理或者项目经理来说尤为重要。怎样才能写出一个客户和开发人员都能看懂并满意的文档?
掌握需求分析的方法是写需求文档的内功;毛主席曾经教导我们“没有调查就没有发言权”,所以可以想象一个假想的需求文件的最终结果。需求分析也有各种各样的方法,但最终目的是解决以下四个问题。
谁提出的这个想法?你打算解决什么问题?需要哪些企业来处理这个想法?有哪些信息支持这些业务?这些业务需要支撑什么样的环境?接下来我以“XXX校园安全平台需求”为例。其原始信息来源如下,我将通过需求分析的方法来回答以上问题。
XXX学校,希望对学生的出勤率和就寝时间进行统计;并希望利用信息技术管理学生请假;而且学校已经了解到现在的AI摄像头可以识别人脸,希望可以应用到新系统中,成为他们学校安保的一大亮点。
方法:梳理需求中涉及的人员、组织及其需求和职责。在围绕校园安全的需求中,大多数人可以分析以下角色和职责:
但是这里他们犯了一个错误,混淆了客户和用户的概念。上面的分析只是从系统的用户和(最终用户)的角度进行的,但是要知道最终的支付者(客户)还是有想法的,所以上面的角色和职责要扩展到下表才能更完整。
以上只是通过对原始信息源的分析得出的。在持续的需求面试或挖掘中,你会发现人员的作用还在不断扩大,这是通过人员之间的关联获得的。所以最终的角色表大致如下:
组织结构图如下:
从上面可以看出,我们应该避免以下错误:
不要混淆用户和客户的概念,优先考虑客户,因为他付了钱,提出了想法;在梳理用户角色时,需要考虑关联人员是否也可能在系统中;比如学生-家长,学生-保安有了以上角色,业务和业务流程有了来源,就可以开始回答第二个问题了。
2.找到支持这些需求和责任的业务或业务流程。什么是商业?我的理解一般是做事的过程或者做事的步骤。一般情况下,我们可以根据用户的诉求,梳理出大致的业务和流程,然后通过一对一的面谈,实现你想要的业务。
根据以上用户角色和诉求,我整理了以下业务。这里只做部分列表,不做详细说明。
学生考勤业务:学生通过AI摄像头到校,离校签到,系统记录相关数据。学生就寝业务:学生通过AI摄像头到校就寝,离床签到,系统记录相关数据。请学生请假业务:学生在系统中申请请假,提交给班主任;学生用假钞进出学校。注:由于信息系统的引入,许多原有的业务流程需要重建。
例如,由于AI相机和平板电脑的引入,学生请假呼叫业务的流程将被重新创建。重新创建的过程如下:
学生在系统中申请请假,提交给班主任;或者班主任直接创建请假申请;学生在非上学时间离开后,AI摄像头会在识别学生后,在门卫的PAD上显示学生的离开信息,并在验证后允许其离开学校,离开学校时将信息推送给家长。
考虑业务流程中的异常业务。在分析业务的时候,每个人都很容易有一个正常的流程,但是重要的是要考虑其异常流程的处理,因为没有人有一帆风顺的时候,比如下面的异常业务。
学生返校非正常业务:学生在请假时间过了之后返校或者擅自离校,对于请假的正常业务来说属于非正常业务。学生不按时睡觉,也是一种不正常的就寝行为。复杂业务流程图更直观:有些业务更复杂。这时候使用业务流程图可以清晰的表达业务,在与客户沟通时可以事半功倍。
找到支持业务的数据信息。任何离开数据信息的业务都是扯淡,所以找到业务背后的数据很重要。那么数据从哪里来呢?
收集客户日常过程中使用的文件;
角色我们在日常工作中经常会看到各种各样的文档。具体来说,在这篇文章中,我们至少可以找到以下两种证件:学生的纸条、入校访客登记表、住宿睡觉登记表。
跟进客户的日常工作,找到他们使用的非正式表格。
注意:原始表单不能直接放入需求,需要处理成数据字典。
例如,请假:
我们将它们转换成相应的数据字典或表格,如下图所示:
对实现上述业务的环境进行梳理,按理说,完成上述业务梳理后,我们对需求有了深刻的理解,可以写出更好的需求文档。但是我们也需要考虑业务的软硬件环境和对外接口来实现这些。对于这个例子,需要考虑以下环境。
政策环境:
公安局对校园安装摄像头的要求。教育局是否有关于校园安全等方面的政策和文件。例如:
服务器是物理服务器还是云服务器;操作系统使用Linux还是某个版本的Windows数据库需要哪个版本的Mysql Oracle Sqlserver?物理服务器是否需要硬件防火墙,是否需要专用的外部接口:
如何在罪犯人脸画像数据库中提供学生身份信息,教师信息,年级班级信息?通过需求分析,其实我们掌握了很多业务、流程、角色信息等。我们或多或少用过一些文件,比如需求面试表格。文件的最终目的是降低沟通成本,并确保能够清楚地解释需求。
如果说需求分析方法是编写需求文档的内功,那么规范专业文档目录和内容就是编写需求文档的外功。内功再好,也只有适当的外功才能发挥效果。
文件要求
p>这里主要介绍三种需求文档的模版及其作用:
原始需求访谈表—记录用户最原始的需求文档;需求规格说明书—对现有业务整理或流程改造后的系统需求文档;需求清单及功能结构脑图—用于时间人力等资源进行估算成本计划。1. 原始需求访谈表记录表
我们在与用户沟通交流时,每次都有必要做好需求的沟通记录。有了该文档,我们每次的需求访谈的效率和质量才会更高,而避免不必要的瞎扯,浪费大家时间。
需求的访谈记录的格式可包含如下要素:
2. 需求规格说明书
需求规格说明书是对原始需求进行加工后,可供开发使用的文档,所以需求规格说明书的需求是高于原始需求的,对原始需求中的某些内容进行了增删,确保按照新系统的方式进行的业务能满足用户的需求。
好的一份需求规格说明书会节省开发系统设计的大部分时间。需求规格说明书应包含如下结构:
3. 需求清单
需求清单是根据需求规格文档,按子系统,模块,功能进行分解后的功能清单;可以通过脑图进行分解展示,也可以通过Excle文档进行分类确定。
使用脑图便于分析和讲解:
使用Excle文档,方便统计和时间估计: