在實際項目工作中,我們能回答項目組中不同角色人員提出的問題嗎?
項目經(jīng)理:還有沒有重要性為1的請求沒有解決?
分析設(shè)計人員:這次發(fā)布版本是否包括了462需求?
開發(fā)人員:我記得的確修改了那個文件的,為什么還會出現(xiàn)這個問題?
集成人員:為什么這次build失敗了?
測試人員:Bug 873是否在這次build中fix了?
……
實際情況是,我們很難對上述這些問題給出準(zhǔn)確的回答。究其原因,主要是由于我們配置管理工作沒有做好產(chǎn)生的。
既然項目中有很多問題是由于配置管理沒有做好導(dǎo)致,那么到底什么是配置管理呢?大家可能認(rèn)為,任何人只要是參加過軟件開發(fā)工作,就應(yīng)該知道這個問題的答案,但實際上很少人能準(zhǔn)確的描述“配置管理”這個術(shù)語的含義。隨著大家對軟件開發(fā)過程認(rèn)識的加深,那些參加過軟件開發(fā)的人已經(jīng)認(rèn)識到需要對開發(fā)過程中發(fā)生的事情進行控制。一旦這些事情能夠得到控制,過程就能被度量和引導(dǎo)。出于對這種需求的認(rèn)識,我們得到了配置管理的定義:軟件配置管理就是如何控制軟件項目的進展。在CMMI和IEEE關(guān)于配置管理的正式定義是:軟件配置管理是軟件工程中的一項規(guī)程,包括相關(guān)工具和應(yīng)用技術(shù)(過程或方法),公司用它來管理軟件資產(chǎn)變更。
但是上述兩種定義較難于理解和記憶,筆者實際工作的經(jīng)驗總結(jié)發(fā)現(xiàn),配置管理實際就是四個正確,即正確的人,在正確的時候,可以獲取到正確文件的正確的版本。
項目經(jīng)理:還有沒有重要性為1的請求沒有解決?
分析設(shè)計人員:這次發(fā)布版本是否包括了462需求?
開發(fā)人員:我記得的確修改了那個文件的,為什么還會出現(xiàn)這個問題?
集成人員:為什么這次build失敗了?
測試人員:Bug 873是否在這次build中fix了?
……
實際情況是,我們很難對上述這些問題給出準(zhǔn)確的回答。究其原因,主要是由于我們配置管理工作沒有做好產(chǎn)生的。
既然項目中有很多問題是由于配置管理沒有做好導(dǎo)致,那么到底什么是配置管理呢?大家可能認(rèn)為,任何人只要是參加過軟件開發(fā)工作,就應(yīng)該知道這個問題的答案,但實際上很少人能準(zhǔn)確的描述“配置管理”這個術(shù)語的含義。隨著大家對軟件開發(fā)過程認(rèn)識的加深,那些參加過軟件開發(fā)的人已經(jīng)認(rèn)識到需要對開發(fā)過程中發(fā)生的事情進行控制。一旦這些事情能夠得到控制,過程就能被度量和引導(dǎo)。出于對這種需求的認(rèn)識,我們得到了配置管理的定義:軟件配置管理就是如何控制軟件項目的進展。在CMMI和IEEE關(guān)于配置管理的正式定義是:軟件配置管理是軟件工程中的一項規(guī)程,包括相關(guān)工具和應(yīng)用技術(shù)(過程或方法),公司用它來管理軟件資產(chǎn)變更。
但是上述兩種定義較難于理解和記憶,筆者實際工作的經(jīng)驗總結(jié)發(fā)現(xiàn),配置管理實際就是四個正確,即正確的人,在正確的時候,可以獲取到正確文件的正確的版本。