版本管理:“拖延癥”患者看過來,這里有藥
軟件是否能夠按計劃發(fā)版本,除了嚴(yán)格執(zhí)行計劃外,版本控制必不可缺。
發(fā)版本能干什么?
- 治療拖延癥
- 發(fā)現(xiàn)軟件中的bug
- 確保質(zhì)量準(zhǔn)確跟蹤
項目如果經(jīng)常遇到不能按時發(fā)布版本,排除計劃做得不周詳外,這里只討論人的問題。很多個程序員都會有的病癥“拖延癥”,不到上線前一天不加班,不到上線前最后一晚不發(fā)版本。版本發(fā)完了,一堆bug 重復(fù),周而復(fù)始,產(chǎn)品的進(jìn)度、質(zhì)量最終無法保證,團(tuán)隊努力付之東流。
現(xiàn)實場景:
A小組:
每天都很努力, bate 版本發(fā)布前一天,通宵加班,發(fā)布版本。第二天,測試如期收到了測試版本1.0 。
測試如期完成測試任務(wù),發(fā)布了一份非常詳細(xì)的測試報告。 結(jié)案陳詞: 一萬個草尼瑪奔騰而過。
大大小小的bug不計其數(shù)。各種撕逼大會后,給出了一份修復(fù)時間表。繼續(xù)修復(fù) ,修復(fù)一周后,繼續(xù)一萬個草尼瑪奔騰而過。
開發(fā)的過程中,開發(fā)時間是足夠的,但是拖延癥的作祟會讓每次版本發(fā)布得非常倉促,
加上程序員的技術(shù)水平、責(zé)任心,會讓這個過程變成了一個死循環(huán),拖延了正式版本的發(fā)布時間。延期再延期。
治療圣藥:
發(fā)布Alpha版,內(nèi)部測試版,每日構(gòu)建。進(jìn)行每日構(gòu)建可以看得到每日的開發(fā)進(jìn)度,這個構(gòu)建時間并不一定是一天,但是這個周期最長建議不超過3天。
每日構(gòu)建,可以可以讓產(chǎn)品經(jīng)理,技術(shù)經(jīng)理等相關(guān)人員了解到產(chǎn)品的進(jìn)度,同時也治療了拖延癥。程序員每日每日是否完成指定計劃有了一個明顯的度量標(biāo)準(zhǔn)。最起碼,你看得見產(chǎn)品今天有了什么變化,看得見戳得著。
如果加上SVN或者Git的跟蹤,每天寫多少行,改了哪些行,敲了多少字,都可統(tǒng)計。
版本及版本號的管理
版本的管理有很多種,只要格式規(guī)范方便閱讀即可。高大上國際范的版本號,問度娘或者谷哥就好。這里分享一下我自己所使用的方法。
軟件版本
先從軟件版本說起,我們使用4個版本進(jìn)行軟件版本管理?Alpha, Bate, ?RC, Release,詳細(xì)可見下表
軟件版本號
軟件版本號你可以使用GNU的規(guī)范進(jìn)行版本管理,也可以用windos的版本管理,以我們所使用的GNU為例
格式:主版本號.子版本號[.修正版本號[.編譯版本號]]
例:
項目立項,開始開發(fā)
項目立項,主版本號0
每日構(gòu)建Alpha版本,那么每天的版本號:
0.1.20150808.113_Alpha
.
.
.
0.1.20150812.113_Alpha
.
.
.
0.3.20150820.100_Alpha
要點:
- 主版本號我們從0開始
- 子版本號我們通過沒個里程碑進(jìn)行計算
- 修正版本號使用構(gòu)建當(dāng)天日期
- 編譯版本號使用編譯號
- 最后加上一個版本名
版本號里面加上日期的好處就是可以避免在測試過程中與開發(fā)所使用的版本不一致。如果不加上日期,這一幕會經(jīng)常發(fā)生。
在一個創(chuàng)業(yè)團(tuán)隊當(dāng)中,很多很多時候,產(chǎn)品、開發(fā)、測試、客服等等角色都是一個人在擔(dān)任,你很難讓每一個員工都有主人翁精神,
簡單,粗暴,見效快的方式是就是每天構(gòu)建版本,讓問題當(dāng)天就能呈現(xiàn),有了這些統(tǒng)計數(shù)據(jù)你可以做更多的事情。產(chǎn)品開發(fā)的過程中堅持每日構(gòu)建原則,效率和質(zhì)量都能快速提升。
本文由甲骨文紡織服裝創(chuàng)新中心技術(shù)總監(jiān) @李皓(微信公眾號:debuglee)原創(chuàng)投稿,并經(jīng)人人都是產(chǎn)品經(jīng)理編輯。未經(jīng)許可,禁止轉(zhuǎn)載。
為啥感覺剛剛開始就結(jié)束了? ??
讀得好好的,就這么草草收尾了,剛想掏出小筆記,結(jié)果就說了個版本號的問題。。
就是你們這種沒寫過代碼的紙上談兵侃侃而談瞎指揮才造成程序員加班,反正張張嘴說什么都是別人的錯
你怎么知道這個作者沒寫過代碼,他寫過的代碼可能比你吃的鹽都多 @HQBOX
每日構(gòu)建? 即每天都設(shè)定一個目標(biāo),比如改某某某幾個bug是嗎
每天構(gòu)建的版本不需要在乎bug有多少。重點還是監(jiān)控開發(fā)的進(jìn)度和質(zhì)量我覺得是其次的