軟件研發(fā)管理系列文章(版本管理)
版本管理是軟件研發(fā)很重要的工作,版本管不好會經(jīng)常發(fā)生丟特性,反復(fù)合版本的工作量浪費(fèi),今天分享一下軟件版本管理。
1、版本規(guī)劃
1)項(xiàng)目部或者產(chǎn)品部或者研發(fā)部或者一起來進(jìn)行年度版本規(guī)劃制定,年度版本規(guī)劃一般按照周期長短進(jìn)行分類;
2)根據(jù)人力資源,軟件特點(diǎn),客戶需求,技術(shù)競爭力進(jìn)行大的版本規(guī)劃。年度,半年度,季度的版本可以規(guī)劃出來。
3)規(guī)劃的目的是方便需求接納,和對外需求承諾,接納需求時(shí)根據(jù)需求的緊急程度 接納到不同的版本,項(xiàng)目開發(fā)可以根據(jù)接納的需求,按照規(guī)劃時(shí)間啟動項(xiàng)目開發(fā)。
4)版本規(guī)劃要明確版本之間的繼承關(guān)系, 即版本以哪個(gè)版本為基線版本,版本一般有并行開發(fā)的情況,集成關(guān)系還是比較重要的。
2、版本號定義
1)VRCPatch 是版本號常用的定義規(guī)則,例如:V100R001C100Patch001,比如windows 版本有8.1,這就是v、r版本表示法 微軟也有patch版本,沒有c版本。
2)V版本,一年最多規(guī)劃一個(gè)版本,一般三年一個(gè)V版本開發(fā),V版本需要有重大技術(shù)競爭力提升,重要特性支持。V版本是基線版本,后面的版本都是在這個(gè)版本上升級,
3)R版本,一年一個(gè)到兩個(gè)R版本,R版本是研發(fā)版本,通用的版本,可以交付各類客戶的版本。
4)C版本,C版本是面對某一類用戶的版本,一般1個(gè)月到3個(gè)月,不宜過長也不宜過短,過短特性太少,過長滿足不了用戶的交付要求。
5)patch版本,補(bǔ)丁版本,就是對于已發(fā)布版本打補(bǔ)丁,有兩種 一種是bug修復(fù)版本,能多快多快,快速修復(fù)bug,還有一種是緊急需求版本,就是用戶提出的比較緊急的特性,快速開發(fā) 一般是一個(gè)月內(nèi)版本。
3、版本管理
1)版本之間是并行關(guān)系,不是為了并行而并行,最好是全串行,一個(gè)跟著一個(gè)做,但是這可能滿足不了用戶需求,所以才存在并行的版本,所以版本的規(guī)劃就比較重要,版本要基于軟件開發(fā)流程本特點(diǎn),需求情況,資源情況,客戶市場情況進(jìn)行版本規(guī)劃。
2)one track,版本歸一化,版本必須走一條主線,保證后續(xù)版本對前續(xù)版本的特性繼承,不能分支又長分支,就會出現(xiàn)特性沖突,特性丟失,舉個(gè)例子,當(dāng)前是在開發(fā)的版本有三個(gè),基線版本是v100人001,在基礎(chǔ)上開發(fā)c001,c002,還有r002;這樣c002在發(fā)布之前要合入c001,也就是變成以c001為基線,r002發(fā)布之前要合入c001、c002,這樣可以成為新的歸一版本。