Posted on 2005-12-14 23:05
非魚 閱讀(1853)
評論(6) 編輯 收藏 所屬分類:
管理
發(fā)行是產(chǎn)品開發(fā)完成并交付客戶安裝、配置、使用的過程。軟件發(fā)行做為生產(chǎn)完成或階段性完成時刻的活動,不僅是一個短時期的任務(wù),它和開發(fā)過程中的其他活動密切相關(guān)。
在整個軟件的生命周期中,開發(fā)活動總是迭代進行的。即使對于傳統(tǒng)的軟件開發(fā)方法(結(jié)構(gòu)化設(shè)計),在維護階段一個用戶的需求變更,將導(dǎo)致軟件的新版本發(fā)行,
這時候不得不進行被動的迭代——在原軟件的基礎(chǔ)上改進并發(fā)行改進的補丁或者完整版本。但人們在面向?qū)ο蟮拈_發(fā)方法中,更加傾向于主動的迭代過程,以提高軟
件產(chǎn)品的質(zhì)量。
我們也用更現(xiàn)代的視角來觀察整個過程和軟件發(fā)行這個活動。開發(fā)計劃在最初時刻定義了發(fā)行版本的內(nèi)容,正常情況下,未來的發(fā)行將包含計劃中的所有開發(fā)內(nèi)容。
開發(fā)過程中的各種活動如評審、測試等保證了發(fā)行的質(zhì)量。版本管理是一個好的發(fā)行成功的根本保證。發(fā)行活動記錄軟件版本和發(fā)行的目標客戶,以進行后期的維護
如補丁發(fā)行、版本更新。
軟件的發(fā)行是有節(jié)奏、有內(nèi)容、有質(zhì)量的。節(jié)奏保證了開發(fā)人員和最終客戶的一致,所有人都知道版本將在何時發(fā)行。內(nèi)容滿足最終客戶的期望。質(zhì)量保證產(chǎn)品即滿足用戶的需求,又能夠提高后續(xù)版本發(fā)行能力。
軟件發(fā)行中主要存在的問題有三種:短路的發(fā)行、內(nèi)容膨脹和缺陷積累。
短路的發(fā)行
短路的發(fā)行是指為了保證發(fā)行的節(jié)奏,或者因為設(shè)定了DEADLINE而導(dǎo)致在開發(fā)過程中縮減活動,如不經(jīng)評審、粗略測試等。這導(dǎo)致了發(fā)行質(zhì)量的下降,并影
響到后續(xù)的發(fā)行版本。這在國內(nèi)的軟件企業(yè)中非常嚴重,我們常常看到連續(xù)的加班和最終的低質(zhì)量的產(chǎn)品并存。
解決這個問題的方法是使用嚴密可行的、可變更的版本計劃。嚴密可行的計劃可以直接保證版本及時發(fā)行;當發(fā)現(xiàn)不能及時發(fā)行版本時
縮減版本計劃中的內(nèi)容可以在保證及時發(fā)行的基礎(chǔ)上同時保證版本的質(zhì)量,畢竟質(zhì)量才是最重要的。
內(nèi)容的膨脹
內(nèi)容的膨脹是指在版本開發(fā)過程中,不斷的增加計劃外的內(nèi)容。這必然導(dǎo)致兩個結(jié)果之一:要么降低版本質(zhì)量,要么拖延版本發(fā)行時間。任何一項都不是我們想看到
的。這和項目經(jīng)理/需求人員的控制能力有關(guān),很多時候,頂住客戶的壓力不是一件容易的事情。
所以這個問題的最終解決方案是提高項目經(jīng)理/需求人員的能力,提高客戶對軟件開發(fā)的理解。除此之外,我們能夠做的就是在增加內(nèi)容的同時縮減低優(yōu)先等級的內(nèi)容,來保證發(fā)行的質(zhì)量和節(jié)奏。
缺陷的積累
這個問題大家都已經(jīng)注意到了,在發(fā)行前期,匆忙的構(gòu)建過程中發(fā)現(xiàn)大量的缺陷,最終導(dǎo)致發(fā)行的拖延。
解決這個問題的手段也比較簡單,就是進行有效的日構(gòu)建,盡早發(fā)現(xiàn)并解決缺陷,爭取在發(fā)行時刻的主動權(quán)。
最后,我們來看一個例子:
我本來想在今晚12:00以前寫完整個發(fā)行管理的,但現(xiàn)在看來我是不能完成了。我不想拖到12:00以后再發(fā)這篇文章,也不能敷衍的隨便寫寫了事。所以我
砍掉后面的發(fā)行管理的細節(jié)內(nèi)容,這些內(nèi)容將在后續(xù)版本中發(fā)行。這樣我即保證了本篇的質(zhì)量,也趕上了我給自己定義的時間線。
軟件發(fā)行管理(下)