提起需求设计,很多人都会感觉到头疼:很难挖掘用户真正想要的,用户需求频繁变化……但是,需求分析却是软件开发过程的第一步,也是最重要的一步,产品半数以上的问题祸根都深埋于产品需求设计阶段。
对于从事产品需求设计的人员,普遍的认识是他们对技术的了解不一定深入,但是要有良好的沟通和文档能力。事实上,越来越多高层级的产品需求师们在颠覆这一形象。用友U9研发中心的U9产品总监任晓慧就是其中之一。
2010年4月的一天,初见任晓慧的时候并没有特别的感觉,她的亲切让接受采访的她更像是一位有经验的师傅在向徒弟传道授业。但是在了解到她从1997年进入用友,在用友工作13年,历任U8、NC、U9三个产品线的主需求、产品经理、应用架构师和产品总监时,着实让我吃了一惊。执着的人让人佩服。
而在U9的需求设计过程中,任晓慧针对U9业务驱动的特点,创造了以特性驱动的需求设计模式,为U9产品的发展和规模化做出独特的贡献。
需求设计五阶段
U9作为一款大型ERP产品,从产品构想到最终上市,整个过程历时5年,而需求设计阶段几乎占整个产品诞生所需时间的1/2.在这样一个时间跨度如此之大长的需求设计全过程,U9的需求设计人员是分为哪些阶段来实现的呢?
在任晓慧看来,U9产品的需求设计阶段与其他产品并无太大不同,主要包括以下五个阶段,而U9产品需求的独特之处在于它的特性分析阶段。
产品定义:
由产品经理和架构师主导,根据市场分析,特别是产品所定目标群的情况,确定下不同版本所要解决的不同问题,适用于哪些行业。
比如,对于U9来说,其主要面向制造行业,从1.0版本的定位就是如此。2.0版本则更强调对装备制造业的支持。
特性分析:
一般传统软件按照功能模块来设计和开发产品。U9的特点在于业务驱动,比如在销售部门录入一张订单,接下来需要生产怎么准备,财务怎么配合,这就是在驱动后端。针对U9这一业务驱动的特性,U9的产品设计增加特性分析环节,每个特色都可以认为是一个业务流程,比如委托加工,这是一个业务流程,涉及到企业生产部门、采购部门、财务部门、仓储部门,它对应到产品功能模块会包括很多,生产、采购、财务等。我们会根据委托加工这一业务流程或者说特性设定负责人,目的是将委托加工特性的场景,以及特性在U9各个模块之间的配合模式都设计出来。
详细需求:
详细需求就要面向模块。面对模块针对不同特性,比如订单如何调整、收货如何调整。在模块设计中加入对各个特性的描述。
总体设计:
总体设计就是划分组件以及组件职责、流程和接口等。
详细设计:
详细设计则是针对组件的详细设计。
特性驱动的需求设计模式
特性驱动的需求设计模式是U9产品需求设计中浓墨重彩的一笔。所谓特性驱动,首先要对特性进行分析,这样,一个特性能够真正从头到尾将其所涉及到的模块完整贯彻下来。然后,一个特性设定一个负责人,由特性负责人对特性的场景和实现模式负责。这一方式打破了按模块划分任务的常规惯例,避免了以前每个人只负责自己的模块,容易导致特性之间的衔接出现问题。包括U9后续的开发和测试,特性驱动都对产品质量和业务流程有了更多保证,对于U9业务驱动的业务模型发展和完善起到很大的作用,对于人员的成长也有很大的好处。
从2008年底开始,一直到去年全年,在U9研发中心全面推行按特性的驱动方式。“整体下来,效果比较好,对于人员成长和业务流程打通都是很有效的。”任晓慧表示。
需求过程三经验
任晓慧长达13年的需求、产品、架构等职业经验,在U9产品需求设计中得到了充分发挥和利用,其中又有哪些是可以与大家分享、借鉴的呢?
经验1:敏捷过程
任晓慧谈到,U9产品的发版流程通常是这样的:比较大的版本,比如1.5版本(1.0和2.0版本间的一个较大版本),在1.0版本开发没有完全完成时,需求设计部门就开始先做它的产品定义、需求设计了,而在交给开发去做开发和测试的时候,需求部门又已经投入到下一版本的需求设计中。比如,今年要发布的2.1版本,需求设计已经告一段落,进入后期开发测试阶段。接下来,需求团队将投入今年以及明年版本的需求设计中。这是一个迭代的过程。
U9研发中心一般在每年的固定时间,比如十月,会将下一年发几个版,每个版面向的需求定义下来。比如,今年要发版的2.1,在去年就已经有公司专家产品委员会评审并确定。
经验2:调研经验
需求人员在工作最容易遇到的难题是如何完整准确地获取需求。对客户需求的获取不完整,或者不准确,都会造成最终产品无法满足客户要求。因此,调研工作变得如此重要。在任晓慧看来,调研的关键是找到这样一个适合的客户,这个客户也愿意配合你,这是非常重要的。另外,在调研前需要做好充分的准备,因此调研者的经验也是同样重要的。一般,我们会到U9客户比较集中的区域,比如制造业发达的华东、南部地区,这样能够收集到区域的特点,也有行业的特点。所以,总的来说,U9需求团队的调研过程包括调研前准备调查提纲;调研中以交谈为主,了解用户日常工作流程为主;调研后进行分析,形成总结。
经验3:需求团队
目前,U9的需求设计团队有60多人,包括产品经理、需求人员、设计人员。从从事需求工作的第一天开始,任晓慧就认为,在软件开发企业,需求人员是代表客户的,需求人员最应该具备的素质是要站在客户的角度。而她也是这么去做的:“为梦想而奋斗,以客户为核心,做用户朋友”.只有站在客户的角度想问题,客户才会满意。她把这一点看作是需求人员从本质上要改变的一种观念。从能力和经验角度,需求设计工作也需要需求人员有一定的客户实务经验,具有一定的抽象和分析能力。
作为用户的代表,如何用户需求与开发实践产生冲突该如何解决呢?任晓慧的经验是:如果客户需求和开发时间有冲突,一般有两种处理方式,一是建议客户等,等到新产品出来后再用。二是先为客户单独解决,满足客户上线需要,后再产品标准化。