孫恒一++段琳
摘要:傳統(tǒng)的軟件開發(fā)項目管理方式在人力資源受限、外包開發(fā)模式下逐步暴露出諸多問題。企業(yè)通過建立基于持續(xù)集成的研發(fā)項目管理模式,能夠?qū)崿F(xiàn)項目從外包商管理到源代碼管理的轉(zhuǎn)變,實現(xiàn)軟件系統(tǒng)交付質(zhì)量提升,實現(xiàn)軟件開發(fā)流程的高度可控,基于源代碼持續(xù)集成的研發(fā)項目管理方式必將成為企業(yè)精細化管理的有益補充。
關(guān)鍵詞:持續(xù)集成 項目管理 源代碼管理
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2016)12-0066-01
Abstract:Many problems have been gradually exposed when human resources is limited and software development via outsourcing way in the mode of traditional software development project management. Through the establishment of R & D project management model based on continuous integration, enterprises can make the successful transition from project outsourcing management to source code management, can improve the quality of delivery, can achieve a high degree of controllability of the software development process. The way of R&D Project Management based on source code integration will become the beneficial supplement for enterprise's fine management.
Key Words:continuous integration; project management; source code management
信息系統(tǒng)研發(fā)項目的主要任務是完成系統(tǒng)需求、設(shè)計、開發(fā)、測試、發(fā)布等一系列工作,支撐信息系統(tǒng)與業(yè)務流程的融合貫通。當前,云南電網(wǎng)有限責任公司(以下簡稱云南電網(wǎng))正處于信息化建設(shè)快速發(fā)展時期,各類信息系統(tǒng)的建設(shè)需求涌現(xiàn),系統(tǒng)研發(fā)類項目也在不斷增加。
按照公司“管理精益、服務精細、業(yè)績優(yōu)秀、品牌優(yōu)異”的戰(zhàn)略目標,信息系統(tǒng)的建設(shè)在借鑒先進管理理念、支持業(yè)務實現(xiàn)精益管理的同時,也要實現(xiàn)信息系統(tǒng)建設(shè)項目本身的精細化管理。隨著云南電網(wǎng)項目管理向精益化轉(zhuǎn)變,系統(tǒng)建設(shè)的項目管理規(guī)范、技術(shù)標準、風險防控體系等逐步完善和深入、以及系統(tǒng)建設(shè)完成后自主運維的要求不斷加強,在當前云南電網(wǎng)人力資源有限的剛性制約下,信息系統(tǒng)研發(fā)項目的管理面臨新的挑戰(zhàn)。信息化專業(yè)人員深入系統(tǒng)的整個開發(fā)和迭代過程是研發(fā)項目精細化管理的根本要求。源代碼持續(xù)集成作為一種軟件工程實踐,其精細化的軟件開發(fā)方式十分滿足云南電網(wǎng)信息系統(tǒng)研發(fā)項目精細化管理的發(fā)展方向。
1 源代碼管理現(xiàn)狀分析
1.1 現(xiàn)狀
當前,云南電網(wǎng)信息中心信息系統(tǒng)項目的研發(fā)工作均是通過項目外包的方式進行的,項目核心資產(chǎn)-源代碼由外包廠商負責管理,僅項目驗收時作為交付物提交給信息中心,源代碼提交質(zhì)量、版本無從考證。這種只關(guān)注項目流程和交付進度,一定程度上忽略研發(fā)項目內(nèi)部管理的方式勢必造成諸多問題。
1.2 問題
問題集中表現(xiàn)為如下幾個方面:
(1)云南電網(wǎng)信息中心無法對項目驗收時外包廠商提交的代碼進行驗證,編譯、部署、運行無從下手。
(2)研發(fā)過程中的源代碼及系統(tǒng)版本管控困難,無法從每次版本更新中獲取最新的項目信息。
(3)盡管進行了安全測試等檢測步驟,但是仍然不了解源代碼內(nèi)部運行情況,使得后期運維困難、風險管控薄弱。
(4)無法從項目源代碼的角度進行后期運維或升級改造的評估。
總之,云南電網(wǎng)信息中心在項目管控的核心缺失點在于對項目源代碼管控,如何管控源代碼成為解決以上問題的關(guān)鍵。
2 源代碼持續(xù)集成
持續(xù)集成是一種軟件開發(fā)實踐,即軟件開發(fā)團隊經(jīng)常性的集成源代碼。一般的要求每個項目成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯、發(fā)布、自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。持續(xù)集成的核心管理資產(chǎn)是項目源代碼。
2.1 技術(shù)特點
通過源代碼持續(xù)集成,能夠?qū)崿F(xiàn)以下功能:
(1)通過多種版本控制類軟件(如Subversion,Git,CVS等等),實現(xiàn)各種類型的源代碼與持續(xù)集成系統(tǒng)的關(guān)聯(lián),可以完成持續(xù)集成系統(tǒng)對源代碼的引用。
(2)通過持續(xù)集成完成源代碼構(gòu)建、部署及發(fā)布,確保項目源代碼實時處于可用狀態(tài)。這一點在項目交付之后尤為重要,外包廠商提供的交付物后,云南電網(wǎng)信息中心項目負責人通過持續(xù)集成完成交付物驗證,確保項目源代碼可用。
(3)通過源代碼持續(xù)集成與代碼審查系統(tǒng)的融合,實現(xiàn)代碼查看及評審,云南電網(wǎng)信息中心技術(shù)專家通過源代碼評審工具完成代碼評估及驗證。
2.2 平臺工具簡介
云南電網(wǎng)信息中心應用的源代碼管控平臺是以源代碼為基礎(chǔ),建立持續(xù)構(gòu)建、部署、發(fā)布、測試的流程及實現(xiàn)機制,通過代碼評審系統(tǒng)Fisheye + Crucible完成代碼查看及審核,通過持續(xù)集成系統(tǒng)Bamboo完成代碼備份及保存。
如圖1的平臺工具實現(xiàn)原理圖所示,在與持續(xù)集成系統(tǒng)Bamboo綁定項目源代碼后,軟件研發(fā)人員提交代碼變更至版本控制庫,持續(xù)集成系統(tǒng)Bamboo觸發(fā)構(gòu)建、部署、自動化測試等任務,完成對源代碼的審核并反饋;反饋機制中加入代碼評審系統(tǒng)Fisheye+ Crucible,為技術(shù)專家提供代碼評審工具。
3 項目管理應用實踐
通過搭建云南電網(wǎng)公司的源代碼持續(xù)集成平臺,建立統(tǒng)一的源代碼庫,解決公司信息系統(tǒng)建設(shè)以及后期運維、升級改造、測試發(fā)布過程中的管理問題,建立健全基于源代碼持續(xù)集成的研發(fā)項目管理體系。通過打造統(tǒng)一的管理模式,確保不同系統(tǒng)、不同開發(fā)廠商按照公司的管理要求開展項目建設(shè)和系統(tǒng)研發(fā),實現(xiàn)項目從外包商管理到源代碼管理的 轉(zhuǎn)變。以統(tǒng)一、規(guī)范和精細的管理流程,確保系統(tǒng)交付質(zhì)量,同時使公司信息人員深入技術(shù)細節(jié),保障信息系統(tǒng)的建設(shè)自主可控。
3.1 項目過程管理
3.1.1 質(zhì)量管理
由于源代碼是軟件研發(fā)項目的核心資產(chǎn),有效管控源代碼質(zhì)量能夠提升項目建設(shè)質(zhì)量,從根本上保證項目安全穩(wěn)定運行。
3.1.2 進度管理
管控源代碼開發(fā)進度即從根本上管控項目進度,為云南電網(wǎng)信息中心項目進度管理提供最有力的支撐工具。
3.1.3 問題管理
通過對源代碼的管控實現(xiàn)項目問題閉環(huán)管理,為項目立項、評審、開發(fā)、時運行、運維全過程管理注入更多管理元素,提升管理效果和力度。
3.2 代碼審批及版本變更機制
代碼審批的實現(xiàn)要求每次代碼更新都必須經(jīng)過同行或者技術(shù)管理者審閱,也可根據(jù)項目實際情況進行部分核心代碼審批。如圖2所示代碼審批流程,提交審批后,根據(jù)評審意見進行修改或者直接完成評審進入持續(xù)集成。代碼審批使得團隊逐步建立良好的代碼開發(fā)文化,提升代碼質(zhì)量。
相應的,代碼審批后可以根據(jù)評審結(jié)果運行一次持續(xù)集成任務完成構(gòu)建、部署及測試,所有任務通過后,形成可發(fā)布版本進而保存、備份源代碼及項目資料。
3.3 源代碼審計
信息安全工程的實踐證明,在系統(tǒng)上線前進行源代碼的安全審計,可以消除大量安全風險和漏洞?;谠创a持續(xù)集成平臺,可以實現(xiàn)系統(tǒng)源代碼的安全風險審計,直接在源代碼迭代過程中進行代碼漏洞掃描和修復,大量減輕了系統(tǒng)發(fā)布后再進行外部掃描和安全整改的工作量。
通過源代碼審計能夠有效提升軟件產(chǎn)品后期運維的效率和質(zhì)量,同時為軟件產(chǎn)品的升級改造提供有力支撐。
借助源代碼的審計的應用,云南電網(wǎng)信息中心逐步培養(yǎng)一批深入了解軟件產(chǎn)品開發(fā)細節(jié)、增強軟件項目管理手段的專家,為信息化項目人才建設(shè)貢獻力量。
4 結(jié)語
基于源代碼持續(xù)集成的研發(fā)項目管理必將成為云南電網(wǎng)精細化管理的有益補充。其基于持續(xù)集成的軟件研發(fā)特性使得源代碼作為項目管理的重要接入點成為可能。
參考文獻
[1]Jez Humble, David Farley.持續(xù)交付-發(fā)布可靠軟件的系統(tǒng)方法[M].人民郵電出版社,2011:121-126.
[2]董越.軟件集成策略:如何有效地提升質(zhì)量[M].電子工業(yè)出版社,2013,183-190.