← 返回所有文章

写出承载意图的用户故事,而不只是任务

By XNM Technologies · March 10, 2022 · 1 min read
写出承载意图的用户故事,而不只是任务

只要接触过Scrum,你就见过这种格式:"作为用户,我想要一个按钮,以便我能点击它。"它把格子都打上了勾,却什么也没教会人。用户故事的本意是把意图——一项请求背后的、属于人的理由——带进工作之中,好让一名要做出上百个小抉择的开发者,把每一个都朝着正确的方向去做。意图一旦缺失,团队就会一字不差地照写的去做,却仍然没有抓住要点。

《Scrum指南》其实并不要求用户故事。它谈的是产品待办列表项以及产品待办列表本身。用户故事只是表达这些条目的一种流行技巧,而非规则。这个区别很重要:目标是让一份开发者能看懂、产品负责人能按价值排序的待办列表,而故事格式不过是抵达这一目标的可靠途径。

真正要紧的三个部分

一个有用的故事回答三个问题。这是为谁做的?他们想要能够做什么?以及这为什么对他们重要?经典的"作为/我想要/以便"模板之所以存在,就是为了逼出第三个问题——也正是团队最常丢掉的那一个。价值就藏在"以便"里。没有它的故事,是一项乔装打扮的任务。

看看其中的差别。"作为工地负责人,我想把日志导出为PDF"是一项任务。"作为工地负责人,我想把日志导出为PDF,以便我能给检查员一份记录,而不必让他们访问系统"则告诉团队成功是什么样子,并打开了更好的解决方案。也许真正的需求是一个只读分享链接,而根本不是PDF。

如何写出经得住推敲的故事

  1. 把它锚定到一个真实的人。 写出真正的角色,而不是含糊的"用户"。采购负责人和一线工人想要的东西不同;故事应说清是哪一个。

  2. 先讲结果,而非界面。 描述这个人需要完成什么,给团队留出空间去找出最佳的交付方式。过早规定界面,等于浪费了他们的专业能力。

  3. 加上验收标准,而不是设计稿。 列出让故事算作完成的条件——评审者可以核实的检查点。它们让"以便"变得可验证,又不替实现方式拍板。

  4. 让它小到能够完成。 如果一个故事在一个Sprint里多半完不成,就按它交付的价值去拆分,而不是按技术分层去拆。两片各自能用的薄切片,胜过一片只完成一半的厚切片。

  5. 共同精化它。 待办列表精化正是团队提问、产品负责人澄清的时刻。故事是一段对话的占位符,而不是自上而下交下来的合同。

故事失去意图的迹象

  • 每个故事都写着同一个笼统的"用户",以致没人能想象到底是谁受到影响。

  • "以便"从句只是把"我想要"换了个说法——"以便我能导出"——多了字词,却没有理由。

  • 故事把按钮、字段和布局都定死,让团队只管敲键盘,而不必思考。

  • 它大到一个Sprint里完不成,却一直原封不动地往后滚。

在2022年,团队分散在家中与办公室之间,预算又被上涨的成本挤压,做错东西的代价比以往更高。一个承载意图的用户故事是一份廉价的保险:它让一名晚上九点独自工作的开发者,做出与产品负责人会做的相同的判断。把它写下来,意义全在于此。

如果你的团队想要能驱动价值、而不只是罗列任务的待办列表,XNM的项目群与项目交付咨询可以帮你把工作的表述打磨得更锋利。