4.6.4 版本控制

因为需求的特殊性,在实际的项目开发中,对需求进行版本控制,需求版本需要考虑更多层次,如需求文档、需求条目、需求体系等。

1.需求文档的版本

对整个文档进行版本的管理是基础,当谈及最新版本时,项目团队的成员应该都知道它指的是哪个版本的文档,比如2.1版。但在很多情况下,每个人往往都是指自己的计算机上的文档版本,以为是最新版本。

2.需求条目的版本

需求条目的版本表示对每个需求对象进行更细粒度的控制。需求文档里面由若干需求条目组成,两个需求在不同版本之间可能是几个需求条目发生了变化,需要更清楚地知道某条关键的需求,何人何时创建,何人何时做出何种修改,并且能够知道修改的开始和结束的状态,显示出其中的差异,最好可以自动地回退到某个历史状态。这些工作中的需求,实际上都体现了对需求条目层次上版本管理的要求。

3.需求体系的版本

公司采用迭代或增量开发模式时,为了降低风险,将开发过程分为多个增量部分可以加快整个开发过程。每个阶段结束后,是否要将整个项目的文档做一个快照呢?通常是需要的,此时的项目基线也就是需求体系版本,需求体系版本包含来自需求的多个相关文档,此时的版本管理将该组文档之间的追踪关系也进行基线化管理。

对文档之间的追踪关系也进行基线化管理意味着项目的每一个阶段,需求文档会有所不同,需求文档之间的追踪关系也会不同。记录项目每个阶段的需求文档及其追踪关系的版本,可以回溯到以前的某个需求版本,并能够按照当时的项目追踪关系,追踪当时的分析设计结果,实现对整个需求体系的掌握,能够更好地理解、复用已完成的工作成果。