集成任务跟踪与版本控制的变更模型旨在使软件开发中的版本管理和任务跟踪乃至项目规划实现真正意义上的一体化,进而优化软件开发的过程。在此模型中,变更(Change)取代源码文件成为基本单元。首先,通过Change将源代码文件封装,这就使得项目颗粒度变大,抽象性更强;经过封装后的源代码文件,再通过Change与开发任务关联。实质上,Change在任务跟踪和版本控制之间建立了桥梁(如图2)。通过提交Change,就能轻松更新源代码,并记录引起源代码修改的任务。依据实际情况,开发任务和Change的关联分为以下三种情况:
“一对一”关联,即提交一个Change完成一个工作任务,这和传统的源代码文件与工作任务“一对一”关系是不同的。例如,开发人员通过修改多个源代码文件才能修复一个bug,但开发人员只需提交一个Change就能完成该任务。