实例化需求:用户故事拆分的更好线索

作者/分享人:Chat 三人行
「Chat 三人行」是 GitChat 推出的特色栏目,旨在融合各路专家的不同视角,让思想的碰撞为读者点燃智慧的火花。(本栏目得名于「三人行,必有我师」,每期 Chat 的作者人数皆为两人以上。)

用户故事拆分一般被认为是敏捷实施的入门实践——没有用户故事拆分,就没有真正意义上的迭代,当然也就没法做到敏捷方法所倡导的快速反馈、快速学习和快速价值交付能力。

INVEST 原则常常被看做是用户故事拆分的基本要求。但是,不少敏捷团队在如何获得 INVEST 原则所要求的用户故事方面仍然感到困惑。一些常见的后果是:用户故事拆不开,没法在一个迭代内完成。拆开了的用户故事,支离破碎,很难被管理。用户故事变成了内部的技术需求,不能做到端到端,成了只有研发团队关心的“故事”,等等。

存在一些比较流行的用户故事拆分原则。但是,在过去几年中,我们突然发现自己好像早已忘记了用户故事拆分这个实践的存在。当我们进行需求澄清的时候,通常是一个实例化需求工作坊结束,完全符合 INVEST 原则的用户故事就已经在那儿了。

我们将通过本场 Chat 来分享我们的一些经验,也希望帮助仍然纠结于怎么写出小的用户故事的敏捷团队,能通过更小的代价和更有序的方法来获得高质量的用户故事。


作者/分享人:

  • 吴穹,资深创新管理顾问,精益看板专家。
  • 张刚,资深架构师、敏捷顾问,专注于领域驱动设计、微服务、实例化需求等在企业的落地实施。
  • 雷晓宝,工程实践顾问,专注企业软件设计、测试自动化,开发生产力等领域。
已有336人预订
预订达标
文章出炉
交流日期
     
17.06.12
17.06.27
17.07.04 20:30
查看文章评论/提问
张刚
沟通和确认 是用户故事的本质。 实例化需求,恰好提供了最好的支持。 工作流,领域模型,业务规则,需求实例,是实例化需求的关键实践。 不必去考虑怎么拆分需求,把需求弄清楚,易于迭代的需求条目会自然浮现。
谷常生
我的团队抓这几个方面:干系人,系统使用者,业务流程(泳道图),业务规则,页面原型(线框图)。最近准备上看板,value unit 拆分是我们面临的主要问题。另外一个问题是,需求阶段参与讨论者有哪些?我的团队,开发人员对需求讨论兴趣不大…… 业务流在白板完成的方法值得借鉴,下次我们试试。
谷常生: 还有领域模型,我们也在用。
Lemon Hong
看到有ddd,我就进来了。最近也在软件架构师同事的熏陶下,了解了一些ddd的内容。同事说ddd可以很好的和用户故事地图结合起来,我们最近也打算在项目中实践一下。所以看到老师们这篇分享,很感兴趣。不过我其实不太理解的是,ddd和用户故事的拆分到底是什么关系?说实话文章我没太理解。我的理解是,ddd分析,是连接需求和实现的一个桥梁,同时也指导需求和实践,不过不知道对于拆分故事的指导作用在哪里?是因为我们对领域关系和属性等更清晰之后,我们就可以更细的去分解用户故事吗?
张刚: DDD是一组模式集合,帮助我们掌控和管理复杂性。领域模型和统一语言是这组模式的核心。实例化需求阶段应用领域模型和统一语言 对问题域建模,建立更好认知, 提高沟通效率。这篇文章并未准备深入DDD,只是提及了上述两个模式。 我认为DDD并没有直接帮助拆分用户故事,但是它建立了对问题域的更好认知。
周亮
看完后,感觉干货满满,最近公司在做PBR的时候,感觉效果不甚理想,基本上是面对一个需求的时候直接开始拆分,没有对需求先对话,丰富的过程,有时候甚至是直接快速的找几个ATC来翻译需求,没有回到本质,发现需求,找出需求的隐藏信息,有浅,有深,然后再可以根据一些价值,等再来拆分,
hobo
最近项目进行过程中,遇到一些问题,自己也在学习,尝试着找到一套适用的方法论,帮我们提高效率!避免撕逼!
luo
可能是话题有点偏大,介绍说明用户故事、拆解用户故事、发现用户故事占去了较大篇幅,反而DDD说明部分偏少,有喧宾夺主的趋势。提个个人意见,希望chat中重点突出下引入DDD之后对原有用户故事方法之间有什么区别,能否结合您的实践给个swot的分析,谢谢
张刚: 这篇文章还真的是只想讨论实例化需求 没准备讨论DDD。只是领域建模对实例化需求有价值 才引用到了领域模型和统一语言。
张刚: 近几年来在自己的每一个项目都应用了DDD。 事实上对我来说 这应该是非常本质的正确的架构和开发方法。这个话题比较大,chat中可简单提及 全面展开比较困难 也许应该单开一个话题讨论
Yang
关于实例化需求所产生的"工作流", "领域模型", "业务规则"的关系, 文中有简要说明, "领域模型"即业务实体, 可以明确"业务规则"中的概念, 而"业务规则"则是"工作流"的组成部分, 三者之间是否有其他关系? 在实践过程中, 先后顺序是怎样的呢?
糖豆(안리)
什么场景或者说项目适合实例化需求实践?看了文章觉得写的还是有点复杂,能不能举一个实际案例,怎么进行 最后得到的输出和效果是什么。 敏捷教练在这个实践做哪些事情? 如果项目不愿意尝试,敏捷教练觉得有用,一般有什么建议去推动?
Jason
记得“用户故事”中有一个案例,说如果软件要支持支付功能,包含三种支付方式,这时如果将每个支付方式都写在单独的故事中,据作者说,是违反了独立原则,可以把它们组合在一起,能否说说您的理解,怎样思考的,谢谢。
你可能还喜欢
大厂面试官亲述:0~3年移动研发工程师必备技能
richardcao
使用 Mpvue 开发微信小程序的最佳实践
美团点评技术团队
使用 Python 全栈打造淘宝客微信机器人
州的先生
普通程序员如何快速提升自己
王俊生
Tomcat 性能优化
only you
深度学习数学基础之微积分
王晓明
微信扫描登录