淺談持續(xù)集成在軟件項(xiàng)目管理中的作用
【摘要】:持續(xù)集成是極限編程12個(gè)基本原則之一,正在被越來越多的團(tuán)隊(duì)所采用。軟件項(xiàng)目管理涉及到九大知識(shí)領(lǐng)域,貫穿于軟件過程的始終,目的是為了讓軟件項(xiàng)目的整個(gè)軟件生命周期(從分析、設(shè)計(jì)、編碼到測(cè)試、維護(hù)全過程)都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。持續(xù)集成這種軟件開發(fā)實(shí)踐,對(duì)于軟件項(xiàng)目管理的各個(gè)領(lǐng)域的管理有著積極的作用。
【關(guān)鍵詞】:持續(xù)集成 軟件項(xiàng)目管理 統(tǒng)一的代碼庫 構(gòu)建
一、引言
軟件項(xiàng)目經(jīng)理不但要用管理知識(shí)管理整個(gè)項(xiàng)目.還要為他們的團(tuán)隊(duì)選擇更好的技術(shù)實(shí)踐在軟件開發(fā)的眾多技術(shù)實(shí)踐中持續(xù)集成已經(jīng)被越來越多的團(tuán)隊(duì)所采用持續(xù)集成對(duì)于軟件項(xiàng)目管理的各個(gè)領(lǐng)域的管理有著積極的作用,持續(xù)集成的使用會(huì)給開發(fā)尉隊(duì)的管理帶來很多的好處.做為管理者的項(xiàng)目經(jīng)理以及團(tuán)隊(duì)成員都可以從中受益。
二、持續(xù)集成與軟件項(xiàng)目管理
1、什么是持續(xù)集成
“持續(xù)集成”起源于極限編程開發(fā).是它的12個(gè)基本原則之一”持續(xù)集成”是一種軟件開發(fā)實(shí)踐.它要求開發(fā)小組的每個(gè)成員頻繁的集成他們的工作成果.這個(gè)頻度通常是至少每天一次有時(shí)甚至每天多次開發(fā)團(tuán)隊(duì)的成員頻繁的整合他們之問的工作.這種整合不是簡單的組裝軟件每次的集成通過一個(gè)包含測(cè)試的構(gòu)建去盡快的探測(cè)潛在的錯(cuò)誤.保證軟件現(xiàn)有的功能不被破壞,自動(dòng)分析現(xiàn)有代碼的狀態(tài)f有無重復(fù)邏輯.代碼的復(fù)雜度等)并發(fā)布相關(guān)的報(bào)告。通過快速反饋,開發(fā)人員可以了解軟件集成的情況.對(duì)不成功的集成進(jìn)行快速的修改.從而提高軟件開發(fā)的效率和質(zhì)量
2、什么是軟件項(xiàng)目管理
軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)人員(People)、產(chǎn)品(ProdU(2t)、過程(Protess)和項(xiàng)目fProject)進(jìn)行分析和管理的活動(dòng)。
為使軟件項(xiàng)目開發(fā)獲得成功.關(guān)鍵問題是必須對(duì)軟件項(xiàng)目的工作范圍、可能風(fēng)險(xiǎn)、需要資源(人、硬件/軟件)、要實(shí)現(xiàn)的任務(wù)、經(jīng)歷的里程碑、花費(fèi)工作量(成本)、進(jìn)度安排等做到心中有數(shù).掌握整個(gè)軟件的開發(fā)進(jìn)程。
三、持續(xù)集成對(duì)軟件項(xiàng)目管理的作用
l、對(duì)項(xiàng)目目標(biāo)管理的作用
軟件項(xiàng)目的目標(biāo)是開發(fā)出可運(yùn)行的、客戶滿意的軟件系統(tǒng)持續(xù)集成有統(tǒng)一的代碼庫。要求開發(fā)人員定期地、不斷地向代碼庫提交代碼。新近提交的代碼會(huì)經(jīng)過編譯與測(cè)試.與代碼庫中舊有的代碼相整合,形成安全穩(wěn)定運(yùn)行的代碼庫.既軟件系統(tǒng)。這樣。能夠在最快、最短的時(shí)問內(nèi)形成結(jié)果代碼.逐步實(shí)現(xiàn)項(xiàng)目目標(biāo)。這樣的代碼提交形式對(duì)軟件項(xiàng)目的目標(biāo)管理有利.項(xiàng)目經(jīng)理能夠最快速度地得到項(xiàng)目的最新代碼庫.并且新提交代碼的問題也會(huì)及早地暴露出來,在最短的時(shí)間內(nèi)得到解決。持續(xù)集成已經(jīng)被證明對(duì)于小到中型規(guī)模的項(xiàng)目目標(biāo)的實(shí)現(xiàn)是有價(jià)值的,對(duì)于大的項(xiàng)目,仍然是有用的。
2、對(duì)項(xiàng)目時(shí)間管理的作用
生產(chǎn)力的發(fā)展過程是不斷采用物化勞動(dòng)取代人自身的勞動(dòng)的過程,是不斷自動(dòng)化的過程。開發(fā)的構(gòu)建過程中如果大量的采取手動(dòng)過程不僅降低了團(tuán)隊(duì)的生產(chǎn)率.更嚴(yán)重的是它將許多不確定的因素引入到產(chǎn)品的構(gòu)建過程.這使得發(fā)現(xiàn)以及解決問題變得異常困難。這樣會(huì)更加地降低了團(tuán)隊(duì)的開發(fā)效率。持續(xù)集成的構(gòu)建都是使用構(gòu)建工具自動(dòng)化地進(jìn)行的通過使用持續(xù)集成工具將構(gòu)建過程自動(dòng)化.便于分析并找出問題。大大提高了團(tuán)隊(duì)的開發(fā)效率。
穩(wěn)定而高效的開發(fā)效率保證了開發(fā)團(tuán)隊(duì)在一個(gè)輕松愉快的環(huán)境中工作.同時(shí)團(tuán)隊(duì)成員可以有更多的時(shí)問和精力學(xué)習(xí)新技術(shù)并將其應(yīng)用在軟件開發(fā)中.自動(dòng)化測(cè)試.集成將開發(fā)人員從簡單、繁瑣的低級(jí)腦力勞動(dòng)中解放出來,從而進(jìn)行更高層次的思考持續(xù)集成的自動(dòng)構(gòu)建過程,極大的提高了軟件的開發(fā)效率,對(duì)項(xiàng)目經(jīng)理的項(xiàng)目時(shí)間管理有利。
3、對(duì)項(xiàng)目質(zhì)量管理的作用
持續(xù)集成過程要求編程人員事先編寫好很多的測(cè)試用例.在代碼的提交過程中就對(duì)代碼進(jìn)行測(cè)試.這樣的及早測(cè)試能夠最快速地發(fā)現(xiàn)軟件代碼中的錯(cuò)誤和缺陷.及時(shí)修改,從而提高軟件的質(zhì)量。
持續(xù)集成的測(cè)試包括:單元測(cè)試、功能測(cè)試、集成測(cè)試,進(jìn)行部署等等持續(xù)集成要求有一個(gè)全面的單元測(cè)試驗(yàn)證集.使持續(xù)集成能夠獲得短集成周期。在一般的項(xiàng)目中,編寫測(cè)試代碼都至少會(huì)額外增加30%的工作量初看.在時(shí)間和資金上這也許是很大的開銷,然而,在持續(xù)集成過程中,編寫測(cè)試代碼是必要的,而且這樣也省去了人工測(cè)試的時(shí)間.確保了軟件產(chǎn)品的質(zhì)量.對(duì)軟件項(xiàng)目的質(zhì)量管理有利。
4、對(duì)項(xiàng)目風(fēng)險(xiǎn)管理的作用
持續(xù)集成過程通常在開發(fā)人員提交代碼后開始.服務(wù)器自動(dòng)更新代碼.編譯,運(yùn)行單元測(cè)試、功能測(cè)試、集成測(cè)試,進(jìn)行部署這個(gè)持續(xù)集成的過程可以幫助開發(fā)人員快速發(fā)現(xiàn)并解決問題(編譯失敗,測(cè)試失敗等)。與開發(fā)人員的機(jī)器相比,持續(xù)集成服務(wù)器運(yùn)行在相對(duì)穩(wěn)定、干凈的環(huán)境中f減小跟蹤調(diào)試的難度),持續(xù)集成過程的失敗通常意味著最近一次更新破壞了軟件現(xiàn)有功能或引入了新的缺陷。在持續(xù)集成過程結(jié)束后.除了構(gòu)建結(jié)果(War,Jar等),通常會(huì)生成代碼分析報(bào)告(測(cè)試覆蓋率等),幫助項(xiàng)目管理人員更好的了解并改善項(xiàng)目。
這種快速反饋集成結(jié)果.并進(jìn)行快速修改的工作方式.在第一時(shí)間消除了代碼中的Bug.極大地減小了系統(tǒng)發(fā)生錯(cuò)誤、不能在用戶環(huán)境中運(yùn)行、系統(tǒng)集成時(shí)涌現(xiàn)大量問題的風(fēng)險(xiǎn)。這樣使整個(gè)的項(xiàng)目進(jìn)度完全掌握在項(xiàng)目經(jīng)理手中.減少了項(xiàng)目的風(fēng)險(xiǎn).有利于項(xiàng)目經(jīng)理的風(fēng)險(xiǎn)管理。
5、對(duì)項(xiàng)目人力資源管理的作用
軟件開發(fā)過程最終表現(xiàn)為人與人之間各種形式的合作。安全感與信心是合作最基礎(chǔ)也是最重要的部分通過使用持續(xù)集成工具.開發(fā)人員可以了解到新的代碼是否引人了缺陷。管理人員可以通過使用各種形式的報(bào)告對(duì)項(xiàng)目進(jìn)行評(píng)估。不斷發(fā)布的構(gòu)建結(jié)果.使測(cè)試人員得以自始至終的參與到整個(gè)開發(fā)過程中。而不是在軟件開發(fā)的最后階段才加入團(tuán)隊(duì)
持續(xù)集成所做的一切加強(qiáng)了團(tuán)隊(duì)成員的溝通.項(xiàng)目中的所有人都知道系統(tǒng)現(xiàn)在的狀態(tài).目前已經(jīng)做了那些變動(dòng)。溝通中最重要的一件事是主線的構(gòu)建狀態(tài)。使用持續(xù)集成服務(wù)器。這上面有個(gè)構(gòu)建.它會(huì)告訴你構(gòu)建的狀態(tài)和上次主線構(gòu)建的狀態(tài)。將構(gòu)建的結(jié)果反饋的形式很多.比如構(gòu)建成功則綠燈亮.失敗就出現(xiàn)紅燈。還可以使用網(wǎng)站發(fā)布構(gòu)建結(jié)果.這樣那些不在一起工作的人也能看到目前項(xiàng)目的狀態(tài)這樣的工作方式使團(tuán)隊(duì)成員及時(shí)了解項(xiàng)目情況。得到及時(shí)、準(zhǔn)確的溝通,可以增強(qiáng)團(tuán)隊(duì)成員的安全感和信心,使團(tuán)隊(duì)在一個(gè)好的氛圍中工作。這樣利于項(xiàng)目經(jīng)理管理項(xiàng)目團(tuán)隊(duì)中的成員。
6、對(duì)項(xiàng)目客戶關(guān)系管理的作用
從客戶和用戶的角度看.一個(gè)可以穩(wěn)定運(yùn)行的軟件系統(tǒng)才是最重要的。在使用持續(xù)集成工具的環(huán)境中,開發(fā)人員對(duì)源文件進(jìn)行修改、提交.持續(xù)集成服務(wù)器會(huì)將這部分修改與其他的代碼進(jìn)行整合、測(cè)試。并重新生成最終產(chǎn)品fWar’Jar’exe文件等)。如果在其中任何一個(gè)環(huán)節(jié)出現(xiàn)了問題.相關(guān)人員可以很快的得到反饋在沒有使用持續(xù)集成工具的環(huán)境中.大量的問題只有在產(chǎn)品發(fā)布前進(jìn)行最終集成的時(shí)候才會(huì)出現(xiàn).開發(fā)團(tuán)隊(duì)往往在發(fā)布前承受著巨大的壓力.并導(dǎo)致產(chǎn)品延遲發(fā)布或者在進(jìn)行集成的過程中引入更多、更嚴(yán)重的缺陷。而持續(xù)集成的使用有效地避免了這些問題。
客戶看到通過持續(xù)集成的頻繁部署的結(jié)果.很快的看到軟件系統(tǒng)的新特性.然后針對(duì)這些特性迅速反饋.開發(fā)者可以根據(jù)這些反饋進(jìn)行后續(xù)的開發(fā)在這樣的開發(fā)過程中.開發(fā)者和客戶得到很好的溝通.客戶能夠經(jīng)常地看到實(shí)現(xiàn)的產(chǎn)品.融洽了客戶關(guān)系.增強(qiáng)了客戶的滿意度客戶的滿意是項(xiàng)目最終成功的重要標(biāo)志之一.使用持續(xù)集成.提高了客戶的滿意度,為項(xiàng)目的成功打下了基礎(chǔ)。
7、對(duì)項(xiàng)目軟件配置管理的作用
代碼庫把一個(gè)項(xiàng)目所有的源代碼都保存在一個(gè)倉庫里系統(tǒng)的當(dāng)前狀態(tài)始終是最新提交的代碼.我們叫它主線(Main—Iine).任何時(shí)候開發(fā)者都能把這個(gè)主線上的代碼更新到自己機(jī)器上.我們叫它檢出。開發(fā)者機(jī)器上的代碼叫做工作拷貝(WorkingCopy)。
持續(xù)集成項(xiàng)目組都使用代碼倉庫.而且代碼倉庫中不僅有代碼,還要求要把什么都放在代碼倉庫里,構(gòu)建唯一的代碼倉庫。把用于構(gòu)建的東西都放到里面去:測(cè)試腳本、屬性文件、數(shù)據(jù)庫、安裝腳本和第三方庫等等。甚至有的項(xiàng)目團(tuán)隊(duì)把編譯器也檢人(Checkin)代碼倉庫的。這樣做的好處是保證了代碼倉庫的完整性和有效性.為持續(xù)集成的構(gòu)建做好準(zhǔn)備。這樣的代碼庫的工作方式,為軟件的配置管理提供了極大的方便。
四、結(jié)束語
軟件項(xiàng)目管理包括九大管理領(lǐng)域.這種管理在技術(shù)工作開始之前就應(yīng)開始,在軟件從概念到實(shí)現(xiàn)的過程中繼續(xù)進(jìn)行.當(dāng)軟件工程過程最后結(jié)束時(shí)才終止軟件的復(fù)雜性也決定了軟件項(xiàng)目管理的復(fù)雜性.軟件項(xiàng)目管理的根本目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生命周期(從分析、設(shè)計(jì)、編碼到測(cè)試、維護(hù)全過程)都能在管理者的控制之下,以預(yù)定成本按期、按質(zhì)的完成軟件交付用戶使用持續(xù)集成做為軟件開發(fā)過程的一種實(shí)踐.為軟件項(xiàng)目管理提供了更好的保證.軟件的項(xiàng)目經(jīng)理可以考慮在你們的開發(fā)團(tuán)隊(duì)中使用持續(xù)集成進(jìn)行軟件開發(fā)。
【淺談持續(xù)集成在軟件項(xiàng)目管理中的作用】相關(guān)文章:
淺談項(xiàng)目管理者在項(xiàng)目成本控制中的作用01-17
淺談成本管理在項(xiàng)目管理中的地位和作用03-29
淺談情感教育在班級(jí)管理中的作用06-23
淺談項(xiàng)目管理中的項(xiàng)目文化建設(shè)研究01-17
淺談項(xiàng)目管理技術(shù)在工程造價(jià)管理上的作用03-29
淺談地圖在地理教學(xué)中的作用05-12
淺談重視自我管理在人力資源管理中的作用11-16
探析軟件項(xiàng)目管理中的PERT技術(shù)應(yīng)用論文12-02
- 相關(guān)推薦