您的位置:軟件測試 > 軟件項目管理 > 項目案例分析 >
網(wǎng)站項目管理
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/8/9 15:53:05 ] 推薦標簽:

  

對于開放源碼軟件協(xié)同開發(fā)原理的經(jīng)典論述來自開源社區(qū)之一的Eric Redmond的《大教堂與市集》一文,在該文中作者形象地將傳統(tǒng)的嚴格管理的軟件開發(fā)活動比喻為構(gòu)筑大教堂的行為,而將分布于Internet之上的開放源碼社區(qū)的協(xié)同開發(fā)活動則看作是市集行為,作者根據(jù)親身經(jīng)歷系統(tǒng)地論述了市集型開發(fā)的基本方法和哲學問題,闡釋了開放源碼社區(qū)成功的內(nèi)在原因,對于傳統(tǒng)軟件開發(fā)不無借鑒之處,比如“早發(fā)布、常發(fā)布、聽取用戶的建議”、“把用戶當做協(xié)作開發(fā)者和Beta測試人員”、“聰明的數(shù)據(jù)結(jié)構(gòu)和笨拙的代碼要比相反的搭配工作的更好”、“好的設(shè)計不是再也沒有什么東西可以添加了,而是再也沒有什么東西可以去掉”、“好程序員知道該寫什么,偉大的程序員知道該重寫(和重用)什么”等等。


  目前,人們對于基于開放源碼的Internet協(xié)同開發(fā)實踐還缺乏深入研究和理解,但是已經(jīng)得到越來越多的軟件工程人士的關(guān)注,并取得一定的研究成果。一個軟件工程研究小組在過去5年中深入研究了幾個大型的開放源碼系統(tǒng)的體系結(jié)構(gòu)和進化過程,包括Linux、GCC、VIM、Mozilla和Apache,發(fā)現(xiàn)他們與類似的商業(yè)系統(tǒng)之間表現(xiàn)出令人感興趣的不同之處,比如,開放源碼軟件的體系結(jié)構(gòu)通常是可瀏覽的以允許開發(fā)人員進行交互,對于那些可能阻礙程序理解(因為程序員通常是分布在Internet上各個角落互相獨立的工作)的體系結(jié)構(gòu)部分進行特殊聲明;從同類的開放源碼軟件如Web服務(wù)器中可以提取其共性的參考體系結(jié)構(gòu),而在商業(yè)軟件公司中卻難以通過Web服務(wù)器體系結(jié)構(gòu)獲得幾種不同的實現(xiàn);開放源碼軟件的體系結(jié)構(gòu)和開發(fā)模式是導致其超線性增長的主要因素,并且被盡可能設(shè)計的易于移植,其發(fā)行版通常不是針對特定平臺,而是將各種平臺的共性抽象到一個發(fā)行版中,通過配置工具來幫助構(gòu)建系統(tǒng)。


  另外,針對如何借鑒開放源碼項目的經(jīng)驗用于指導商業(yè)軟件項目也有相關(guān)研究成果,該項研究表明,盡管完全利用開放源碼開發(fā)模式來代替?zhèn)鹘y(tǒng)商業(yè)軟件開發(fā)模式目前看來還不太可能,但無疑可以相互借鑒經(jīng)驗教訓而獲得收益。研究人員認為,一些可供商業(yè)軟件項目借鑒的開源項目經(jīng)驗包括:


  人員組織——開源項目通常由很少的核心成員完成多數(shù)開發(fā)和升級任務(wù),這一點與商業(yè)軟件開發(fā)類似,但差別在于這些任務(wù)是如何在核心小組內(nèi)分配的。開源項目通常是自發(fā)形成,職責的分配是基于對開發(fā)人員如何看待他們在項目中的角色的推理而確定,并不是硬性指派產(chǎn)生,這一點無疑對于商業(yè)軟件的管理具有借鑒意義。


  非正式交流——在Internet協(xié)同開發(fā)活動中非正式交流對于項目成員間的協(xié)調(diào)極其重要,郵件列表、論壇等是常用工具,無論開發(fā)人員在文化、地域和時區(qū)方面是否存在差異。商業(yè)軟件應借鑒這種做法,而不必拘泥于嚴格的、形式化的交流渠道。


  增強的用戶支持——許多用戶都同意這種觀點,即多數(shù)商業(yè)軟件公司在進入售后支持階段時可能面臨悲慘的失敗命運。而開源項目的用戶支持工作卻有良好成績,因為大量的用戶愿意提供關(guān)于開源產(chǎn)品的反饋信息。因此,商業(yè)軟件項目應增強用戶之間、用戶與開發(fā)者之間的交互,從而獲得改進的售后支持以及更有意義的錯誤報告。


  顯然,隨著人們對于基于開放源碼的Internet協(xié)同開發(fā)模式的不斷研究和深入理解,必將對未來的軟件工程實踐產(chǎn)生極其深遠的影響。以下按照傳統(tǒng)軟件工程領(lǐng)域的常規(guī)做法,對于開放源碼軟件的協(xié)同開發(fā)活動總結(jié)出所謂“佳實踐”,以增進讀者的感性認識:


(一)技術(shù)交流


  軟件開發(fā)人員需要花費大量時間用于相互之間的通訊交流,清晰和高效的技術(shù)交流對于維持團隊間的同步和允許掌握關(guān)鍵知識的個人在需要時利用其知識都是必需的。開放源碼社區(qū)的一個基本原則是技術(shù)交流應當在公共論壇中進行,郵件列表是開放源碼交流的基石。不僅如此,開放源碼項目需要在精確交流技術(shù)細節(jié)和小組決策方面得到支持


(二)版本控制、文檔管理和發(fā)行


  任何軟件開發(fā)項目都需要版本控制,開放源碼項目在這方面更是需要強大靈活的支持,以使得許多并行的開發(fā)人員可以同時工作在相互重疊的文件集上。開放源碼項目也需要設(shè)計文檔、技術(shù)文檔和用戶文檔方面的標準模板,并需要一個良好組織的Web站點來發(fā)行這些文檔。但是,開放源碼項目的本質(zhì)要求這些文件可供全世界訪問,同時日常管理成本則被小化,維護工作被分配給整個開發(fā)社區(qū)中的成員。

上一頁123456789101112下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd