工作了幾年也參加了多個項目開發(fā),經(jīng)歷了好幾種的開發(fā)模式;有傳統(tǒng)的瀑布式,有螺旋式,有迭代式等等開發(fā)模式。最近在研究敏捷開發(fā)里的XP開發(fā)模式并針對這幾年的項目開發(fā)總結(jié)出項目管理的四個持續(xù):持續(xù)集成、持續(xù)測試、持續(xù)重構(gòu)和持續(xù)溝通。
一、 持續(xù)集成
持續(xù)集成是XP里面的概念,在此我不想將XP里面的Copy出來,要是這樣的話就浪費(fèi)讀者的時間了,要是想看的話可以到google上go下。這里我就用我的觀點(diǎn)來闡述下持續(xù)集成。
持續(xù)集成,顧名思義就是一直集成、不間斷的集成,一天可能要集成上十次甚至更多,或者說,只要有組員更新代碼就要集成。目的就是項目組的成員能很快的知道項目變化。但是你可能會說,這樣做不是很浪費(fèi)時間嗎?那是你用手工來做,而必須做到輸入一個命令,或者點(diǎn)一下鼠標(biāo)就能完成代碼下載、集成和編譯過程,并且編譯結(jié)果不能出現(xiàn)任何錯誤和警告。此時,你可能就想到“自動集成”,沒錯,你可以設(shè)定每天的某個時間;像我就是每天7點(diǎn)半自動開機(jī),開機(jī)后進(jìn)行“自動集成”。網(wǎng)上有好幾種工具,如:Java的Ant, MS平臺的FinalBuilder等等。
持續(xù)集成就會使你的項目持續(xù)的走向成功,持續(xù)遠(yuǎn)離風(fēng)險。
二、 持續(xù)測試
持續(xù)測試和持續(xù)集成差不多,也是一直測試、不間斷的測試,也是要“自動測試”。程序的每次更新都要自動運(yùn)行所有測試用例(也叫回歸測試),將運(yùn)行測試用例的結(jié)果用Mail形式或其他形式自動的發(fā)給項目組成員。目的在于讓組員對更新代碼的正確性充滿信心,而不用擔(dān)心更新的代碼會不會對原來代碼產(chǎn)生什么影響,當(dāng)然了前題是你要有寫測試用例。
編寫測試用例少不了工具,有JUnit、DUnit等。但是這些工具要嵌入到你的項目開發(fā)工具里,并且要有測試用例的模板如:項目工程測試用例模板、單元測試用例模板,不能寫個測試用例從頭開始吧。
三、 持續(xù)重構(gòu)
持續(xù)重構(gòu)就是持續(xù)的對你或組員里的代碼進(jìn)行調(diào)整從而改善軟件的質(zhì)量、性能,提高軟件的擴(kuò)展性和維護(hù)性。為什么要重構(gòu)呢?因為要知道一個完美得可以預(yù)見未來任何變化的設(shè)計,或一個靈活得可以容納任何擴(kuò)展的設(shè)計是不存在的,現(xiàn)在是一個高速發(fā)展的社會,計劃是永遠(yuǎn)趕不上變化的。
需求變更是我們要持續(xù)重構(gòu)的原因。一個軟件總是為解決某種特定的需求而產(chǎn)生,時代在發(fā)展,客戶的業(yè)務(wù)也在發(fā)生變化。有的需求相對穩(wěn)定一些,有的需求變化的比較劇烈,還有的需求已經(jīng)消失了,或者轉(zhuǎn)化成了別的需求。在這種情況下,軟件必須相應(yīng)的改變。有一本四個老外寫的《設(shè)計模式》書,是經(jīng)典中的經(jīng)典(作者認(rèn)為)。寫到這里讓我想起了以前給程序員培訓(xùn)設(shè)計模式說的一句話:設(shè)計模式可以讓你的生活更美好、身體更健康,是程序員的必備“良藥”。
四、 持續(xù)溝通
溝通是現(xiàn)在所有軟件公司一直提倡,是的,一個項目沒有溝通的話,后果“外星人”都知道。而我這里的持續(xù)溝通不僅僅是軟件工程里面講的客戶溝通、組員溝通等等,而是持續(xù)溝通。中國的很多軟件企業(yè)都存在這樣的一種情況就是項目經(jīng)理不能確切的知道項目的進(jìn)度和組員的工作情況,持續(xù)溝通就是為了解決這種情況。持續(xù)溝通是每天、每周、每月直到項目驗收為至的溝通會議。(以下是對敏捷方法的Scrum開發(fā)模式進(jìn)行更詳細(xì)的闡述)
.每天用10~15分鐘時間對昨天工作完成情況及今天工作內(nèi)容進(jìn)行組員的交流,提出相關(guān)問題;
.每周用30~60分鐘時間審核項目計劃及進(jìn)度,討論項目的任務(wù)及相關(guān)問題;
.每月用1~2個小時來跟蹤項目是否按原定的目標(biāo)進(jìn)度,使每個組員都了解整體項目的進(jìn)展情況,
討論下個月(因為一般來說將一個月作為一個周期)項目進(jìn)程。
這些溝通會議要以文檔的形式放入配置
庫,以便以后查閱。
持續(xù)溝通也可以作為績效管理的一種依據(jù)。
上面寫的幾種技術(shù)我也會陸陸續(xù)續(xù)的寫在我的Blog上的,如:《用FinalBuilder來構(gòu)造“自動集成”》(作者是用delphi),《將DUnit嵌入Delphi中并如何設(shè)置測試用例模板》,《我對設(shè)計模式的一些看法》等等。
文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/Oer/archive/2006/09/04/1175236.aspx