由于缺乏必要的配置管理流程和工具,很多軟件企業(yè)在日常的開(kāi)發(fā)工作中都會(huì)或多或少的遇到如下的問(wèn)題:組織的知識(shí)和過(guò)程財(cái)富流失現(xiàn)代的社會(huì)競(jìng)爭(zhēng)激烈,人員流動(dòng)頻繁,如果由于沒(méi)有必要的配置管理流程和工具,大量的文檔和代碼等知識(shí)財(cái)富必然缺乏統(tǒng)一的管理,可能隨意地保存在項(xiàng)目經(jīng)理和軟件工程師各自的機(jī)器里,往往會(huì)因?yàn)橛脖P的故障或人員的離職而永遠(yuǎn)的消失,軟件組織的數(shù)字財(cái)富就這樣因?yàn)槿狈Ρ匾呐渲霉芾矶装椎牧魇А?BR> 不能及時(shí)了解項(xiàng)目的進(jìn)展?fàn)顩r現(xiàn)代軟件工程思想認(rèn)為越早發(fā)現(xiàn)缺陷和風(fēng)險(xiǎn),采取相應(yīng)措施的代價(jià)越小。CMM 的一個(gè)重要作用就是要提高軟件開(kāi)發(fā)過(guò)程中的可視性,使得問(wèn)題能夠被及時(shí)的發(fā)現(xiàn)。然而由于缺乏配置管理的流程和工具的支持,部門主管無(wú)法確切得知項(xiàng)目的進(jìn)展情況,即便是項(xiàng)目經(jīng)理也不知道各個(gè)開(kāi)發(fā)人員的具體工作,項(xiàng)目進(jìn)展隨意性很大。所有的問(wèn)題往往都會(huì)集中到項(xiàng)目里程碑時(shí)一起出現(xiàn),這必然會(huì)造成巨大的開(kāi)銷,其結(jié)果往往是容忍部分缺陷存在或者延誤開(kāi)發(fā)周期。所有問(wèn)題只能寄希望于最終實(shí)施時(shí)再解決,項(xiàng)目的實(shí)施工作因此變成了無(wú)法匯報(bào)、無(wú)法理清、無(wú)休止的維護(hù)。
缺乏實(shí)現(xiàn)并行開(kāi)發(fā)的手段
在日常的開(kāi)發(fā)工作中,經(jīng)常會(huì)出現(xiàn)并行開(kāi)發(fā)的需求,比如:對(duì)于一個(gè)項(xiàng)目可能要在開(kāi)發(fā)新版本的同時(shí)繼續(xù)對(duì)先前的版本進(jìn)行必要的維護(hù),或者針對(duì)某個(gè)特定的版本需要針對(duì)不同的客戶同時(shí)進(jìn)行客戶化的修改等等。在并行模式下,不同開(kāi)發(fā)人員可以同時(shí)編輯修改某一文件,并行開(kāi)發(fā)有可能產(chǎn)生沖突,但是卻能夠提高開(kāi)發(fā)效率。如果沒(méi)有配置管理工具的支持,進(jìn)行并行開(kāi)發(fā)將十分困難,單單通過(guò)人工操作,往往會(huì)造成修改過(guò)的bug 重復(fù)出現(xiàn)或者幾個(gè)人進(jìn)行相同的工作,產(chǎn)生不必要的浪費(fèi)。
軟件復(fù)用率低下
軟件復(fù)用是現(xiàn)代軟件工程中的重要思想,是提高軟件產(chǎn)品生產(chǎn)效率和質(zhì)量的重要手段。軟件產(chǎn)品是一個(gè)公司的寶貴財(cái)富,代碼的可重用性是相當(dāng)高的,如何建好知識(shí)庫(kù),用好知識(shí)庫(kù)將對(duì)公司優(yōu)質(zhì)高效開(kāi)發(fā)產(chǎn)品產(chǎn)生重大的影響。但如果沒(méi)有良好的配置管理流程,軟件復(fù)用的效率將大打折扣,比如對(duì)于復(fù)用的代碼進(jìn)行了必要的修改或改進(jìn),卻只能通過(guò)手工的方式將發(fā)生的變更傳遞給所有復(fù)用該軟件的項(xiàng)目,效率如何可想而知。另外由于缺乏進(jìn)行溝通的必要手段,各個(gè)開(kāi)發(fā)人員各自為政,編寫的代碼不僅風(fēng)格迥異,而且編碼和設(shè)計(jì)脫節(jié),往往會(huì)導(dǎo)致開(kāi)發(fā)大量重復(fù)的難以維護(hù)的代碼。
無(wú)法開(kāi)展規(guī)范化的測(cè)試工作
在傳統(tǒng)的開(kāi)發(fā)方式中,由于缺乏必要的配置管理和變更控制,測(cè)試工作只是人們的一種主觀愿望,根本無(wú)法提出具體的測(cè)試要求,加之開(kāi)發(fā)人員的遮丑,測(cè)試工作往往是走走過(guò)場(chǎng),測(cè)試結(jié)果既無(wú)法考核又無(wú)法量化,當(dāng)然就無(wú)法對(duì)以后的開(kāi)發(fā)工作起指導(dǎo)作用。
對(duì)軟件版本的發(fā)布
缺乏有效的管理因?yàn)槿狈τ行У墓芾硎侄?,往往?huì)在產(chǎn)品發(fā)布時(shí)卻無(wú)法確定該版本所有的組件,或者向用戶提供了錯(cuò)誤的版本。對(duì)于特定客戶出現(xiàn)的問(wèn)題,無(wú)法重現(xiàn)其使用的版本,只能到用戶的現(xiàn)場(chǎng)才能進(jìn)行相應(yīng)的調(diào)試工作。由于應(yīng)用軟件的特點(diǎn),各個(gè)不同的客戶會(huì)有不同的要求,開(kāi)發(fā)人員要手工地保持多份不同的拷貝,即使是相同的問(wèn)題,但由于在不同地方提出,由不同人解決,其做法也不盡相同,程序的可維護(hù)性越來(lái)越差。這些都會(huì)延長(zhǎng)實(shí)施的周期,同時(shí)意味著人力物力的浪費(fèi)。
缺乏歷史數(shù)據(jù)的積累,沒(méi)有軟件開(kāi)發(fā)的歷史數(shù)據(jù)缺乏軟件開(kāi)發(fā)的歷史數(shù)據(jù)是大多數(shù)軟件項(xiàng)目失敗的關(guān)鍵所在,這樣的結(jié)論也許使很多人感到吃驚,但事實(shí)就是如此。因?yàn)檐浖_(kāi)發(fā)的歷史數(shù)據(jù)是反映軟件開(kāi)發(fā)隊(duì)伍的能力的標(biāo)尺,沒(méi)有了這個(gè)標(biāo)尺,就無(wú)法對(duì)軟件的開(kāi)發(fā)過(guò)程有一個(gè)清醒的認(rèn)識(shí)。而良好的配置管理正是收集軟件開(kāi)發(fā)歷史數(shù)據(jù)的重要來(lái)源。
無(wú)法有效的管理和跟蹤變更軟件的一個(gè)顯著特點(diǎn)就是易于改變,沒(méi)有配置管理將無(wú)法對(duì)軟件的變更進(jìn)行有效的記錄、跟蹤和控制。
缺乏實(shí)現(xiàn)并行開(kāi)發(fā)的手段
在日常的開(kāi)發(fā)工作中,經(jīng)常會(huì)出現(xiàn)并行開(kāi)發(fā)的需求,比如:對(duì)于一個(gè)項(xiàng)目可能要在開(kāi)發(fā)新版本的同時(shí)繼續(xù)對(duì)先前的版本進(jìn)行必要的維護(hù),或者針對(duì)某個(gè)特定的版本需要針對(duì)不同的客戶同時(shí)進(jìn)行客戶化的修改等等。在并行模式下,不同開(kāi)發(fā)人員可以同時(shí)編輯修改某一文件,并行開(kāi)發(fā)有可能產(chǎn)生沖突,但是卻能夠提高開(kāi)發(fā)效率。如果沒(méi)有配置管理工具的支持,進(jìn)行并行開(kāi)發(fā)將十分困難,單單通過(guò)人工操作,往往會(huì)造成修改過(guò)的bug 重復(fù)出現(xiàn)或者幾個(gè)人進(jìn)行相同的工作,產(chǎn)生不必要的浪費(fèi)。
軟件復(fù)用率低下
軟件復(fù)用是現(xiàn)代軟件工程中的重要思想,是提高軟件產(chǎn)品生產(chǎn)效率和質(zhì)量的重要手段。軟件產(chǎn)品是一個(gè)公司的寶貴財(cái)富,代碼的可重用性是相當(dāng)高的,如何建好知識(shí)庫(kù),用好知識(shí)庫(kù)將對(duì)公司優(yōu)質(zhì)高效開(kāi)發(fā)產(chǎn)品產(chǎn)生重大的影響。但如果沒(méi)有良好的配置管理流程,軟件復(fù)用的效率將大打折扣,比如對(duì)于復(fù)用的代碼進(jìn)行了必要的修改或改進(jìn),卻只能通過(guò)手工的方式將發(fā)生的變更傳遞給所有復(fù)用該軟件的項(xiàng)目,效率如何可想而知。另外由于缺乏進(jìn)行溝通的必要手段,各個(gè)開(kāi)發(fā)人員各自為政,編寫的代碼不僅風(fēng)格迥異,而且編碼和設(shè)計(jì)脫節(jié),往往會(huì)導(dǎo)致開(kāi)發(fā)大量重復(fù)的難以維護(hù)的代碼。
無(wú)法開(kāi)展規(guī)范化的測(cè)試工作
在傳統(tǒng)的開(kāi)發(fā)方式中,由于缺乏必要的配置管理和變更控制,測(cè)試工作只是人們的一種主觀愿望,根本無(wú)法提出具體的測(cè)試要求,加之開(kāi)發(fā)人員的遮丑,測(cè)試工作往往是走走過(guò)場(chǎng),測(cè)試結(jié)果既無(wú)法考核又無(wú)法量化,當(dāng)然就無(wú)法對(duì)以后的開(kāi)發(fā)工作起指導(dǎo)作用。
對(duì)軟件版本的發(fā)布
缺乏有效的管理因?yàn)槿狈τ行У墓芾硎侄?,往往?huì)在產(chǎn)品發(fā)布時(shí)卻無(wú)法確定該版本所有的組件,或者向用戶提供了錯(cuò)誤的版本。對(duì)于特定客戶出現(xiàn)的問(wèn)題,無(wú)法重現(xiàn)其使用的版本,只能到用戶的現(xiàn)場(chǎng)才能進(jìn)行相應(yīng)的調(diào)試工作。由于應(yīng)用軟件的特點(diǎn),各個(gè)不同的客戶會(huì)有不同的要求,開(kāi)發(fā)人員要手工地保持多份不同的拷貝,即使是相同的問(wèn)題,但由于在不同地方提出,由不同人解決,其做法也不盡相同,程序的可維護(hù)性越來(lái)越差。這些都會(huì)延長(zhǎng)實(shí)施的周期,同時(shí)意味著人力物力的浪費(fèi)。
缺乏歷史數(shù)據(jù)的積累,沒(méi)有軟件開(kāi)發(fā)的歷史數(shù)據(jù)缺乏軟件開(kāi)發(fā)的歷史數(shù)據(jù)是大多數(shù)軟件項(xiàng)目失敗的關(guān)鍵所在,這樣的結(jié)論也許使很多人感到吃驚,但事實(shí)就是如此。因?yàn)檐浖_(kāi)發(fā)的歷史數(shù)據(jù)是反映軟件開(kāi)發(fā)隊(duì)伍的能力的標(biāo)尺,沒(méi)有了這個(gè)標(biāo)尺,就無(wú)法對(duì)軟件的開(kāi)發(fā)過(guò)程有一個(gè)清醒的認(rèn)識(shí)。而良好的配置管理正是收集軟件開(kāi)發(fā)歷史數(shù)據(jù)的重要來(lái)源。
無(wú)法有效的管理和跟蹤變更軟件的一個(gè)顯著特點(diǎn)就是易于改變,沒(méi)有配置管理將無(wú)法對(duì)軟件的變更進(jìn)行有效的記錄、跟蹤和控制。

