是否应该为技术债创建用户故事?

标签: 技术 故事 | 发表时间:2013-03-27 14:53 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

敏捷团队有时也会为纯技术性任务而挣扎,比如必须处理技术债。虽然这种任务对系统用户没有直接价值,但要交付可以工作的软件又不得不处理。那么,是不是应该创建用户故事来应对这样的技术性任务或技术债呢?

在博文《 像“作为开发者……”这样的表达并非用户故事》中,Bill Wake谈到了他所遇到的对客户没什么价值的用户故事。作为例子,他提到了“作为开发者,我想配置Jenkins,以便进行持续集成”这个用户故事。Bill解释了为什么我们不应将其称作用户故事:

我不是说这些活动不好,或者说不重要,它们也是面向这个团队的,不过将其当作用户故事会误导团队及其客户。把与用户无关的东西以用户故事的 形式写下来,这是没抓住要领。

他的观点是,应该称其为任务,而非用户故事。根据精益思想,他认为这些活动其实是种浪费:

从精益思想的角度看,团队所做的很多活动都可以视作浪费,但我们又不知道如何避免这些活动从而有效地进行软件开发。精益团队称其为“不增加价值,却又必不可少”,因为这是不得已而为之的事。

Bill建议,如果某些用户故事的角色不是来自实际软件用户,而是来自于开发之中,这时一定要慎重。可以尝试将这样的用户故事重新组织为功能行为或质量特性,然后换种描述方式;如果行不通,再考虑将其看作任务。作为任务,开发团队需要跟踪,但又不应将其作为用户故事放在产品Backlog上,因为它们并不交付价值:

(……)承认你的团队有时面对的只是任务。可以内部跟踪这些任务,但是不要将其看作所开发系统的直接进展,更不要将其当作直接进展来跟踪。

关于如何在产品Backlog中处理技术性任务,Mattias Marschall在其博文《 技术上很重要的事物,怎样表达出“业务价值”》中提出了一种方案。他首先解释了如何看待用户故事与技术性任务之间的关系:

用户任务应该描述用户想让系统做的事情。纯粹的技术性任务通常实现为用户故事的一部分。

但如何处理与具体的用户故事没有直接关联的技术性任务呢?Mattias建议把它们放到产品Backlog上:

要把技术性任务按优先级放到产品Backlog中,那就为每一项创建一个用户故事。等等,这不是弄虚作假吗?不,如果你能回答如下两个问题,那就不是:

  1. 谁能从其结果中受益?
  2. 为什么这个任务是必要的?

利用他的解决方案,我们既可以把所有的技术性任务包含到产品Backlog中的用户故事里去,也可以将其作为面向客户的用户故事的一部分,还可以使用一个专为技术性任务创建的用户故事来应对:

如果你能将技术性任务明确地表达为一种用户故事,那么利益相关者就能理解它们的必要性,并将它们与其他用户故事一起优先考虑。

Bastian Buch在其博客文章 《减少技术债的有效步骤:敏捷方法》中解释道,对于与技术债相关的技术性任务,开发者和产品所有者可能有不同看法:

开发者了解技术债,也能意识到面对这种问题的重要性。

产品所有者往往不理解减少技术债的必要性和收益所在,因此他们不会考虑甚至不允许把技术性项目或用户故事列入他们的产品Backlog和发布计划中。

他建议由产品所有者负责减少技术债。团队成员应该与产品所有者讨论技术债,并共同努力,让技术债在产品Backlog中具有正确的优先级:

团队应该记住,产品所有者是团队的一分子,他的痛苦就是大家的痛苦,反之亦然。他不是团队的客户、买主或老板,而更像是来自不同利益相关者的主题专家(SME,subject matter expert)和产品需求管理者/分析员。

团队向产品所有者保证产品成长,这仍然是最重要的——不管从短期的绩效还是从长期的健康来看,都是如此。

Bastian建议把所有的技术性问题收集到用户故事中,评估投入和产出。他将收益称为“报酬”,因为解决了问题能减少技术债:

(……)针对我们定义的每一项任务,我们在JIRA中创建标记为“TechnicalDebtItems”的用户故事。为了安排这些项目的优先级并得出正确结论,我们创建一个图表来将投入与回报的相互关系可视化。

可视化有助于产品所有者和团队协作减少技术债。

通过将技术债和可能的回报可视化,(……)现在团队可以把精力集中在最重要的步骤上。还有一个重要的副作用:这也是与产品所有者和利益相关者协同工作的一个极好工具,因为它使技术债对他们也有很好的透明度。

查看英文原文 Should You Create User Stories for Technical Debt?

您可能也会喜欢

相关 [技术 故事] 推荐:

技术合伙人的故事

- - 吹风吹到疯
很多人说百姓网的技术很牛,其实我不觉得牛在哪里,不过有一件事情我自己一直引以为傲,那就是在我们技术团队中诞生了5个以上的技术合伙人,还有更多的人加入了其他创业公司成为了骨干. 记得以前有位资深的管理者跟我说,不要总是和下面的人谈创业,谈了他们出去了怎么办. 一开始我还真的犹豫了一下,但是后来我想明白了,首先不是你不说了他就不会去创业,愚民政策是没有用的.

文章: 了解豌豆荚2.0背后的技术故事

- - InfoQ cn
前不久, @豌豆实验室发布了豌豆荚2.0版本,发布会后,InfoQ采访到了软件工程师范怀宇( @duguguiyu)和高级软件工程师高雄( @Rock_gao),针对豌豆荚的技术特性和Webkit技术进行了采访. 本文将为您揭开豌豆荚2.0神秘的面纱,带您走近“快速、简单、有爱”的设计理念背后的技术故事:.

Facebook工程发布技术的幕后故事

- - 博客 - 伯乐在线
Facebook的总部位于美国加州的Menlo Park,这里曾经是Sun公司的驻地. 在其入口处,一个“赞”的标志牌(“赞”就是一个竖大拇指的姿势)赫然树立. 当我最近造访Facebook园区时,一群年轻人正在这个标志牌前,争先恐后地用手机拍照留念. 多亏了大卫·芬奇的电影《社交网络》,全球数以百万计的影迷都知晓了这么一个疯狂的故事,Facebook从一个大学宿舍里创建的试验项目,发展成了世界第二大互联网站点.

是否应该为技术债创建用户故事?

- - InfoQ cn
敏捷团队有时也会为纯技术性任务而挣扎,比如必须处理技术债. 虽然这种任务对系统用户没有直接价值,但要交付可以工作的软件又不得不处理. 那么,是不是应该创建用户故事来应对这样的技术性任务或技术债呢. 在博文《 像“作为开发者……”这样的表达并非用户故事》中,Bill Wake谈到了他所遇到的对客户没什么价值的用户故事.

微博春晚背后的技术故事

- - 博客园_新闻
一年一度的春晚再次落下帷幕,而微博也顺利地陪伴大家度过除夕之夜. 谈及马年春晚,人们首先想到的不是春晚上精彩的节目,而是微博上的吐槽,边看春晚,边刷微博,边吐槽,已经成了国人的习惯. 看春晚不再是为了看节目,而是为了能够在微博上吐槽,知道大家在吐槽什么,更有人戏称不是春晚成就了微博,而是微博拯救了春晚.

我们为什么要开发一个新的中文输入法——英库拼音输入法背后的技术和故事

- - 微软亚洲研究院
编者按:为什么微软还要做一款新的输入法. 本文作者马特·斯科特,是微软英库拼音输入法开发负责人. 他认为中文输入法的症结远未解决,比如中英混杂输入,以及图片视频等富媒体的输入. 每个输入框都相当于搜索框,而英库输入法将把搜索的内容从纯文本拓展到其他形式的富媒体内容.                作者:Matt Scott 英库拼音输法开发负责人及项目经理,微软亚洲研究院高级开发主管.

贪的故事

- Andre - 白板报
跟公务员一起吃饭有三个永恒的话题:房,车,贪. 他们谈起房和车固然兴奋,但只有谈起身边哪个小官又落马时才会眉飞色舞. 我发现,他们喜欢谈的话题不是大贪大腐,那个自有全国媒体去关注,而是“三小”案件. 所谓“三小”是指“小工程、小项目、小干部”. 因为小,往往不会被马上双规,这为小干部赢得了时间,他们会对纪检部门说,“我现在想不起来了,等回家好好梳理梳理.

Scrum的故事

- Philip - 《程序员》杂志官网
2001年2月,17位敏捷先驱齐聚犹他雪鸟度假村,起草《敏捷宣言》的时候,Scrum只是众多方法中不太起眼的一个. 十年之后,Scrum却成为最流行的敏捷方法,几乎成为敏捷的代名词. 本文来介绍下Scrum的两位创始人——Jeff Sutherland与Ken Schwaber. 大家可能不会想到,Jeff Sutherland的第一份工作居然是美国空军战斗机飞行员,还曾于1967年获得了“壮志凌云”称号,完成过100次飞越北部越南的作战任务.

罗勒的故事

- Liao Yun - Day Green
文 by 马姑娘  \  图 来自网络搜集. 认识罗勒是好多年前,我刚刚开始喜欢香草的时候,但是第一次体会到罗勒的神奇是在几个月前的泰国. 和几个同事找到一家泰国菜店,对着菜单乱指一通,点了一盘sea food with basil. 当时没觉得怎么样,没想到几个小时以后同事像喝了酒一样变得异常聒噪,在回国的飞机上一直不停做幼稚的自问自答,几个小时嘴巴没有停过.

屁眼的故事

- 迦叶 - 无聊哦
当人体最初形成的时候,所有的器官都想当头儿. 大脑说:应该我当头儿,因为我掌管着全身的各种神经反应和功能. 手说:我们应该当头儿,因为我们做所有的活儿来挣钱. 脚说:我们应该当头儿,我们载着身体和大脑走遍天涯海角. 心脏、肺、眼睛等器官纷纷发言要求当头儿. 最后,屁眼站出来表示他也想当头儿. 大家对他的要求嘲笑不止,屁眼怎么能当头儿呢?.