开发用户故事而不是任务

  • Chris Sims
  • 张晓庆

2009 年 1 月 14 日

话题:敏捷架构文化 & 方法

开发者通常把用户故事分成多个任务,以方便组内人员分布开发,并允许以更细的粒度跟踪进度。不幸的是,用户故事可能被分成一组并不小的任务,从而导致迭代结束时故事也不能交付。Ron Jeffries 建议: 把用户故事作为基本单元,不要再分成任务

为了这样,故事应该足够小,团队能够很好地理解和估计。我们可以列出所有的验收条件,逐个查看,看看哪些条件本身就能够成为故事。如果某个验收条件给产品增加了价值,用户可以查看,相对独立,并且可以测试,那么就是它就是很好的候选,可以单独作为一个故事。

很 多团队都有几个专家关注于产品或者后台技术的特定领域,这样让单个工程师完成整个故事很困难。而如果对开发人员进行交叉培训,让他们拥有需要的各项技能, 能开发系统的各个部分,这才是长久之计。团队能够胜任各种工作,不会因为缺少“关键一人”,而给系统的某一领域带来风险。结对编程可以达到这个目标。“负 责”实现用户故事的那个人与拥有该项技能的人结对,以交付整个故事。

Ron 建议到:“开发用户故事,而不是任务。”如果在任务层次跟踪(开发),开发人员能够“做自己的那一部分”,完成了很多任务,但是没有交付用户可以使用的功能。如果团队只跟踪故事的完成,只有当故事结束时开发人员才能因为完成而感到高兴。这能激发大家把故事真正“完成”,这才是更有价值的。

你同意 Ron 的方法吗?欢迎留言分享你的观点。

查看英文原文Burn Stories Not Tasks

敏捷架构文化 & 方法