敏捷需求管理︱如何拆分需求实现渐进式交付
2022-10-30
来源:王宇教练 ACT敏捷教练
分锦囊
对于拆分方法来说,有前人进行的总结(参考附件1)。看上去很高级的内容有的时候指导具体工作有些摸不着头脑。在指导无数团队之后,我总结基本有4种方法就可以把需求拆分至我们理想的粒度。这四种方法不是单独使用的,如果接到某个需求,你可以以某种方法为主其他方法为辅的方式进行混合式拆分。
流程与界面
一般的软件应用都会有流程与界面,而且流程与界面就是天生可以被用户感知的单元。所以按照流程与界面进行拆分是拿到任何需求你都应该默认想起的套路招式。在流程与界面的拆分中有三种不同的细节手段:
步步推进
从流程和界面的角度,分解为画面或流程节点。按照时间的流程顺序,一个画面一个画面的切分所有的流程与画面。制作完成一个画面以及相关交互功能之后,然后推进下一个画面。一块一块的制作。(相对设计与结构比较明确的需求)
例如:登录画面,输出画面,查询画面,维护画面……
快速验证
软件整体有一个主流程,主流程其实是软件的关键内容。拆分成能够打通各个流程节点,实现主流程贯通的需求,然后逐步增加主流程中的旁支流程。先做薄薄一层,然后逐渐加厚。(需要进行试错与探索的需求)
例如:关键主流程,主流程第一个节点的旁支流程,主流程第二个节点的旁支流程……
首尾流程
流程中有一个初始流程,一个结束流程,先完成这个初始与结束流程。当用户能够感知到开始与结束之后,再逐渐增加流程之中的内容。先做头做尾,然后逐渐丰富中段。(快速验证方式切分不了的需求)
例如:关键输入+关键输出画面,关键输入画面丰富,关键输入画面之后的第二个流程节点画面……
算法与展现
对于没有明显流程或界面的功能,其实就如同一个黑盒子,有一些输入进,一些输出出。一般这种黑盒子只能控制两个内容:
控制输入
控制输入变量的数量和取值范围。
例如:
报表中有3种输入变量,默认2项数据,只有一项变量可以调整点击查询按钮。
保费计算中有无数种的车型,先以1年内丰田卡罗拉为输入进行计算。
控制输出
控制输出的内容和展现出的项目。
例如:
报表中先查询出某些字段,再查询出某些字段(报表中可能因为性能考虑无法实施此拆分方法)。
先展现关键信息,再展现非相关信息。
依赖与层次
如果你面对的软件是有层次与复杂逻辑,也可以使用下面的思路进行尝试:
逐层推进
用户可能需要触及若干逻辑代码层,才会返回某个结果。这种情况下,可以先让最表层接到用户请求之后直接反馈,然后增加需求所触及的层级。
例如:交换机的若干层TCP协议,可以先切分成第一层协议,然后第一加第二层协议,一二三层协议。
隔离依赖
对于逻辑复杂的部分,可以把逻辑复杂或依赖的部分进行隔离,再有一个需求打开这个隔离。
例如:依赖某个第三方的算法,算法接口已经明确,但还没有生效。切分成使用明确后的假接口,然后对接真实的接口。
探索与研究
不是所有需求技术人员都知道如何进行拆分和实现的,因为对技术结构的不清楚或实现思路的不确定。都需要有一些探针(技术预研)类的任务先行实施。这种任务有两个关键点:
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-