有效需求分析
作者从事需求培训10余年,基于企业应用管理系统,采用理论+案例演示方式,少了太白话,字字在理。解答不不少疑惑,也可以当工具书查阅。
术有专攻,知其然不知其所以然,可以解决简单问题,稍复杂问题需要对应的一套方法论,it流行说的系统思维。重复N次后,形成惯性思维,无招胜有招。在此基础上再创新,衍生新的方法论。
需求有哪些类型?
大类分功能需求,非功能需求。
功能需求细分业务需求,管理需求,维护需求。
非功能需求理解为质量需求,如性能,易用行,安全性,可用性等。
业务需求是指企业对外服务或对内工作需要在系统实现的。
管理需求是指事情风险控制,事中监管,事后数据统计分析
运维需求是指系统在初始化,配置,监控方面支撑需求。
怎么去做?
功能需求大的原则要弄清楚谁使用?为什么提出需求?解决什么问题?什么时候用到?当前怎么处理?需求实现后谁收益?谁利益受损?
厘清需求背景,目标&愿景,问题&挑战,解决方案,需求干系人。
引用书中一个需求案例,小王负责一个酒店管理系统项目,一天前台妹妹热情的招呼小王,说有个需求要在系统实现,增加一个可以查看各个楼层房间的图,小王简单确认需求,问是否要显示房间状态等信息。到项目组找兄弟干活,架不住小王的兄弟情义,项目组小陈揽下活,到点交付,前台妹妹使用不满意,别人要个图,系统上通过表格方式实现,看得不清晰,提出图可以放大缩小来弥补,到点交付,前台妹妹用了后还是不满意,没有解决实际问题,前台妹妹向领导投诉,说项目组这么一个需求都实现不了问题升级。真是好心办坏事。这时公司给项目组安排了一个资深需求专家介入,重新梳理需求,跟前台妹妹做需求调研,需求调研结果跟现在系统实现的大庭相径,别人小妹妹要解决的问题是工作中经常有客户要求预定相邻的房间,相邻的定义是房间50米相隔以内。解决这个问题,做个房间距离查询,结合房间状态等信息在现有查询优化即可。真是苦了小陈啊!这个案例典型的没有系统按需求调研方法论去做,客户说啥就是啥,客户水平高,成效大麻烦少,客户水平低掉坑里估计出不来,靠天吃饭。
业务需求具体怎么开始呢?
系统需求目的明确后,厘清系统需求范围,是否简单分解功能就能满足,是否需要划分子系统。需求分解后产出需求列表,需求功能接口列表(有需求功能分解,就有需求功能接口)。业务需求从业务流程开始,流程涉及人&岗位,活动,协作关系。怎么画好一个流程图?工具推荐用viso的泳道图,流程层次分组织,部门,个人。纬度统一活动名称动宾结构,需要协调工作才需要出现在泳道图,自己独立完成活动不需要出现。顺便聊下,活动图和时序图的有什么区别,各自的使用场景?时序图名称在上面表示角色名称,表示要做的事情,一般是服务提供者,偏系统层。拿上baidu来看,角色可以分为客户端,web服务器。客户端请求,服务器响应。可以用时序图来描述。业务流程中的有哪些规则、约束及权限,例如只能xx状态下才可以操作xx,只有xx可以办理等。通过业务流程调研模板,系统产出一份文档,流程图,流程描述,规则约束权限说明。业务流程活动会产生响应的数据,我们称为数据流,数据流我们通过领域图方法去实现,由类图组成,类图包含表名称,字段名,方法(一般为空)。关系常用4种,关联,组成,强/弱聚合。类图对每个字段做类型,大小,是否为空,自动增长,取值范围说明,增长速率等说明。
做完后有什么产出?
需要注意哪些方面?
错把解决方案当需求来实现。