軟件交付的今天_第1頁
軟件交付的今天_第2頁
軟件交付的今天_第3頁
軟件交付的今天_第4頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 章軟件交付的今天“2000 年左右我們進入了一個新的紀元全球化3.0。全球化3.0 使得這個世界進一步縮小到微型,同時平坦化了我們的競爭場地。如果說全球化1.0版本的主要動力是國家,全球化 2.0 的主要動力是公司,那么全球化3.0 的獨特動力就是個人在全球范圍內的合作與競爭,而這賦予了它與眾不同的新特征。” 托馬斯 · 弗里德曼奏響軟件交付的爵士樂Jazz平臺實踐者之路相信很多朋友都看過托馬斯寫的“世界是平的”這本書。它向我們描述了全球化發展趨勢對企業發展和競爭環境的影響, 對團隊協作模式的影響以及對每個人日常生活方式的影響。環顧與審視“平的世界”這個市場、資源和競爭的大網

2、,全球化的企業開始調整其在全球范圍內的業務發展策略,優化業務流程,整合資源配置,從而更加關注在全球化“戰役”中的勝利,而不僅僅是一城一池的得失。與此同時,全球化趨勢也對企業的業務靈活性提出了更高的要求,要求企業要有更快的市場反應速度、更靈活的業務模式和全球化的資源整合能力。平坦的世界強迫我們不得不去思考,全球化企業、全球化業務、全球化市場和全球化競爭到底對IT 世界提出了什么樣的挑戰?這些挑戰又給軟件工程領域帶來哪些變化?而適應這些變化, 未來的軟件工程領域會有哪些發展趨勢?“善弈者謀一局之勝,不善弈者求數子之得”,只有掌握了軟件工程的本質和領域的發展趨勢,企業才能順應潮流,洞悉先機,打造軟件

3、交付的核心競爭力,在全球化的競爭中保持不敗之地。2008 年 Rational 軟件開發高峰論壇上,IBM 軟件集團Rational 總經理Daniel Sabbah 博士向我們描述了當今創新的世界:“去年世界生產出了很多的晶片,這些晶片上面的晶體管的數量比同年生產出的大米粒還要多。同時,每一個晶體管的生產成本是小于一粒大米的。現在互聯網群體已經超過10億,而在互聯網上的信息也以萬億計。超級計算能力現在為越來越多的人掌握。在 2010 年以前,超級計算機將可以進行每秒1000 萬億次的計算,這是非常了不起的一個數字。最后,在2010 年之后,通過通信、計算和互聯網上種種應用的有效運用,全世界的

4、信息總量每11 小時將要增加一倍,這又是非常了不起的一個創新。這一切都表明當今時代是一個創新的時代。”2第 1 章軟件交付的今天創新時代對軟件能力提出了更高的要求。人類需要更偉大的軟件去創造歷史,去保護地球,去建設綠色家園;企業需要更智能的軟件支持其創新的業務發展,需要更高質量的軟件支持其業務運營;每個個體也需要更有智慧的軟件去實現價值。但是,我們到底依靠什么來快速交付軟件呢?我們是否已經擁有足夠的軟件交付能力確保軟件的快速和高質量交付?1.1軟件交付面臨的挑戰創新時代企業發展速度的加快和全球化軟件交付模式的出現,給軟件交付團隊帶來了很多挑戰。但從軟件交付過程的本質來看,軟件交付團隊的挑戰可以

5、歸納為以下4 個方面:復雜性、團隊、流程和工具,如圖1.1所示。圖 1.1軟件交付面臨的挑戰3奏響軟件交付的爵士樂Jazz平臺實踐者之路復雜性的挑戰從某種意義上說,我們正生活在一個軟件的世界:新的空客A380中包含超過 10 億行的軟件代碼;通用汽車預測到2010 年平均每輛汽車有超過1億行代碼。而比較而言,WindowsXP 只有 4 千萬行代碼。在這種情況下,軟件的需求和軟件生產環境本身的復雜度,為我們制造了很多的麻煩。復雜性的挑戰除了我們所構建的軟件世界本身的復雜性以外,另一個重要的原因則是歷史遺留系統的復雜性。在漫長的IT 系統的建設過程中,技術的進步、開發語言的變遷、系統平臺的演進、

6、Web 2.0 的出現,給企業留下了錯綜復雜的 IT 基礎架構和異構的應用系統。同時,為了滿足各種業務發展需求,企業每年都要擴展現存系統并開發新系統,統計數據表明:企業78% 的 IT投資用于維護現有的應用和架構,而不是創新和新系統的開發。但許多企業核心應用的架構就像是個黑箱,錯綜復雜,無人能夠說清道明。就像一個重磅炸彈,每次應用功能的改進、系統升級,企業都戰戰兢兢,如履薄冰。由此可見,如何有效管理整個IT 環境的復雜度,明確現有核心系統架構,建立整合的軟件交付生產線,這些因素正日益成為企業不斷創新、快速響應面臨的重大挑戰。企業軟件環境的復雜性可用圖1.2 來表示。另外,隨著全球化市場競爭的加

7、劇、軟件外包市場成熟和軟件工程技術的進步,越來越多的企業正在開始打造軟件交付的日不落帝國。他們在美國完成項目概念設計, 在歐洲完成系統架構設計,在中國完成軟件編碼和測試,在印度為軟件用戶提供售后支持。在強大的軟件工程工具和平臺的支撐下,他們開始與時間賽跑,在全球化軟件交付環境中,他們幾乎實現了24小時4第 1 章軟件交付的今天不間斷的軟件交付和支持服務,他們實現了在尊重每個軟件從業人員人權(不加班)的同時,軟件交付速度的最大化。圖 1.2企業軟件環境的復雜性全球化的發展趨勢對軟件和軟件交付環境提出了新的挑戰,它不僅催生了越來越多企業的并購和全球化發展,留給IT 人更為復雜的基礎架構、異構的開發

8、流程和應用系統。同時,也帶給軟件交付團隊更多人、流程和工具的豎井,包括分布式團隊地域本身的障礙、組織結構的障礙、流程和工具等基礎結構的障礙等,如圖1.3 所示。由此可見,全球化經濟、分布的軟件交5奏響軟件交付的爵士樂Jazz平臺實踐者之路付團隊,都增加了軟件交付過程的復雜度和挑戰。圖 1.3全球化軟件交付面臨的挑戰團隊、流程和工具的挑戰團隊的挑戰一方面體現在隨著軟件本身的復雜度日益增加,軟件交付團隊也日益擴大,由此帶來的跨部門的團隊共享、溝通、協作和可視化正變得至關重要;另一方面,全球化軟件交付模式對團隊管理和團隊協作方面也帶來新的挑戰。流程方面的挑戰主要體現在如何通過合適的流程,加速業務價值

9、的交付;如何通過流程的敏捷性,提高業務的響應速度。而工具的挑戰主要體現在由于缺乏統一的標準工具平臺,導致無法實現跨團隊的協作、軟件6第 1 章軟件交付的今天交付過程的自動化和實時報告;現實中的工具豎井,導致不同的界面和使用方式、流程和數據無法整合,無法提供軟件資產全生命周期的追蹤能力。為了更好地分析軟件交付在團隊、流程和工具方面的挑戰,下面讓我們一起來看一下軟件企業的軟件交付能力的建設過程。目前,大多數企業的軟件交付能力建設過程都是一個隨需應變、先局部后整體的過程。基于木桶短板原理,企業首先定位軟件交付過程能力最薄弱的環節,然后基于業務發展對軟件交付能力改進的要求,開展能力建設。例如,某個企業

10、首先發現自己的項目管理、質量管理比較弱,于是從這兩方面入手進行改進,分別建立了項目管理方法管理方法、工具平臺和質量管理方法及工具平臺。然后在企業發展過程中,他們又會發現變更及發布管理比較弱,再后來又會發現部署過程管理比較弱, 于是企業在發展過程中逐步建立起了軟件工程很多環節的管理能力,如圖 1.4 所示。圖 1.4軟件交付能力建設的現狀7奏響軟件交付的爵士樂Jazz平臺實踐者之路經過多年建設后,驀然回首,我們會發現兩個問題:首先,在企業軟件交付能力建設過程中,不同環節能力水平不均衡。軟件交付的總體生產力是由整個軟件生產線的效率決定的,而生產線的效率又由整個軟件交付過程最弱的環節決定。其次,在企

11、業軟件交付能力建設過程中,由于先局部后整體的思維模式,導致整個軟件開發過程存在較多的能力豎井。不同的工作團隊使用不同的流程,不同的流程由不同的工具實現,不同的工具有不同的風格。最為令人沮喪的是不同工具間信息無法互通, 整個軟件開發生命周期缺乏可追蹤性,阻礙了企業建立端到端的治理能力以提高軟件交付效率。同時企業還面臨越來越多的法律、法規、規范的遵從性要求。作為軟件從業者,今夜您是否可以安眠,不再在睡夢中擔心是否能夠按時交付高質量的軟件,擔心系統的宕機、數據的安全和業務的連續性,擔心您的軟件是否足以支持企業的業務發展和創新。如果還不能,那么您并不孤單, Alinean 的研究報告表明:在過去5 年

12、的軟件開發項目中,17% 的項目在部署前被取消,33% 的是問題項目(預算超支、進度延期或者只有部分功能實現)。每年全世界被取消的項目價值810 億美金。而且,在所謂成功交付的 50% 的項目中,28% 并未產生預期的業務價值。1.2迎接挑戰,分析軟件工程領域發展趨勢達爾文的進化論告訴我們,自然界本身就是一個不斷適應新的變化和挑戰的適者生存的發展演進過程。軟件工程領域也是一樣,今天面臨的挑戰和壓力,恰恰決定了其明天的發展方向。復雜性的挑戰推動了模塊化技術和8第 1 章軟件交付的今天SOA 的快速發展;流程和工具的挑戰以及軟件生產環境本身復雜性的挑戰,加速了開放計算和軟件開發治理的不斷發展;全球

13、化環境下團隊的挑戰則催生了新的全球化軟件協作交付模式。易經的思想告訴我們:觀其變易,以順勢而為;觀其不易,以馭勢而行;知變易與不易,可造勢也。順應趨勢,洞察先機,為了在新的全球化環境中獲得新的競爭優勢,我們不得不仔細審視軟件工程的發展趨勢,如圖1.5 所示。圖 1.5挑戰催生趨勢軟件工程發展趨勢一:模塊化隨著全球化的發展趨勢和全球化市場競爭壓力的增加,一方面企業需要更多的業務靈活性和創新能力;另一方面企業面臨的IT 環境復雜度的增加和歷史遺留系統的增加,對企業的IT 提出了新的挑戰。模塊化的思想恰恰9奏響軟件交付的爵士樂Jazz平臺實踐者之路能夠幫助企業從根本上解決了這一問題,它一方面通過抽象

14、、封裝、分解、層次化等基本的科學方法,對各種軟件構件和軟件應用進行打包,提高對企業現資產的重用水平和能力;另一方面, 基于模塊化思想,業界提出了SOA技術,它提供一組基于標準的方法和技術,通過有效整合和重用現有應用系統和各種資源,對各種服務進行服務組件化,并基于服務組件實現各種新的業務應用的快速組裝,幫助企業很好應對業務的靈活性要求。它通過有效平衡業務的靈活性和IT 的靈活性、平衡業務的靈活性和IT 的復雜度,為IT人提供了一個業務視角,讓IT 人學會用業務的眼睛看世界,有效的拉近了IT 和業務的距離,如圖1.6 所示。圖 1.6模塊化發展趨勢軟件工程發展趨勢二:開放計算“開放標準的最好例子就

15、是互聯網本身。互聯網建立了一套任何人都可以使10第 1 章軟件交付的今天用的標準,其創建的目的就是允許任何人參與。” 經濟發展委員會數字連接理事會雖然軟件工程方法、技術和工具的發展可謂百花齊放,但談到趨勢,我們必須首先強調的是能夠確定行業基礎框架,指導行業發展和技術融合的“開放計算”,它融合了“開放標準”、“開放架構”和“開源軟件”三個方面,如圖 1.7 所示。通過堅持“開放標準”,不同企業開發和使用的軟件可以互連互通,不同的軟件工程工具能夠更好地集成,不同國界和不同文化能夠更好地協作交流,用戶的投資能夠得到很好的保證。正是它為全球化趨勢奠定了重要基礎;“開放架構”通過一組開放的架構標準和技術

16、,有效地解決了商業模式的創新對IT 靈活性要求的增加和現有IT 環境的復雜度之間的矛盾,第一次使IT 和業務走得如此之近,其典型代表包括SOA 、REST 等。圖 1.7開放計算11奏響軟件交付的爵士樂Jazz平臺實踐者之路而“開源軟件”不但書寫了Linux 、 Eclipse 、 Jazz 等一個又一個的神奇故事,而且它還有效地促進了開放標準的發展,同時有效利用社區驅動的開發與協作創新,優化軟件設計中的網絡效應,開源軟件越來越被中小企業和個人用戶所認可。軟件工程發展趨勢三:合適的開發治理軟件開發治理的研究對象是軟件開發團隊,其目的是在軟件開發生命周期中, 通過定義整個開發組織中的各種角色、職

17、責和技能要求,明確 “誰” 、在“什么時間”、做“什么”、“怎么做”和如何評測等內容,不斷改進軟件團隊的生產效率和軟件產品質量。軟件開發流程和軟件工程工具是軟件開發治理的兩個重要組成部分,如圖1.8 所示。圖 1.8軟件開發治理框架12第 1 章軟件交付的今天首先,全球化的軟件交付和社區驅動的軟件交付模式對軟件工程方法提出了新的要求。環顧當今軟件開發方法,RUP、敏捷開發、 MSF 可謂百花齊放,當不同學說的支持者互相不屑一顧的同時,其實我們不難看到,不管是哪一種軟件開發過程,它都有自己合適的軟件開發團隊和軟件開發場景。這就好比中國的飲食文化,粵菜以鮮聞名,川菜以麻辣著稱,魯菜鮮咸,而淮揚菜則

18、追求本味。但如果問起哪種菜系最為好吃時,則十有八九不同的人會有不同答案。即使是同一個人,在不同年齡、不同經歷下,也可能有不同答案。軟件開發過程也正如菜系,不同的團隊、不同的文化、不同的規模、不同的軟件類型、不同的質量要求,都會影響開發團隊對軟件開發方法和過程的選用。 Rational 在 2004 年時提出了“可適應的流程”概念,其核心是通過重用組織過程資產庫中的最佳實踐構件,能夠為不同的項目、不同的團隊量體裁衣,快速裝配特定團隊所需要的流程,如圖1.9 所示。圖 1.9基于企業最佳實踐靈活裝配的軟件開發流程RationalMethodComposer (簡稱RMC )是一個軟件交付過程的定義

19、、13奏響軟件交付的爵士樂Jazz平臺實踐者之路裁剪、配置和發布工具平臺,它賦予了RUP 以全新的生命力。RMC 提供了可重用的、統一的方法架構和定義語言,同時整合了RUP 和更多的業界標準、成功經驗和方法論(以流程組件的方式存在方法庫中),使企業能夠基于 RUP 和其他業界最佳實踐,快速定義、配置和發布自己的軟件交付過程和其他管理過程(例如 ITUP ),實現了流程的重用、可配置和可適應。基于 RMC ,企業可以首先將各種管理活動的最佳實踐總結成流程構件,然后基于各種最佳實踐流程構件建立統一的方法庫。通過重用方法庫中的各種流程構件,面向不同類型的、不同規模的IT 組織或軟件團隊,企業能夠快速

20、地量身定做出適用的IT 治理流程或軟件開發流程,保證了流程的靈活配置能力,如圖1.10 所示。圖 1.10使用 RMC ,基于企業最佳實踐靈活裝配的軟件開發流程軟件工程發展趨勢四:全球化軟件協作交付全球化的世界必然帶來全球化的軟件交付模式。根據Forrester 的數據,14第 1 章軟件交付的今天目前 87% 的開發團隊是分布式的,56%有兩個以上的開發地點,同時企業的合并和收購趨勢不斷產生眾多新的分布式開發團隊,企業為了提供全球化的 24× 7 支持和開發能力,也在不斷加強全球化軟件協作交付能力。全球化軟件協作交付的另一個重要的驅動力來自于軟件外包行業的發展。放眼今天,外包從最初

21、的在印度公司購買廉價的勞動力,到今天在全球全面展開;從最初的以使用海外更廉價的勞動力為目的,到今天的有效使用海外更多人才和領先技術;從最初的技術編程為主的外包,到今天的咨詢、BPO 、SOA 和基礎設施的全面外包;從企業最初的有無數戰略外包供應商,到今天建立3 至 5 家戰略性外包供應商,我們都不難看到外包和全球化交付正在成為軟件交付發展的標準模式,而不再是個例,如圖1.11 所示。圖 1.11全球化的軟件協作交付模式15奏響軟件交付的爵士樂Jazz平臺實踐者之路1.3 順應軟件工程發展趨勢,迎接軟件交付2.0 時代的到來縱觀整個軟件工程的發展歷程,我們就不應該奇怪當前軟件交付領域存在的眾多問

22、題,它是由軟件交付1.0 的本質特征決定的。在2008 年 Jazz 正式推出以前,軟件交付領域基本處于1.0 時代。在軟件交付1.0 的世界里,軟件交付中的人、流程和技術三要素處于對等地位;軟件交付過程強調分工,人的創新能力受角色的視角的限制,受到技術和流程的制約;軟件交付過程能力的提高更關注不同過程域的改進。因此,正是軟件交付1.0 的這些本質特征決定了軟件核心能力建設的方法先局部后整體,關注不同能力域建設的隨需應變的過程,其結果是產生能力發展水平的不均衡和軟件交付能力豎井。順應全球化趨勢和Web 2.0 時代的到來,軟件交付正逐漸進入了2.0 時代,它以IBM Jazz 平臺的推出為標志

23、。Jazz 是 IBM 基于開放的國際標準 ,以開放社區 J 為中心,通過社區驅動的商業軟件開發模式創造的一個開放、可擴展、高效的協作開發平臺,它能夠幫助企業快速打造軟件交付2.0 協作平臺。它基于Internet ,提供了統一的軟件交付平臺,徹底屏蔽掉了地域的概念,為全球化軟件協作交付團隊提供了完美解決方案;它基于組件的架構模式,使軟件交付生命周期各種能力以服務組件的模塊化 形式存在,能夠無縫地集成軟件生命周期各個階段的任務,并提供了開放和擴展能力;它提供了整合的核心數據存儲庫,統一記錄軟件交付過程的各種信息,提供16第 1 章軟件交付的今天全生命周期的可追蹤性;它提供了智能的流程感知能力,

24、能夠幫助團隊靈活定制和遵循合適的軟件交付流程,實現合適的軟件開發治理。2.0 時代的軟件交付的最大特點就是突出了作為軟件交付主體的“ 團隊 ”的要素。核心理念就是以人為本,關注協作,自動化和透明的治理。關注以最佳實踐為基礎快速實現業務價值。強調團隊的智慧、協作的力量,整個軟件交付生命周期由以能力為核心的組織方式轉變為以團隊為核心的組織方式。它更關注通過整合的軟件開發生命周期,變能力的豎井為全生命周期各種服務的整合;更關注通過交付團隊的無縫協作變個人績效為團隊績效;更關注通過賦予平臺以流程意識,變局部自動為全局自動;更關注通過社區技術和 Web 2.0 技術,打造開放的、標準化的、可擴展的軟件生

25、命周期服務生態環境,從而實現人主宰工具平臺,享受工具平臺的服務,而不是人為工具打工。如圖 1.12 所示為軟件交付 2.0 的服務組件結構圖。圖 1.12 軟件交付 2.0 的服務組件結構圖在 2.0 的世界里,作為軟件交付的主體人雖然處于核心位置,但并不是說軟件交付流程和技術就不重要。相反,借助技術的進步,方法的創新,軟件交付流程和工具將逐漸以服務組件的形式存在。就像 SOA ,開發者可以根17奏響軟件交付的爵士樂Jazz平臺實踐者之路據項目特點、團隊規模和偏好,快速組織、編排所需的軟件交付生命周期服務組件和軟件交付流程服務組件,生成團隊開發所需的軟件交付流程和工具平臺環境;組織也可以基于自

26、身發展水平、發展速度和業務要求,選擇不同供應商的服務組件,搭建更加靈活、可擴展的協作環境,更自動化的軟件交付過程,實現更透明的團隊治理。通過提高軟件交付自動化水平和管理的透明化,真正做到變個人績效為團隊績效,提高整個軟件交付過程的生產力。軟件交付 2.0時代,團隊首先被賦予了基于上下文實時的協作能力 ,它屏蔽了團隊間物理的地域限制,為我們打造更有效的全球化團隊,實現團隊更加熟練、更有組織、開銷更少。其次,軟件交付的自動化 水平將得到充分利用,包括軟件交付內容的自動生成、測試的自動完成、管理報告和文檔化工作的自動完成、團隊流程的自動執行。通過自動化程度的提高,提高軟件交付團隊的生產力和工作效率。最后,軟件交

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論