“一对一”关联,即提交一个Change完成一个工作任务,这和传统的源代码文件与工作任务“一对一”关系是不同的。例如,开发人员通过修改多个源代码文件才能修复一个bug,但开发人员只需提交一个Change就能完成该任务。
“多对一”关联,即通过修改提交一个Change,可以完成多个任务;或者完成一个任务需要提交多个Change。对于后一种情况,能够帮助开发人员规划自己的工作,也使得其工作可见并量化。例如,程序员认为完成一个任务需要5个工作日,如果在5天以后才提交源代码,可能会影响团队其他成员的工作。他可以选择每天以提交单个Change的方式记录自己的工作进展,版本库中的源代码文件会自动更新,直至最终完成这个任务。
“多对多”关联,即多个工作任务与多个Change相关。例如,测试人员提交的6个bug被分配给2个程序员修复,他们可以通过新建不同的Change,将自己要修改的源文件和相关bug关联起来,实现协同工作。
集成变更模型的功能及优势
为了在可控制的工作流环境下实现多种管理功能,如工作项管理、任务跟踪和缺陷跟踪等,上述集成变更模型系统至少应具备以下功能:
实现开发任务、变更(Change)和源代码文件三者的自由关联。开发任务应该通过Change这个纽带,对各自之间的关系和历史做详细记录,便于追溯和查找。同时,也应支持“一对多”和“多对多”的关联方式。 项目管理者联盟文章,深入探讨。
任务跟踪软件与第三方版本控制系统集成。在企业多项目、多团队的管理中,统一的任务跟踪工具如果能和多个版本控制系统自由集成,尤其能考虑到开源软件,如Subversion、CVS等,将为企业节约实施成本。
变更控制与主流集成开发环境(IDE)工具的集成。开发工程师无需脱离IDE,也无需登录任务跟踪系统,便可直接通过IDE中集成的变更管理机制,完成源代码与开发任务的关联和版本库中的代码更新。