脈衝雲之持續集成(上篇)

持續集成


持續集成解決了什麼問題?


1,提高軟件質量。
  如何提高軟件質量已經不再是一個純粹的技術問題,而是一個工程問題。從計算機誕生以來,相應的軟件開發就存在,同時出現了很多提高產品質量的理論和方法,有的從技術角度出發,例如面向對象技術的產生和推廣,第四代語言的誕生等,有的從自動化工具入手,例如CASE工具,過程控制軟件,自動化管理平臺等,有的從過程模型角度出發,例如迭代模型,螺旋模型,RUP,IPD等。


  每一種解決質量問題的方法都不是獨一無二的,軟件質量的提高應該是一個綜合的因素,需要從每個方面進行改進,同時還需要兼顧成本和進度。


  那什麼是質量?我們該如何衡量質量呢?質量具有三個維度:符合目標、符合需求、符合實際需求。目標是客戶定義的,符合目標即判斷我們是不是在做需要做的事情。實際需求包括用戶明確說明的和隱含的需求。符合用戶習慣,這其中包含了我們要引導用戶如何操作或者去適應用戶本身的操作習慣。


  2,節約時間,縮短項目發佈週期。
  快速開發和上市一個新產品,並快速取得預期的投資回報是每個企業孜孜以求的目標。那麼,如何在保證項目質量的前提下,儘可能的加快項目進度呢?


  深入瞭解顧客需求,減少開發過程中的需求變更與返工。顧客需求是新產品開發的輸入,如果輸入不正確,不完整,就必然導致開發過程中大量的變更,這對開發進度影響極大。


  對新產品項目進行開發優先順序排列和合理資源分配,確保重要的項目得到優先開發。在資源有限的情況下,同時開發過多項目的結果是所有項目都會延期。


  建立技術平臺和共用模塊,縮短開發週期。如果企業能通過建立技術平臺,使一些技術模塊化,使一些模塊標準化,在一個平臺產品的基礎上進行更多的同類產品開發,則能大大縮短新項目的開發週期。


  採用有效的項目管理方法進行開發項目的管理。有效的項目管理方法是每個開發團隊成員都應該熟練掌握的,掌握了有效的項目管理方法能大大縮短每項任務、每個活動的完成時間,總體的開發週期就能相應縮短。


  3,便捷部署
  顯而易見,部署包需要包含應用程序的所有組件,不僅僅是你自己的二進制包,通常這此包由集成構建產生,還應包含靜態內容、配置文件等。實際上軟件包應包含軟件生命週期中所有的內容,也就是那些需要一起被部署、升級和取消部署的內容。


  確保軟件包是“完備的可部署單元”對於一次可靠的部署來說是到頭重要的。順暢和可靠的部署流程從簡單的第一步開始:以一種自動的、可檢查校驗的方法整合併發佈一個結構化的、完整的部署包,該部署包定義了特定版本的應用程序中所有的組件、配置和依賴關係。這能顯著減少因不合法或缺少定製值、組件或必需的服務而產生的錯誤。


  持續集成可以讓你在任何時間發佈可以部署的軟件。在外界看來,這是持續集成最明顯的好處,對客戶來說,可以部署的軟件產品是最實際的資產。利用持續集成,你可以經常對源代碼進行一些小改動,並將這些改動和其他代碼進行集成。


  4,增強項目的可見性。
  在傳統項目中,當一個項目經理或一名開發者說自己已經完成了80%的任務,你必須保持謹慎的態度,因爲剩下的20%可能還需要80%的時間,爲什麼數據會有這麼大的差別?因爲項目中唯一不變的就是變化,我們每個人都需要擁抱變化,而變化讓我們不知道將軟件做到什麼程度纔算是做完全了。軟件開發項目,往往在項目進度和軟件質量方面缺少可見性,項目越缺少可見性,就越難控制,越有可能失敗。我們可以通過迭代開發、技術評審、持續集成來增強項目的可見性。


  採用迭代的開發模型,將產品的將會過程分爲多個階段,按照功能遞增式交付。技術評審是確保軟件質量的重要環節,技術評審包括代碼走審,會議評審和同行專家評審,也可以充分得用質量審查的工具軟件,這些都有助於提高代碼質量。持續集成是能夠把最終的一次大規模的集成調試過程分散到項目開發時間表的每一週、每一天、甚至每個小時,讓項目中的各個人員都能夠隨時掌握當前的整體進度,並迅速發現集成過程中出現的問題並進行解決。


  5,建立團隊開發產品的信心
  持續集成可以建立開發團隊對開發產品的信心,因爲分們清楚地知道每一次構建的結果,他們知道他們對軟件的改動造成了哪些影響,影響的結果怎麼樣。


  6,解決項目管理的困惑

  持續集成在開發者和開發者之間,開發者和測試之間,開發者和配置管理之間,開發者和項目經理產品經理之間開成了一條“無縫焊接”之路。

那麼,脈衝雲是如何實現持續集成的呢,請看下篇


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章