您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
Being Agile! 需求拆分技巧大公开
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
Being Agile! 需求拆分技巧大公开
自猿其说Tech
2021-01-08
IP归属:未知
64560浏览
计算机编程
大数据
前端
#### 为什么要拆分? 需求被拆分的过程本质上是探索和澄清的过程。我们的经验告诉我们,总有看起来很简单,实际比你原本想象的要更复杂的需求。需求拆分的过程就是需求挖掘、澄清、归类;然后按照收益、成本、依赖关系等因素排列游戏那几,使其成为可以在开发迭代中持续流动的价值单元。 ###### 详细阐述如下: 1. **深入了解需求:**需求实现是解决复杂领域问题的工作,拆分的过程是解耦复杂的过程。拆解需求的过程,可以使更细致的分析需求,了解需求的本质。 2. **更容易发现与实现价值高的需求:**需求拆分的越细,越容易排优先级。原有的大需求中的高价值部分可能会被排前面,而低价值部分会排后面。这样团队将会持续在开发“更精确的”高优先级需求,防止到迭代末还有高价值的需求未实现 3. **更科学工作管理,可信度提高:**粗粒度的需求就像黑盒子,增加管理的风险与难度。如果每个需求能拆分到足够小,可以有效防止任务遗漏,避免到迭代末才陆陆续续冒出来没有考虑到的任务。同时,需求的颗粒度越小,需求评估时的难度就会越低,评估的误差也会降低。这样迭代的交付率就会高。只有每个迭代都按期完成了,才能提高团队的可信度,而便于团队形成稳定的迭代速率,团队的信心也会增强。 4. **及时发现风险:**软件开发是把抽象变成具象的工作,拆分的过程是澄清和逼近具象的过程,需求拆分越细,思考就越多,拆分的过程能帮助我们识别风险高的问题。 5. **更快获得反馈:**敏捷最大的好处之一就是通过频繁交付,快速获得反馈,而这最主要还是通过需求细化来实现。市场与业务的不确定性,拆分需求可以实现更早的交付并获得反馈,帮助业务提升市场竞争力。 6. **及时发现问题并修复:**迭代内发现的BUG,在迭代内修复效率是最高的,超过一个迭代,可能开发已经忘记自己写的代码了,再去定位要花费更多时间。 **老子曰:“天下难事,必做于易;天下大事,必做于细。是圣人终不为大,故能成其大。”** #### 拆分的标准是什么? 1. 以业务或用户的视角拆分需求 2. 拆分后的需求是独立的 3. 拆分后的需求的大小工作量不超过10理想人天(包括开发、测试) ###### 举个例子: **错误的示范:** 1. 供应商登记表中增加供应商等级,业务在配置表中配置等级 2. 根据供应商等级,显示对应的入库流程 **当需求被拆分成上述时,价值是割裂的,不能明确需求的Why是什么?也无法验收。** ###### 正确的示范: **将两个需求点合成一个:** 1. 作为供应商,我希望在签到时,能知道我的等级和后续的流程,以便我更有效的完成入库。 **【功能点1】**新增\修改 供应商基础信息等级管理 **【功能点2】**供应商签到时,签到页面展示对应等级和入库流程 **【验收标准】**可以展示等级与入库流程 #### 什么时候,谁来做进行拆分? - **需求沟通阶段:**产品经理、业务方为主 - **PRD撰写阶段:**产品经理为主 - **评审之后:**产品经理、研发为主 #### 拆分技巧 ###### 流程类:先横切再纵切 1. 先拆出首尾节点:识别上下游依赖的风险、外部系统接口的风险;或者,对于探索类的需求,先完成开始和结束流程,获取市场反馈。 2. 打通核心主流程:识别全流程上的核心节点,把能实现全流程贯通的需求拆分出来,选用简单的场景,验证全流程。 3. 逐步实现分支节点。 4. 在纵向上,每次迭代,优先选择风险高或核心的场景;对于探索验证类的需求,强调从小、少做起;快速交付、尽早验证。 **示例:** **需求:**增加上门维修业务(这是一个新的业务) **拆分步骤:** 1. 梳理全流程 ![](//img1.jcloudcs.com/developer.jdcloud.com/e2f8c2d7-2eff-4545-84e3-7836422677d020210108172614.png) 2. 完成上下游交互边界的定义:上游单据下发接口和下游单据计费接口的定义 3. 选取核心流程 ![](//img1.jcloudcs.com/developer.jdcloud.com/65283fa5-5203-445f-a665-29ea313d6dbf20210108172659.png) 4. 生成维修单有两个场景,一个是售后系统下单,一个是客服录入下单;先选择无改造最简单的场景:售后系统下单;同时,选择“无配件申请”的场景。 **上述步骤完成后,就确定了一个可验证的核心流程的改造最小的MVP** ###### 功能类: 1. **按业务规则拆分**,同样的流程和操作,由于输入的数据业务规则不同,所进行数据处理时采用的方式也不同。先满足一组业务规则,后续再完善其他的规则。例如:生成维修单可分为:售后系统下单的维修单;电话报修的维修单;或者,支付功能,可分为:使用微信支付、使用京东小白卡支付。 2. **按数据类型拆分**,不同的数据类型的功能,先完成一类数据类型,再处理其他类型。例如:先处理一单一件订单,再处理一单多件的订单。 3. **按基本与递进拆分**,先满足基本需求,再实现完善或优化需求。例如:基础需求是工程师选择配件进行申请。递进需求是:工程师申请配件时,系统先判断库存及可替换配件。 4. **按界面入口拆分**,例如:先满足APP查看,再满足PC端查看。 **案例** **需求**:快递小哥监控广告投放业务。 **需求背景:**在日常生活中,可以随处见到一些广告,如电梯间,小区入口,公交站等,这些广告是由品牌方找到广告主进行投放的,但是由于这些广告比较分散,且多数为线下投放,是否按规定投放,效果如何等,无法得知。需要专人去进行监控,如果单独安排人去进行监控则需要大量的人力资源,而京东小哥范围广,几乎能接触到所有投放的地点,因此我们和三方进行合作,由小哥在闲暇时间完成广告投放的监控。 **需求拆分思路:** **第一步:**打通一个广告投放企业系统下任务和结果返回的接口,验证双方系统交互是否有风险。 **第二步**:梳理主流程,选择核心节点的必要工作,确定MVP,验证最小可行性方案。 **第三步:**功能拆分 1. 先实现核心功能:“任务执行”部分的规则拆分,选择任务量最大的电梯类的任务场景;后续迭代小区入口和公交站台。 2. 先基础功能再递进功能:先展示后增加筛选;先基础后增加推荐。 **整体规划如下:** ![](//img1.jcloudcs.com/developer.jdcloud.com/6b06109d-bd3a-4e96-9f3a-ef1d4c90cae920210108173258.png) #### 坊间秘籍 ![](//img1.jcloudcs.com/developer.jdcloud.com/bf3aaf8b-5334-40e9-8a2c-2638e9e573de20210108173357.png) **拆分是工作中必不可少的工作,大家把更多的招式告诉我们,一起来拆!拆!拆!** ------------ ###### Being Agile 京东物流技术发展部效能提升部 ###### 作者:效能提升部 宋宁 and 用户产品部 韩敏茹 ![](//img1.jcloudcs.com/developer.jdcloud.com/ae37332e-d2a2-42df-9a76-be8f6ba206f320210108173703.png)
原创文章,需联系作者,授权转载
上一篇:网红直播带货你了解多少
下一篇:JUST技术:从空间关系到空间连接,JUST提升信息挖掘意义
相关文章
Taro小程序跨端开发入门实战
Flutter For Web实践
配运基础数据缓存瘦身实践
自猿其说Tech
文章数
426
阅读量
2149963
作者其他文章
01
深入JDK中的Optional
本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对比,实践,误用情况分析,优缺点等。与大家一起,对这项Java8中的新特性,进行理解和深入。
01
Taro小程序跨端开发入门实战
为了让小程序开发更简单,更高效,我们采用 Taro 作为首选框架,我们将使用 Taro 的实践经验整理了出来,主要内容围绕着什么是 Taro,为什么用 Taro,以及 Taro 如何使用(正确使用的姿势),还有 Taro 背后的一些设计思想来进行展开,让大家能够对 Taro 有个完整的认识。
01
Flutter For Web实践
Flutter For Web 已经发布一年多时间,它的发布意味着我们可以真正地使用一套代码、一套资源部署整个大前端系统(包括:iOS、Android、Web)。渠道研发组经过一段时间的探索,使用Flutter For Web技术开发了移动端可视化编程平台—Flutter乐高,在这里希望和大家分享下使用Flutter For Web实践过程和踩坑实践
01
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。
最新回复
丨
点赞排行
共0条评论
自猿其说Tech
文章数
426
阅读量
2149963
作者其他文章
01
深入JDK中的Optional
01
Taro小程序跨端开发入门实战
01
Flutter For Web实践
01
配运基础数据缓存瘦身实践
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号