一般人的理解,变更、配置管理这个方案是用在开发人员的角度上的工具,我想这是对的,它是用在这方面的工具,实际上它的意义比它应用的更广泛。如何让大家来认识这一点,我先从软件开发的复杂度来谈起。
第一个问题,我想跟大家探讨一下,我们有多少人或者用了多长时间在ms-dos 系统上,这个系统是在二三十年前的一个系统。可能想象不到,实际上这个版本的开发,才用了六个星期,实际代码数才是4000 行。我们来看一下最新的microsoft 操作系统的情况。能想象的到,这个系统大概有4 百万行的代码,加上了大概有多达1 万人员的开发人数经过了三到四年的开发历程才诞生出来的系统。在二三十年前的系统跟现在的系统有多大的区别,大家能想象的到吗?我们从这两个例子的比较可以看到,实际上这个系统的复杂度要提升了大概万倍或者百万倍的复杂度。这就使我们联想到软件开发系统或软件开发过程随着时间的增长它会变得越来越复杂。
除了开发过程之外,我们想到的是在开发之后可能有很多的变更或者有很多的问题你要去跟踪管理。作为项目经理或者项目总开发人员,你每天或者每时所做得事情都面临着一个变更的过程,这个过程的管理是个相当复杂的过程。还有其他方面的复杂因素,比方说随着你公司的不断发展壮螅愕膖eam 成员还有开发组织机构都在不断变更,你会面临在异地开发的状况或者在不同的部门,怎么样去结合在一起组织你的开发过程。
举一个例子,比如在开发过程之中你的团队人员的团队管理过程发生错误,这个team 就谈到两个人员在同时修改同一个代码的时候,他们发生代码覆盖的错误。另外一个错误我们可以联想到软件复杂度会给你带来的错误,举个例子来说,比如我现在在修改组件的时候,没有想到其他人员正在用这个组件来做事情。另外一个错误,可能让我们联想到你在流程的支持过程之中,缺乏一些因素来影响到你犯错误,比如我们忘记解决在软件发布之后的一些缺陷。另外一个因素可以让我们联想到当你组织的复杂度改变了之后,所产生的错误,比如我们很多的团队人员,不同的项目组,工作在同一个环境之下,当一个项目组对某一个缺陷、某一个错误进行更正的时候,这个缺陷会对哪些项目组产生影响,这个管理不当就会产生错误。所以,我们把变更、配置管理解决方案定成我们是在软件开发过程之中或者软件管理之中,我们要尽量缩小你的错误或减少你的错误,我们要最大限度提高变更、配置管理的能力。
再回到我们对一些官方软件,从如何定义的角度来看这个问题。二三十年前所定的软件配置管理,它定义成是控制和管理软件开发过程之中的配置性,这个是提高软件开发过程之中的配置管理的力度,这个实际上是监视和报告软件开发过程之中的变化状况。这些是我们配置管理的内容,也是我们应该解决的问题。现在软件配置管理的范畴提升到资产的开发管理角度之上,首先要控制和跟踪你开发的工作。另外还要保证你的软件开发过程中没有不应该丢失的东西丢失或者毁坏掉。如果让我们看一下配置管理或者变更管理的工具市场,有各种各样的工具来解决这个问题。我们称为完整的变更、配置管理工具。这种管理工具包括了要控制进行变更跟踪,版本管理、建立管理还有发布管理这些范畴,我们synergy 这个产品就是属于这类范畴的解决方案。另外一类工具我们称为一般的版本管理工具,或者是一些免费的配置管理工具。这类工具所解决的问题在我们很早以前定义的范畴里,这类工具不足以能够管理软件开发过程之中的复杂度,来帮助用户实现他们的商业价值。
下面,我想谈一下我们配置管理解决方案在软件开发流程之中所起的作用或者角色。首先,我们配置管理解决方案的一些传统角色,在软件开发过程之中起一个版本管理的角色,另外是变更请求管理和跟踪、建立管理的这类传统性的角色。除此之外,它还起到了额外的角色,这类解决方案要帮助团队进行友好的交流和协作。另外一个角色起到记忆所有开发过程之中的活动,能够瞬间回到某个活动过程做的事情。还有一个角色,自动化反复开发的流程,另外一个角色是在变更、配置管理控制资产的背后,它起到一个开发过程之中的实施作用,所以,我们可以理解为变更、配置管理在开发的流程之中起到的是一个基础框架的作用。在我们的组织之中哪些人应该用到变更、配置管理解决方案呢?从传统的角度来说,它是用在了开发人员跟配置管理人员之中的解决方案。当我们定义了新的配置管理的范畴之后,我们变更、配置管理解决方案应该用在全队人员的所有角色之中,它会对整个开发流程或者组织管理起到举足轻重的作用。
文章来源于领测软件测试网 https://www.ltesting.net/