故事卡分解任务的做法和意义

最近在一个业务逻辑很复杂的项目上工作,这个项目第一期大概做了半年时间,过程中遇到了很多问题,印象最深刻的就是大部分的故事卡(小feature)经常在快做完的时候,developer才发现有一些原来没有意识到的一些业务场景。

分析了一下原因:

1)我们的BA(Business Analyst)能力不达标:故事卡里面的acceptance criteria不够详尽,没有深入思考所有相关的user journey

2)在这样的故事卡的背景下,作为developer,如果你没有事先思考整个user journey的意识,那么就会发现好多问题都是当你接触到了你才会去思考,结果却发现是一个大坑,需要各种角色来讨论,然后才能继续做。

3)如果developer在做卡时候没有思考清楚各种类型的业务场景,只是完全follow 不全面的AC来做的话,会产生很多bug。如果这些bug仅仅出现在测试人员测试这张卡的情况下,问题还小点,可以回炉重做。但常常测试人员也只会follow AC 来去测试,这样这张卡就会被当成已经做完,merge回你的主分支。这样一来,这些bug就会在更晚的时间暴露出来(真实数据测试情况下),你又不得不创建新的故事卡去track,严重的话,甚至可能影响到整个项目的发布。

这样导致的结果是:一张故事卡从开始开发到完成花费的时间是原来估计的两倍,整个team交付效率极低,组内成员也会很suffer。

在这种情况下,作为开发人员,我们所能做的就是在我们这一环节尽可能的去解决这样的问题。这个时候最有效的就是:将故事卡分解成一个一个小任务了。

最早接触到这个概念是在学习TDD的时候,当你想实现一个功能时,你可以先把它拆成一个个更小的任务。

举个例子:除法运算

你的tasks可以为:(1)除数不为0,取整 (2)除数为0,打印错误日志

只要你的功能满足了这两个task,就算是完成。

同样的,这种概念也可以应用故事卡上,步骤为

(1)列出所有tasks,可以由易到难,这样能快速实现,让人有成就感:

        这个过程能帮你理解故事卡的整个业务流程,找出隐藏的业务场景,缺失的需要业务人员提供的信息。同时,developer也会去思考大概要怎么实现这个功能,能快速帮你理清实现思路。这种类型的task更像是checkpoint。

       关于如何分解task,我一般会借助金字塔原理按层次结构来分。在故事卡中,通过user journey分应该是最简单直接的了。

(2)如果功能性比较复杂的话,可以把每个task再次拆细,拆成功能性的task:

       一般这种纯功能性的task不用拆的过细,记录重要的点即可

(3)重构:第一次列出的tasks不一定全面,边做边补充边改善

当业务场景过多的时候,第一步比重会过大。但当故事卡偏功能性时,可以省略第一步,直接开始第二步,同时把一些简单的UI change作为task。

其实,这种方法就是把你从开始做这张故事卡到做完这个过程的思维模式提前总结,让你能更早的发现问题。无论是开发,BA还是测试都是很适用的。和生活中的TODOLIST理念一致。

最后附上一张用户行为表展示功能的task图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在敏捷项目的快速迭代中,QA要负责和推动多个质量保障活动比如需求分析、过程改进、风险管理、自动化测试开发维护和故事...
    做测试的DanteYu阅读 9,644评论 7 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,473评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,161评论 19 139
  • 你带着银河的心来 却淹没在点点繁星中 你曾留下希望的光 奋不顾身走向永恒的墙 在这永恒的黑暗里 停止飞翔就意味着死...
    万象峰年阅读 1,553评论 0 1
  • 一直想写作,并且幻想着通过写作赚钱,可仅止于想想而已;一直想好好学习摄影,也常觉得力不从心,始终未开始学;想...
    薄荷清新绿阅读 4,411评论 0 0

友情链接更多精彩内容