一個產品的開發往往需要多個人共同合作完成,開發過程中項目組成員需要共享各種產品數據(包括:項目過程中產生的各種文件、源程序、最終的產品等),為了保證項目的正常開展,項目組成員需要保證每個人拿到的文件和源程序都是最新的、一致的,且可以根據需要回溯到之前的某個節點,這就需要在項目過程中做好產品數據的版本管理。
產品在運營階段根據不同的客戶需求又會產生新的版本,同一客戶在使用過程中又會提出新的需求,隨著客戶群的增多版本也越來越多,如果不做好產品數據版本管理,企業就會陷入版本混亂的局面,為此投入的成本也會越來越大。
小王是A公司的一名研發人員,A公司主要研發某類相關監控設備,其中小王負責監控系統的研發。由于監控系統是A公司作為其他監控設備的贈品贈送給客戶的,所以起初的兩年監控系統的研發和維護都由小王一個人負責。由于不同的客戶在使用時都會有自己的特殊需求,于是就產生了一系列的C版本,C版本的用戶在使用的過程中又會提出新的需求,隨著使用的客戶越來越多,版本的維護工作變得越來越大。小王手里的源文件也越來越多,由于A公司沒有對開發過程中的產品數據版本進行管理,所以各源文件之間的區別沒有標簽標識,這使得源代碼的維護成本變得很高。
由于A公司售后服務小組對監控系統不了解,所以每次接到客戶的問題投訴電話后,都會直接反饋給小王,讓他進行跟進和解決。小王覺得其中的一些問題特別小,而在其他的客戶那里又沒有出現,所以他在現場解決以后,并沒有將升級后的版本歸檔到公司的檔案庫里。檔案庫管理員會將每次研發歸檔的版本按照要求下發到各使用部門,檔案庫管理員將升級歸檔后的版本保存到固定的目錄,并通知各使用部門版本已升級。但使用部門沒有養成每次使用版本時都從指定目錄獲取對應的最新版本的習慣,他們有時從小王手里獲取版本,有時從指定目錄獲取,有時直接使用自己手里之前獲得的版本,于是小王在接到客戶投訴時,因版本混亂造成尋找問題原因的難度增加,造成公司不必要的維護成本。
項目和運營之間是相輔相成的,在項目的生命周期里會產生很多的文檔、源程序和最終的產品。這些產品數據最后歸檔成為公司的寶貴資產,在實際的開發過程中產品數據對產品的開發起到支撐作用,項目結束后,產品進入運營階段,此時受控的產品數據又為產品的維護和升級提供了有利的保障。
通過以上的案例,我們可以看到產品數據版本管理的重要性,同時我們漢捷在多年的咨詢過程中發現,如果忽略產品數據管理的重要性,會給企業帶來以下問題:
1、? 不便于通過版本命名可以區別當前版本在產品樹中的位置;
2、? 版本升級頻繁,導致客戶滿意度降低;
3、? 缺少版本規劃,客戶版本不斷增加新特性,時間一久很容易引起版本混亂;
4、? 版本沒有進行生命周期管理,維護成本很大;
5、? 版本升級前后不兼容問題,版本升級后因測試人員無法對版本進行所有功能的全面測試,從而可能存在因版本升級引起之前已穩定的功能產生新的bug;
6、? 版本升級測試通過后,沒有及時進行公司歸檔(包括中間產生/更新的各種過程文檔);
7、? 歸檔后的版本檔案管理人員沒有及時下發給相應的部門,造成企業發貨時發錯版本;
8、? 使用部門沒有每次使用時都從公司指定的目錄獲取版本,而是經常直接獲取上次已下載的版本,或從研發人員/測試人員那里直接獲取版本,造成版本失控;
9、? 版本對應的一些基礎信息缺少詳細文檔的支撐,比如版本有哪些需求,哪些特性,對應什么客戶,什么時間、誰進行了什么修改,對應測試版本是多少等等。
10、由于沒有做好項目過程中的產品數據版本管理,經常會出現同一項目組中開發人員的版本不一致,此時想回溯到之前的版本也變得困難重重,從而對項目造成了嚴重的影響。
產品數據版本管理是一個企業產品有效運作的基礎,它不僅可以提高公司內部的研發和運營效率,而且可以提高公司產品的競爭力,為公司的發展保駕護航。