User Story用户故事
User Story是站在用户角度,对考虑周全的功能的简单语言描述。敏捷项目中的需求就是User Story。当User Story被用作需求结构(包含backlog、epic、User Story、子故事与任务)的一部分时,是最有效的。它通常源于对较大epic或者User Story的分解,包含了可以在一个sprint中交付的功能。
User Story是将用户需要(包含需求)翻译成站在用户角度对产出的语言描述。用户这个词具有广义的概念,可以是最终用户、组织级客户,或者下一阶段业务的客户等等。PO服务与客户或客户代言人,是User Story的主要拥有者。清晰的User Story不仅可以最大程度上节省PO花在澄清产品backlog事项上的时间,还可以提高团队在sprint期间“一次性做对”的能力。
CMMI模型中,需求开发过程域的特定目标与实践给出了创建User Story过程的说明,这也为产品backlog的健壮性提供了帮助。当存在较短的反馈循环且学习发生时,敏捷团队便可茁壮成长。
-
确保在创建产品backlog时,考虑到了产品需要(不仅仅是外部客户的需要)的所有可能的资源。在项目早期就缺失重要的需要,将在未来产生巨大的消极影响。
-
要求为User Story所捕获的需求进行优先级分配,以满足业务及客户对产品的需要。这是backlog梳理和sprint策划的输入,而这两项事务在敏捷项目中是必不可少的。
-
要求User Story以最佳的方式进行分配,以满足开发的输入,并最小化外部依赖。
-
确保在User Story中考虑并包含了接口限制。随着项目的进展与已知的增加,接口应随需要而更新。
-
要求User Story必须对于驱动sprint的开发是必要且有效的。在策划环节中,PO与开发团队的互动要足以满足这一点。
-
确保User Story在期望的环境中,满足最终用户的需求。这一点要求在开发的早期与过程中反复确认、再确认产品的可行性。
User Story还是进行sprint估算的基础,且通常以story point为单位进行估算,得出敏捷团队的完成项目的速度。
在实施TDD的环境中,强壮的DoD定义了story的验收条件,敏捷团队在需求开发过程中便可较少的引入缺陷。
起初,每个User Story都被写在独立的小卡片上,贴在Scrum看板上。除了这种方式以外,他们可以被写进其他需求管理工具。