本文內(nèi)容包括: |
閱讀構(gòu)建自動化(常常被中小企業(yè)(small and medium businesses,SMB)忽略的過程)如何在提高軟件質(zhì)量并支持分布及外包的開發(fā)環(huán)境的同時幫助減少成本和風(fēng)險,以及優(yōu)化資源。本文介紹了 IBM Rational Build Forge Express Edition,它是明確為 SMB 設(shè)計并定價的企業(yè)級構(gòu)建自動化框架。
與小中型組織比較,大型公司開發(fā)軟件的方式不僅有差別,而且有相似處。尤其是被開發(fā)的應(yīng)用程序的復(fù)雜性和功能可能沒有真正的差別。許多較小的公司正在構(gòu)建它們可能為客戶寄存的十分復(fù)雜且創(chuàng)新的應(yīng)用程序或商業(yè)服務(wù)。軟件功能的寬度也不隨著商家的大小而不同,因為這是由所有競爭的組織所承受的市場力所推動的。
雖然對于團(tuán)隊來說,不管公司的大小如何,開發(fā)任務(wù)的復(fù)雜性可能是類似的,但是可以應(yīng)用于克服無窮的開發(fā)挑戰(zhàn)的資源水平經(jīng)常是不等的。這種差異的一個表現(xiàn)是,較大的公司可以負(fù)擔(dān)以專門的角色培訓(xùn)并雇傭員工,但小公司的開發(fā)團(tuán)隊成員經(jīng)常有多個角色和職責(zé)。大公司的團(tuán)隊可以更關(guān)注過程,而 SMB 團(tuán)隊經(jīng)常將幾乎全部的努力指向軟件功能的生成上。
因此,SMB 團(tuán)隊更可能用手工的構(gòu)建過程,這個過程可能在不同的版本之間不同,讓團(tuán)隊中不同的人執(zhí)行也不同。當(dāng)太多的智力資產(chǎn)位于一個或一些人的頭腦中時,結(jié)果可能是,成本、進(jìn)度和產(chǎn)品質(zhì)量的不可預(yù)測性和風(fēng)險是不可接受的。
在本文中,我將介紹中小型公司的開發(fā)團(tuán)隊如何管理它們的構(gòu)建過程,并且討論處理風(fēng)險、優(yōu)化資源利用,以及最大化較小團(tuán)隊的競爭力的一些方法。然后我將從高層次簡要介紹用于在 SMB 開發(fā)環(huán)境中將構(gòu)建和發(fā)布管理自動化的 IBM? Rational? Build Forge? Express 的關(guān)鍵功能。
在 SMB 領(lǐng)域中,團(tuán)隊可能沒有精力去關(guān)注軟件交付品是如何裝配的。它們可能利用構(gòu)建產(chǎn)品所能采用的任何方法來“魯莽地做事”。而當(dāng)軟件產(chǎn)品的構(gòu)建沒有標(biāo)準(zhǔn)化的方法時,負(fù)壓的團(tuán)隊總是犯錯。結(jié)果經(jīng)常是時間損失以及湊合的產(chǎn)品質(zhì)量 —— 在當(dāng)今的競爭世界中(快速地交付質(zhì)量好的產(chǎn)品的壓力極大)SMB 所不能冒險的產(chǎn)品。
更糟的是,如果 SMB 失去了那個知道所有權(quán)構(gòu)建方法的人,那么它可能“崩潰”。這對于構(gòu)建服務(wù)器本身是一樣的。服務(wù)器的配置經(jīng)常隨著時間增長并演進(jìn),并且大部分或全部處于未管理的情況下。舉例來說,只有一個或一些人可能知道在構(gòu)建中需要使用什么庫,以及它們存在哪里。構(gòu)建服務(wù)器甚至可能不被備份,因為它們可能不是支持業(yè)務(wù)過程的 IT 基礎(chǔ)架構(gòu)的一部分。因此當(dāng)這些內(nèi)部產(chǎn)生的系統(tǒng)之一崩潰時,團(tuán)隊可能沒有描述其配置的可靠文檔。
相反地,如果您能夠每次執(zhí)行軟件構(gòu)建時都詳盡地編寫服務(wù)器配置文檔的話會怎樣?不僅有消除未編制服務(wù)器配置文檔的風(fēng)險的優(yōu)勢,而且這會讓您在相同的環(huán)境中重新生成構(gòu)建,進(jìn)行更快地故障檢修。
從構(gòu)建管理的角度看,許多 SMB 開發(fā)環(huán)境都存在多重破損點(diǎn)的風(fēng)險:員工、硬件、軟件、過程,和文檔。如果這些方面中有任何一些失敗了,那么結(jié)果將是破壞性的,影響操作成本及客戶滿意。當(dāng)重要的人員離開公司,或者硬件失敗時,可能不存在安全網(wǎng)可用。當(dāng)這樣的事件發(fā)生時,很典型的是,團(tuán)隊從零開始進(jìn)行新的,同樣特定的構(gòu)建管理過程。這種“重新啟動”發(fā)生的時間離發(fā)布日期越近,它對客戶滿意、收入,和公司的底線的影響就越大。
類似的崩潰隨時準(zhǔn)備再次發(fā)生,因為由于時間約束和資源的缺乏,基本的過程問題和差異通常沒有得到解決。較大公司的開發(fā)團(tuán)隊一般通過可靠的構(gòu)建服務(wù)器管理、自動生成文檔的系統(tǒng),和在集中的地方(更多主流的開發(fā)組織,而不是一些選定的,可理解的地方)獲得重要的軟件構(gòu)建過程的整體更強(qiáng)的能力來處理風(fēng)險。
當(dāng) SMB 團(tuán)隊采用構(gòu)建自動化時,這些破損點(diǎn)就消失了。替換破損點(diǎn)的是每次可以一貫地執(zhí)行構(gòu)建任務(wù)的按鈕操作,因此產(chǎn)品質(zhì)量不再處于危險中。集中的構(gòu)建自動化通過消除“秘方”和許多裝配代碼所需的專門知識,同樣地向更大范圍的團(tuán)隊成員開放過程。一旦了解了自動的構(gòu)建系統(tǒng),風(fēng)險就減少了,而且整個開發(fā)團(tuán)隊收益了。
資源約束影響 SMB 開發(fā)團(tuán)隊的另一種方式是額外施加使用最節(jié)省成本的開發(fā)選項的壓力。這可能意味著外包和/或離岸,尤其是當(dāng)這些方法可以加速投放市場的時間時。
但是成功的外包常常依靠健壯的過程,并且需要分布團(tuán)隊有效溝通所依靠的基礎(chǔ)結(jié)構(gòu)。許多 SMB 開發(fā)組織也需要支持遠(yuǎn)程工作的團(tuán)隊成員,例如不愿意離開處于另一個時區(qū)的家的專家或顧問。
在不需要很多額外開銷的情況下,構(gòu)建自動化可以通過創(chuàng)建公共協(xié)作的構(gòu)建管理環(huán)境(在該環(huán)境中,團(tuán)隊可以看到分布的構(gòu)建過程,從而有效地分享工作)來幫助 SMB 團(tuán)隊滿足這些需求。對構(gòu)建信息和過程的基于 Web 的,實(shí)時訪問對于較小的公司來說是如此重要,消除了等待跨時區(qū)接收電子郵件或語音消息所浪費(fèi)的時間。這種非生產(chǎn)時間會侵蝕 SMB 團(tuán)隊的速度和敏捷性。
對比較小的和較大的公司之間的另一個差別是,對于 SMB 來說,每個客戶都是至關(guān)重要的。當(dāng)然大型公司擁有關(guān)鍵客戶,但是它們的共同的成功或失敗不像較小公司那樣依賴于和少部分關(guān)鍵客戶之間的關(guān)系。因此,SMB 開發(fā)團(tuán)隊幾乎沒有出錯的余地,它對客戶滿意很關(guān)注。因此當(dāng)客戶報告軟件故障時,對于較小的公司來說,回過頭來對該問題的解決可能更重要。
雖然隔離并再現(xiàn)問題比實(shí)際地修補(bǔ)時間更長,但是缺乏構(gòu)建管理和文檔的這個 SMB 開發(fā)團(tuán)隊的地方病會進(jìn)一步延遲這些工作,并且就團(tuán)隊成員來說,會導(dǎo)致各種的豪言壯語。
因此,您所獲得的對再現(xiàn)、隔離,并解決故障的支持(伴隨健壯的構(gòu)建自動化框架)在 SMB 環(huán)境中是更關(guān)鍵且有價值的。因為對客戶的反應(yīng)是極為重要的,所以 SMB 確實(shí)需要一個全面且精確的“材料清單”,精確地指定交付什么、發(fā)生了什么源變更、實(shí)際的文件差別是什么、構(gòu)建該具體的發(fā)布版本所使用的系統(tǒng)配置是什么 —— 所有那些“發(fā)布版本 DNA”,它對于快速診斷和客戶問題的修補(bǔ)都是至關(guān)重要的。這是為什么構(gòu)建自動化對于 SMB 來說是非常強(qiáng)大的有競爭力的工具的重要原因之一。
提供發(fā)布材料清單的功能不但幫助 SMB 支持它們的軟件,而且還幫助 SMB 圍繞法規(guī)遵循和企業(yè)治理來支持其本身和它們的客戶來。舉例來說,對于醫(yī)療設(shè)備、制藥和生物技術(shù)行業(yè)的新興公司來說,對于聯(lián)邦法規(guī)和方針的遵循是最重要的 —— 組織的生存可能很大程度依賴于第三方審計的批準(zhǔn)。
面對著為了遵循法規(guī)而收集關(guān)于軟件發(fā)布版本的精確且完整的信息的重要需求,SMB 可以通過以下兩種方式來響應(yīng):
當(dāng)然,構(gòu)建管理工具需要能夠聚集并組織從任何您擁有的開發(fā)工具那里來的審計數(shù)據(jù),即使這些工具是來自不同的廠商。舉例來說,您的測試系統(tǒng)可能來自 Mercury,而您的源控制系統(tǒng)是開源的。有了此功能,您可以打破信息豎井,將團(tuán)隊的協(xié)調(diào)管理和過程文檔的編制自動化,進(jìn)一步確保獲得關(guān)鍵的過程知識。在任一時候,對于任意版本,您可以考慮該功能來查明用作“隨需的審計文檔”的內(nèi)容、系統(tǒng)、過程和控制 —— 這不僅對審計有益,而且對更大范圍的開發(fā)環(huán)境有益。
然而,法規(guī)遵循問題對每個 SMB 不是同等地要求,您可能突然發(fā)現(xiàn)自己在支持一個需要用于其自己的法規(guī)遵循或治理意圖而需要詳細(xì)的軟件審計的客戶。在那種情況下,預(yù)先提出可以滿足需求的展望的能力是關(guān)鍵的有競爭力的區(qū)分。
相對于 SMB 的較大的競爭者來說,它經(jīng)常依賴更大的企業(yè)敏捷性的優(yōu)勢。但如果您不知道打算去哪里,那么您的速度可以造成多大的差別呢?SMB 開發(fā)團(tuán)隊需要可以提供對信息的立即訪問的自動化,這些信息讓它們了解:我們能夠履行承諾嗎?代碼中故障的主體在哪里?如果我們加入該特性會錯過截止期限嗎?在已知機(jī)會的大小的情況下,對比下一個修補(bǔ)版本,在此版本中應(yīng)該加入什么功能?
當(dāng)您試圖在市場中擊敗較大的公司時,您需要硬數(shù)據(jù),以及對軟件裝配過程的洞察,這樣您就可以隔離出問題,并且準(zhǔn)確回答“如果怎么辦”的問題。在這點(diǎn)上,構(gòu)建管理過程可以向商家提供戰(zhàn)略信息。
您還可以使用與構(gòu)建相關(guān)的信息來回答關(guān)于您自己的開發(fā)過程的問題,特別是當(dāng)過程是分布的時。例如:我們外包的提供者在做高質(zhì)量的工作嗎?值得去了解在接收的軟件的質(zhì)量以及什么代碼有錯。使用構(gòu)建自動化,就會很容易地從每夜的構(gòu)建統(tǒng)計中了解這些信息,這當(dāng)然比在收到已打包的交付品之后兩三個月才查明要好。
在與外包有關(guān)的地方,構(gòu)建自動化就讓您將適當(dāng)?shù)臋z查和平衡并入開發(fā)過程,從而支持項目管理。舉例來說,您可以指定在每天晚上構(gòu)建軟件工件,并將其傳到本地服務(wù)器上。這樣,如果您因為不論什么技術(shù)或商業(yè)原因而不能訪問提供者,那么您會有其工作的最近記錄。
IBM Rational Build Forge Express Edition 提供最新的企業(yè)級構(gòu)建自動化技術(shù),并且特別為 SMB 設(shè)計并定價。Rational Build Forge Express Edition 通過一致的,可重復(fù)的過程和改進(jìn)的查找故障錯誤的能力,幫助 SMB 團(tuán)隊提高軟件質(zhì)量并縮短投放市場的時間。
Rational Build Forge Express Edition 提供的關(guān)鍵特性和好處:
隨著過程的演進(jìn),Rational Build Forge Express Edition 自動地獲取、文檔化,并保留極其重要的開發(fā)和交付過程,因此團(tuán)隊成員不需要為了參與構(gòu)建過程而深入了解底層的邏輯。在確保了可重復(fù)性的同時,Rational Build Forge Express Edition 減少了與未編制文檔的或特別的構(gòu)建規(guī)程相關(guān)的風(fēng)險。
Build Forge Express Edition 可以通過將擴(kuò)展“超過構(gòu)建”的任務(wù)自動化來進(jìn)一步支持小型團(tuán)隊。作為腳本執(zhí)行引擎,它可以將各種各樣的開發(fā)活動自動化,包括測試自動化、Web 部署、應(yīng)用程序移植,和安裝。
在了解了較小的商家經(jīng)常面對重大的資源約束之后,SMB 可以在吸引人的,且高供給的“收益時付錢”融資計劃中購買 Rational Build Forge Express Edition。這反映出 IBM 正在幫助建立的軟件定價領(lǐng)域中的新的且成長的趨勢,借此,組織可以支付軟件,就如同軟件通過節(jié)省的時間和成本、減少的錯誤、更大的競爭性的利用、更快的 ROI 等等來向自己支付一樣,而不是強(qiáng)迫組織為預(yù)先購買分配資金。
反映了以 SMB 為中心的定價趨勢的進(jìn)一步表現(xiàn)之后,IBM 合伙人現(xiàn)在還提供完整的,預(yù)配置的“變更和發(fā)布管理系統(tǒng)”,并綁定了所有必要的硬件和軟件,并且按照類似的按程計費(fèi)的計劃融資。
對于中小型企業(yè)來說,健壯的構(gòu)建自動化的好處大大超過了控制成本和風(fēng)險,利用分布的開發(fā)模型,甚至交付更大的客戶滿意。構(gòu)建自動化使得企業(yè)能夠進(jìn)行戰(zhàn)略的決策制定,戰(zhàn)略的決策制定可以幫助 SMB 繪制出產(chǎn)品開發(fā)的方向,并且優(yōu)化及利用有競爭力的區(qū)別。
有了像 Rational Build Forge Express Edition(提供關(guān)于您的項目的報告、量度,以及分析功能)的解決方案,您就可以繪制出前進(jìn)的地方,找到當(dāng)前過程中的弱點(diǎn)和瓶頸,并且通常更有效且更有見解地進(jìn)行計劃。有了對您的構(gòu)建和發(fā)布活動的擴(kuò)展性的了解,您可以在前進(jìn)中越來越聰明 —— 使您能夠更快地響應(yīng),并且制定更好的決策,這使您能夠面對競爭對手(不論它們的大?。?/p>
要了解更多關(guān)于 Rational Build Forge Express Edition 的信息,請參見 Rational Build Forge Express Edition
Rational Edge 上最近出現(xiàn)的一篇關(guān)于 IBM Rational Build Forge 的文章: 對于企業(yè)質(zhì)量管理和構(gòu)建驅(qū)動敏捷性的自動化構(gòu)建管理
學(xué)習(xí)
討論