Trac 中版本和里程碑的预期目的是什么?如何使用它们?里程碑与版本有何不同?
3 回答
说明差异的一个好方法是考虑缺陷单。当您提交故障单时,您(故障单提交者)使用版本字段来指示出现缺陷的软件版本。一旦软件维护人员对故障单进行分类,他们就会将其分配给一个里程碑,该里程碑指示修复缺陷的时间范围。工单可以根据项目计划从一个里程碑重新分配到另一个里程碑,但版本号将保持不变。版本号是指已经发布的东西,里程碑是指正在开发或为未来计划但尚未开始的东西。
一些项目在版本和里程碑之间有 1:1 的映射。例如,Trac 项目本身有一个针对 0.12.3、0.13、0.14 等版本的里程碑。它们还有更抽象的里程碑,不映射到特定版本,例如“next-major-0.1X”(其中表示下一个主要版本是什么)、“不适用”和“未计划”。但是,当您创建工单时,“版本”字段中列出的唯一内容是已发布版本和正在积极开发的版本。
如果您不希望里程碑与您的版本相关联,则不必以任何方式关联它们。例如,您可以为“october-2011”、“november-2011”等创建里程碑,并使用它们来安排每个月的任务。这完全取决于您和您特定项目的需求。
工作流程是这样的:
- 您有工单,可以是对新功能、错误修复、改进等的请求
- 然后您决定哪些票证具有更高的优先级(可能基于用户需要什么或错误修复的重要性等)。
- 要组织工作(以及所涉及的开发人员),您可以声明“一个里程碑将持续 2 周”(可以更多,也可以更少,由您决定)
- 然后,您可以估计在这段时间内可以实际解决多少票(1 个里程碑)。
- 然后,您可以每隔一定数量的里程碑发布一个新版本(即:在 1 或 2-4 个里程碑之后公开发布,除非需要修复关键问题)。
总而言之,版本旨在成为完整的工作版本(公开或不公开)。里程碑是这些版本的路线图。工单是每个里程碑中可以完成的最小工作单元。
版本通常更适合向用户发布。
里程碑更多是针对需要在开发中完成的步骤。用户看不到或不需要知道它们。一些开发商店将这些视为子版本 (1.3.2a),这些子版本将汇总为发布版本 (1.3.2)。
这里有一个很好的讨论。