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