啥叫軟體配置管理?——一個通俗的解釋

myattitude發表於2008-07-23
作為一位從事軟體配置管理工作的同志,我經常被親朋好友問到的是,我有時候要向各級領導遊說的是,啥叫軟體配置管理?
我的經驗是:

1. 如果想讓他們從迷茫到更迷茫,那就跟他們背一段ISO/CMM裡的定義。

2. 如果不想深談,或者背景實在相差太遠,那就跟他們說:
“當很多人在一起編寫軟體的時候,需要一些專門的管理和技術,讓他們能夠合作順暢。
軟體配置管理就是其中的一種。”

3. 如果大概講一下,能有個概念,那就跟他們說:
“軟體配置管理是圍繞軟體資產的管理。
啥叫軟體資產呢,就是設計文件啦,原始碼啦,可以跑的程式之類的。
那麼,有什麼要管理的呢?讓我們把它和圖書館的圖書管理做個對比。

它們有一些相似點。
首先,圖書館圖書管理管的是圖書資產,軟體配置管理管的是軟體資產,它們管的都是資訊資產。

其次,圖書管理,需要把圖書進行分類,以便檢索,需要圖書存放在合適的地方,以便存取,還要防止蟲吃鼠咬。
軟體配置管理也類似,需要把軟體資產——主要是原始碼什麼的,放在合適的目錄結構裡,放在合適的地方儲存,防止丟失或者弄亂。

再次,在圖書館,要記錄誰借出了哪本書,還沒還。
而軟體配置管理中也類似,需要記錄誰借出了什麼檔案。
不過,跟圖書管理不同的是,軟體開發人員借出檔案,常常是為了修改它。
軟體配置管理要記錄誰修改了什麼檔案,為什麼修改,等等。

這裡就引出了一系列事情要考慮:
比如,每個檔案,不斷修改,就產生了一個又一個的版本,需不需要儲存呢?
一個產品的整個原始碼樹,也在總體上產生一個又一個的版本,需不需要儲存呢?
怎麼儲存呢?

比如,可能兩個人想要同時修改一個檔案。這可能會導致一個人的工作丟失。
那麼,是讓他們一個改完了另一個再改呢,還是讓他們同時改,將來合併呢?怎麼保證呢?

再比如,有時候,一個公司會生產一系列相似的軟體產品,它們之間是不是可以有某些共享呢?
在一個產品上的改動,是不是能比較方便的加到另外的產品上去呢?

所以說,軟體配置管理是圍繞軟體資產的管理:
保證它們的儲存;保證改動它們的時候,也就是進行軟體開發的時候,不會產生混亂,有條有理,省時省力;等等。”


第3種解釋,是我最喜歡的解釋。
雖然還不完全(比如,沒有說配置/關係),也不嚴謹(淨是用勞動人民的大白話說的),
但是能給沒怎麼接觸過SCM的同志一個比較正確、比較容易接受的第一印象了。
而且讓人覺得,SCM確實有用~~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-407220/,如需轉載,請註明出處,否則將追究法律責任。

相關文章