产品工作组将帮助社区记录需求,以用户故事的形式呈现,针对采用的关键障碍,这些障碍基于特殊兴趣组 (SIG) 的特定需求,这些 SIG 作为用户委员会组织的一部分进行工作。虽然我们也会接受来自单个成员的用户故事提交,但强烈建议您加入一个与您的兴趣相符的工作组,并作为该组的一部分提交。鼓励这样做的主要原因是,该组可能已经制定了与您的需求相符的计划,如果用户故事与团队产生共鸣,他们可以通过工作组成员帮助它获得更大的可见性。
以下是当前存在的所有工作组的列表,您可以访问他们的 wiki 页面以获取更多信息:https://wiki.openstack.org/wiki/Category:Working_Groups
本文档的目的是分享产品工作组用于生成、分类和跟踪用户故事的分类法/层级结构。
产品工作组将以一种宽松的方式遵循敏捷术语/方法论。因此,在描述我们类似敏捷的过程之前,涵盖一些基本的敏捷术语和流程信息非常重要。请记住,大多数个人和组织对本节讨论的概念都有略微不同的解释,因此不要将此视为关于主题、史诗、用户故事、功能等的权威指南。
主题 (Theme):一个关注领域(用户故事/史诗的分组)。它不包含重要的细节,并且与单个产品相关联。通常,主题或史诗是在描述需求时最顶层的工件。一个主题可以跨越多个 sprint。
史诗 (Epic):史诗通常是一个更大、更广泛的用户故事。它可能是最顶层的需求工件,或者可以是主题下的许多史诗之一。史诗通常会跨越多个 sprint;从分解史诗中生成的用户故事是属于产品待办事项列表或 sprint 的项目。
用户故事 (User Story):用户故事一次只能属于一个史诗,并且不能跨越 sprint。用户故事通常使用一种捕获角色/角色、目标和好处/理由的格式来捕获用户想要的内容。然后,该项目分解为更详细的任务或功能,这些任务或功能描述了交付用户故事所需的具体工作。大多数产品待办事项列表使用用户故事作为“工作”的运营单位进行优先级排序。
功能 (Feature):有些人将功能用作用户故事的替代品,而另一些人则将其用作任务的替代品。对于我们的术语概述,我们将功能和任务视为可互换的术语。有关更多详细信息,请参见任务。
场景 (Scenario):场景通常扩展用户故事,描述用户故事可能被解释的方式或用户体验到的需求。一个好的场景也可以作为验证用户故事的目标是否成功实现的一种方式。
任务 (Task):任务是一个较低级别的需求项目,它捕获完成用户故事所需的子单元或步骤。任务通常由正在处理用户故事的开发团队生成。
有关这些术语的更多信息的良好资源
http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes
http://www.romanpichler.com/blog/agile-scenarios-and-storyboards
产品工作组将利用敏捷术语进行沟通,本节提供了有关如何在 OpenStack 社区内映射这些术语的更多信息。
主题 (Theme):主题将由产品工作组和 OpenStack 基金会同意的非常高级别的类别。通常,主题将是诸如弹性、可用性、性能、可扩展性、用户体验等领域。
史诗 (Epic):史诗将用于在每个主题中构建主题,这些主题可用于聚合用户故事。例如,在“可用性”主题中,我们可以有一个关于“服务进程”的史诗,所有与使 cinder、nova、keystone 等服务“高可用”相关的用户故事都将属于该史诗。
用户故事 (User Story):用户故事一次只能属于一个史诗,并且可以跨越 sprint。用户故事通常使用一种捕获角色/角色、目标和好处/理由的格式来捕获用户想要的内容。然后,该项目分解为更详细的任务或功能,这些任务或功能描述了交付用户故事所需的具体工作。产品工作组跟踪器将跟踪用户故事。
功能 (Feature):有些人将功能用作用户故事的替代品,而另一些人则将其用作任务的替代品。对于我们的术语概述,我们将功能和任务视为可互换的术语。有关更多详细信息,请参见任务。
场景 (Scenario):场景通常扩展用户故事,描述用户故事可能被解释的方式或用户体验到的需求。一个好的场景也可以作为验证用户故事的目标是否成功实现的一种方式。产品工作组用户故事模板要求输入使用场景,以促进用户故事的讨论。
任务 (Task):任务是一个较低级别的需求项目,它捕获完成用户故事所需的子单元或步骤。任务通常由正在处理用户故事的开发团队生成。在我们的例子中,与用户故事相关的蓝图/规范将被视为任务。