走进U9开发团队之特性驱动需求设计模式
【 专稿】 提起需求设计,很多人都会感觉到头疼:很难挖掘用户真正想要的,用户需求频繁变化......但是,需求分析却是软件开发过程的第一步,也是最重要的一步,产品半数以上的问题祸根都深埋于产品需求设计阶段。
对于从事产品需求设计的人员,普遍的认识是他们对技术的了解不一定深入,但是要有良好的沟通和文档能力。事实上,越来越多高层级的产品需求师们在颠覆这一形象。***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研发中心全面推行按特性的驱动方式。“整体下来,效果比较好,对于人员成长和业务流程打通都是很有效的。”任晓慧表示。