我將對(duì)源代碼控制作最后的解釋。團(tuán)隊(duì)不應(yīng)該僅僅對(duì)所寫代碼進(jìn)行版本控制;還必須對(duì)編譯與測(cè)試代碼的流程(或腳本)進(jìn)行版本控制。如果團(tuán)隊(duì)需要先前的代碼,那么就可以回溯到所需的構(gòu)建和測(cè)試流程。
構(gòu)建自動(dòng)化
自動(dòng)化構(gòu)建是團(tuán)隊(duì)用以評(píng)估當(dāng)前軟件或系統(tǒng)穩(wěn)定性的第一步。而且,自動(dòng)化的構(gòu)建還可以降低程序花費(fèi)在不必要任務(wù)上的時(shí)間,并且減少了來自開發(fā)流程的瓶頸(也就是,團(tuán)隊(duì)依靠于一個(gè)構(gòu)建人員或一個(gè)獨(dú)立的構(gòu)建團(tuán)隊(duì)),從而實(shí)現(xiàn)了對(duì)于改變的更迅速的響應(yīng)。
這一實(shí)踐的目的是將構(gòu)建流程簡化為一個(gè)任何程序員都可以執(zhí)行的點(diǎn)擊一個(gè)按鈕的 行為。這一行為應(yīng)該包括相關(guān)系統(tǒng)的全部代碼,不論程序員工作于什么組件或接口上。同時(shí),系統(tǒng)必須能夠快速編譯。更快的工作站、增加的編輯和可選擇的編譯器可以使得編譯時(shí)間更加短暫。對(duì)于程序員來說,寫新代碼的同時(shí)快速構(gòu)建系統(tǒng)的能力具有許多好處。首先,它幫助程序員驗(yàn)證編碼時(shí)設(shè)想的正確性 -- 例如,檢驗(yàn)一個(gè)外部 API 是否如設(shè)想似的工作。其次,規(guī)則化的代碼構(gòu)建可以預(yù)防問題的發(fā)生。最后,它能夠識(shí)別未知的很少通過本地構(gòu)建顯現(xiàn)的"遠(yuǎn)離"系統(tǒng)部分依賴關(guān)系。
自動(dòng)化的構(gòu)建將會(huì)減少團(tuán)隊(duì)編輯和收集問題的時(shí)間。程序員不再需要等待數(shù)小時(shí)或者執(zhí)行一組費(fèi)勁的任務(wù)以確信新寫的代碼能夠編譯。取而代之的是,在程序員編寫代碼后不久,他就能夠知道是否新代碼與舊有代碼集成到了一起。這表示編譯與集成錯(cuò)誤將會(huì)變得顯而易見,且處理起來更迅速更容易。
最后,自動(dòng)化的構(gòu)建對(duì)于更大系統(tǒng)更加重要。 大項(xiàng)目會(huì)繼承或連接大量其它平臺(tái)的系統(tǒng),尤其是需要考慮有意義的聯(lián)合構(gòu)建流程的實(shí)際策略。在這種環(huán)境中要想獲得較短的編譯時(shí)間是極具挑戰(zhàn)性的。文章的后面我將會(huì)探討一些處理大系統(tǒng)構(gòu)建的方法 -- 就是說,對(duì)于一個(gè)團(tuán)隊(duì)來說,編譯與測(cè)試完整的系統(tǒng)并不是現(xiàn)實(shí)的。
自動(dòng)的移植及部署
這是在自動(dòng)構(gòu)建之后的步驟。自動(dòng)化的移植與部署行為的原因是為了精簡與增強(qiáng)來自測(cè)試環(huán)境開發(fā)與生產(chǎn)環(huán)境的構(gòu)建提升的可預(yù)見性。大量的問題往往來自首次引入系統(tǒng)測(cè)試、用戶驗(yàn)收測(cè)試、在生產(chǎn)環(huán)境摸索的項(xiàng)目。在自動(dòng)化移植中,團(tuán)隊(duì)可以將代碼轉(zhuǎn)入干凈的"生產(chǎn)級(jí)" 環(huán)境,在那里可以執(zhí)行自動(dòng)化的單元和系統(tǒng)級(jí)測(cè)試。通過在接近生產(chǎn)環(huán)境下測(cè)試,團(tuán)隊(duì)可以在系統(tǒng)測(cè)試前識(shí)別出環(huán)境、集成和性能方面的問題。這樣可使得團(tuán)隊(duì)更加熟悉實(shí)際的產(chǎn)品部署流程。最后,當(dāng)自動(dòng)化的實(shí)現(xiàn)了主要的產(chǎn)品部署流程時(shí),就可以從公式中去除了人所犯的錯(cuò)誤。
另一個(gè)移植與部署的重點(diǎn)是這些行為由一個(gè)專職團(tuán)隊(duì)負(fù)責(zé)管理。將這些流程集成入項(xiàng)目團(tuán)對(duì)每日的行為中能夠?yàn)楦鱾(gè)團(tuán)隊(duì)帶來有效及時(shí)地平衡。無可否認(rèn)的是,對(duì)于大型企業(yè)來說這是極具挑戰(zhàn)性的,因?yàn)樗麄兊囊?guī)模、報(bào)告結(jié)構(gòu)和多重地理范圍的因素。下面我將會(huì)更深入的探討這一問題的解決方案。
此文章共有8頁 上一頁 1 2 3 4 5 6 7 8 下一頁
文章來源:中國項(xiàng)目管理資源網(wǎng)
|