商业平台需求拆分的原因
署名2021-02-22

商业平台的需求拆分

商业平台软件在进行研发的过程中,需要回答两个最本质的问题,即决定做什么(WHAT)和怎么做(HOW)。在这两个问题中,做什么无疑是最重要的。然而,商业平台软件开发中普遍面临的问题却是商业平台需求不够清晰,或者过大的商业平台需求隐藏了一些风险,这成为了限制商业平台软件持续交付的主要原因。那么,是否有一种实用的方法实践,能够快速地完成商业平台需求分析,理清商业平台需求背后的问题,并使商业平台需求得到合理的拆分呢?

商业平台需求拆分的原因

(1)商业平台需求的拆分方式直接决定了研发的模式

在传统商业平台软件交付过程中,一个大的商业平台需求,未能在问题域得到有效地拆分,而是由架构设计师主导,在实现域,从实现的角度,按模块进行拆分进行,不同模块的开发人员负责具体模块的开发工作。对于这种拆分方式,只有当所有的模块全部通过开发完成之后,才能进行一次批量的集成测试,这就是传统意义上的瀑布模式。

在这样的交付方式中,商业平台开发团队与业务方缺少有效的互动,对商业平台开发团队而言,产品交付只是完成手头上的一件工作,商业平台交付团队无法在业务上建立真正的心智连接。如下图所示的是商业平台传统瀑布模式交付方式与商业平台需求拆分持续交付方式对比图。

淘.png

需求拆分方式对比图


如果商业平台需求是在问题域进行拆分,即将一个大的问题(需求)拆解成若干个小问题(需求),每一个小的需求便可以独立交付给商业平台开发团队进行开发,因为需求相对较小,商业平台各开发职能人员很容易协作并完成需求的实现,因为拆出来的每个子需求都是独立可交付的,这样就实现了持续集成交付。

所以,需求的拆分方式直接决定了团队的研发模式,而研发模式又直接决定了交付的效率。

(2)过大的需求会隐藏细节,而问题就在细节里

细节是魔鬼。商业平台软件开发中隐藏的细节,足够摧毁一切看似有序的计划。当用户故事仅仅只在Epic层面讨论时,商业平台需求看起来往往是很清楚的,或者虽然觉得有哪里不清楚,但是却说不出具体问题。如支持二手商品交易中提供货物担保,这个看似简单的需求,实则背后隐藏着大量的细节,具体列举如下。

·          商业平台需要提供什么样的担保服务

·          谁可以提供担保服务,服务商的资质需要审核吗

·          哪种品的商品可以提供担保服

·          品如何提供担保服

·          担保服的服务费用如何算?

·          .....

如果细节没有得到澄清,就会为软件交付带来问题和风险。那么,既然商业平台需求拆分如此重要,为什么很难做好呢?商业平台需求拆分的本质究竟是什么?