RMC的目標是為企業(yè)提供一個完整的過程解決方案。為達到這一目標,我們提供了比之前的RUP版本中范圍更寬的內容和改進的過程工程工具。因此我們從介紹RUP作為介紹RMC的開始:
這意味著RUP作為一個產品已經成為過去,但是RUP作為一個過程框架還是將繼續(xù)存在。RUP將繼續(xù)作為我們用于開發(fā)軟件密集型系統(tǒng)綜合知識庫的具體表達。在當前維護協(xié)議下的RUP客戶可以升級到RMC,升級后這些用戶將從改進的工具和內容中大大獲利。
對于關注于軟件、系統(tǒng)和企業(yè)IT能力的組織來說,RMC提供了用于定義現(xiàn)存的或者改善商業(yè)過程的過程,RMC還可以為實現(xiàn)希望的改進而描述組織和IT的需求。它可以為從小規(guī)模的開發(fā)到大規(guī)模的分布式開發(fā)提供指導,還可以指導不同類型的項目,包括打包的應用程序、傳統(tǒng)遺留的改進、維護以及應用開發(fā)項目。在進行當前最新的開發(fā)和應用環(huán)境,例如面向服務的架構時,它可以提供一個在一個項目、大型項目或者一個項目組合環(huán)境中執(zhí)行的框架,將IT投資和高優(yōu)先級的業(yè)務改進聯(lián)系起來。
Rational Method Composer還提供讓你能夠保留你自己最好的習慣的工具,同時高效地將這些習慣與項目團隊進行溝通。RMC將過程和用于分析、開發(fā)和測試、以及管理一個項目和項目組合的工具集成起來。
IBM Rational Method Composer中的一個子集捐獻給了Eclipse,作為Eclipse Process Framework (EPF)提案3的一部分。這一提案目前被超過20個的公司支持,其中的15個公司已經為共同開發(fā)這一框架提供資源。如果這一提案被采納,那將意味著RMC將成為基于我們所希望的一個充滿活力的開發(fā)源碼生態(tài)系統(tǒng),這一點將使RMC的客戶得到很大的好處。預期將有很多大學教授EPF課程,預期將有很多顧問將開始提供相關服務,預期將有很多組織將自己的內容作為這一生態(tài)系統(tǒng)的一部分。
在這篇文章中,我將描述RMC能夠為不同類型的項目提供什么,還將說明RMC的跨項目和企業(yè)級別的指導能力。我還將闡述RMC是怎樣為從業(yè)者、團隊成員、項目經理或者過程工程師傳遞價值的。
RMC產品包括一系列打包好的過程, 或者叫作交付過程。這些描述了一個端到端的過程,包括一個建議的活動順序、需要計劃的階段以及典型的迭代模式。這些過程可以直接使用或者作為進一步定制過程的出發(fā)點。新的交付過程會不斷的被提供出來,并可以通過developerWorks網(wǎng)站4發(fā)布。到目前為止,下列過程可以被獲得。注意過程的符號分別代表著提供了和RUP產品相比有小的改進,有主要的改進或是全新的:
Σ 小項目的RUP:這個過程指導小規(guī)模和配置的團隊,告訴他們怎樣開發(fā)新的軟件或者對已存在的軟件做出大的改進。
Σ 中等規(guī)模項目的RUP:這一過程指導分布式的中等規(guī)模的團隊,指導他們怎樣來開發(fā)一個新的軟件或者對已存在的軟件做出大的改進。
Σ 大項目的RUP(經典的RUP):這一過程指導分布式的大規(guī)模的團隊怎樣開發(fā)或提煉交易模型,怎樣對現(xiàn)存的軟件進行大的改進以支持不斷發(fā)展的業(yè)務。這個過程最適合于那些需要達到業(yè)內的或者是法規(guī)指導原則,例如Sarbanes-Oxley、軟件工程協(xié)會 (SEI)的 CMMI 、Basel以及ISO 9001等的組織。
Σ 用于COTS((Commercial Off-The-Shelf,商業(yè)現(xiàn)貨)和打包的應用程序的開發(fā)的RUP:這一過程描述了如何選擇可重用的組件,如何在可重用組件、獲取需求、計劃風險以及對市場的關注中進行正確的平衡。這一過程還解釋了怎樣將一個或者幾個更小的組件合并起來,還說明了怎樣根據(jù)你的需要定制大型的包,如圖1所示。
Σ 用于系統(tǒng)工程的RUP:這個過程描述了怎樣開發(fā)一個由軟件、硬件以及人結合到一起的系統(tǒng),說明了將這些資源在高效、統(tǒng)一協(xié)作方面表現(xiàn)出的常見問題。這個過程在很多種不同的項目中使用,從大規(guī)模的防御和通訊項目到汽車工業(yè)中的嵌入式軟件項目都要使用到這個過程。
Σ 用于面向服務的架構(SOA)的RUP:這個過程描述了怎樣定義業(yè)務過程,以及怎樣將業(yè)務過程和服務結合起來,如圖2所示。它提供了多種方法,通過分析當前的資產和數(shù)據(jù)結構來選擇合適的業(yè)務元素成為服務組件。方法中包括特定的關于怎樣使用J2EE和其他的技術來有效的實現(xiàn)Web服務的指導。
NEW! 用于維護的RUP: 這一過程描述了怎樣處理一系列缺陷和變更請求,并推動對現(xiàn)存的產品的增量式發(fā)布。
圖1:用于商業(yè)化產品/打包應用程序開發(fā)的RUP
用于商業(yè)化產品和打包應用程序開發(fā)的RUP描述了在你開發(fā)使用商業(yè)化產品的應用程序或者實現(xiàn)打包應用程序時,怎樣平衡涉眾、商業(yè)組件的可用性、系統(tǒng)架構的關注點和程序風險之間的互動。
圖2:用于面向服務架構(SOA)的RUP
用于SOA的RUP描述了怎樣定義和模擬業(yè)務流程,怎樣從業(yè)務流程中識別服務,怎樣使用案例、現(xiàn)有的數(shù)據(jù)以及遺留的組件,怎樣將服務和業(yè)務流程結合起來以便實現(xiàn)業(yè)務需要和IT資產的更緊密的結合,還包括對怎樣實現(xiàn)服務及服務組件的指導。
RMC還提供專門的有關多種不同的可以用來加強、改變上面列出來的交付過程或者建立一個全新的交付過程的域和技術的內容。這個內容被打包成為一個可下載的“插件”,可以隨時加到你的過程庫中來。IBM和合作伙伴在不斷的開發(fā)新的插件。
這些插件包含的一些關鍵的區(qū)域包括:
Σ J2EE開發(fā),包括關于架構模式的指導、以不同的應用環(huán)境為目標的設計的指導、以及怎樣高效的使用工具來開發(fā)J2EE應用程序的指導。
.NET開發(fā),包括關于分布式模型的指導、應用程序設計、.NET平臺元素、結構層次以及怎樣高效的使用工具開發(fā).NET應用程序。
以用戶為中心的工程,包括用戶體驗模型、導航圖、情節(jié)串連圖、線框圖、可用性檢測以及以用戶為中心的設計。
特定工具的指導,包括怎樣高效的使用IBM Rational軟件開發(fā)工具以及其他的合作者的工具。
RMC還關注在規(guī)劃、項目組合和企業(yè)級的跨項目問題。我們將很快在這方面展開討論?,F(xiàn)在,這些內容包括:
δ 大型項目管理。它為啟動和計劃大規(guī)模到超大規(guī)模的項目提供指導,包括大型項目管理辦公室的組建、計劃和大型項目管理機構的建立、控制以及支持的基礎設施。
NEW! 項目組合管理。為計劃和執(zhí)行一個項目組合評估、管理業(yè)務案例、對正在進行的實施工作的階段性和戰(zhàn)略性的復查以及做出繼續(xù)或者終止項目的決定等提供指導。
基于資產的開發(fā)。為資產的創(chuàng)建、資產的消耗以及資產組合的管理提供指導。
Σ 業(yè)務工程。為業(yè)務目標建模、現(xiàn)存的和將來的業(yè)務過程、組織的結構以及業(yè)務流程的模擬提供指導。它還描述了怎樣將業(yè)務過程和現(xiàn)存或者將來的軟件資產聯(lián)系起來。
過程工程。為你在過程實施工作中高效的使用IBM Rational Method Composer和怎樣進行過程改善提供指導。
Σ 系統(tǒng)工程:如我們上面討論的“對于不同項目的過程”,這一過程既可以用于項目級也可以用于很大的規(guī)模的軟件項目,整體系統(tǒng)被定義,很多的相關項目在開發(fā)單獨的組件,所有的都采用相同的系統(tǒng)結構。
IBM也發(fā)布了IBM Tivoli Unified Process,主要表述了運行和系統(tǒng)管理組織的需求。這一過程是基于英國標準,IT Information Library5 (ITIL)。和IBM Rational Method Composer結合到一起,這兩個過程覆蓋了IT生命周期管理的全部內容。
RMC在三個領域為從業(yè)者提供了結構:生產力,指導和個性化。讓我們分別討論RMC在這三個領域為我們提供了什么。
RMC關注于表述三個對于項目經理最重要的領域:項目快速初始化,靈活性和基于現(xiàn)實的管理
NEW! 項目快速初始化:一旦決定開始一個項目,時間通常是最寶貴的東西。不確定交付過程的目的就是為項目經理提供一個計劃和初始化一個項目的快速開始點,如圖3所示。交付過程將提供一個初始的項目模板,確定應該包含什么種類的里程碑,在每一個里程碑應該完成什么工作產品,在每個階段需要什么樣的資源。RMC和IBM Rational Portfolio Manager的集成讓經理可以根據(jù)開始模板和項目細節(jié)很快的實例化一個項目計劃。
δ 靈活性:沒有兩個完全相同的項目,一個項目經理需要快速修改過程來反映特定的項目需要。這可以通過插件和可選的方法包,允許不同域不同的內容,例如數(shù)據(jù)庫建?;蛘吒呒壭枨蠊芾淼脑黾雍蛣h除。能力模式讓項目經理可以快速的增加或刪除屬于特定的問題的過程模式。RMC還允許項目經理快速修改交付過程的任何方面。
NEW! 基于現(xiàn)實的管理:經驗表明多數(shù)項目初期制訂的過于細化的項目計劃在項目進行到一半時已經沒有意義了。這是為什么將交付過程和能力模式組合到一起。這些捕獲過程模式可以在你項目的過程中根據(jù)需要來應用,而不是為整個項目在前面制訂一個過于細化的計劃。通過和IBM Rational Portfolio Manager的集成,你可以將交付過程和能力模式轉移到Rational Portfolio Manager當中,逐漸的增量式的實例化你的項目,一次一個或幾個能力模式。
IBM Rational Portfolio Manager還提供一個完整的管理RUP項目的環(huán)境,包括的功能有:1)讓團隊成員理解什么任務是目前最重要的,避免完成時間任務,同時管理文檔和復查;2)項目經理分發(fā)任務分配,管理日程表和資源,同時和團隊協(xié)作來理解項目要點。IBM Rational Portfolio Manager還提供高級項目組合管理能力,同時還包括讓整個團隊來查看和項目健康和狀態(tài)相關的各項指標,例如和項目計劃或初始計劃相關的進度情況,資源使用情況,以及時間和成本跟蹤。
圖3:交付過程用WBS圖形化描述
交付過程和其他的元素一起提供了一個工作分解結構(WBS),它可以導出到IBM Rational Portfolio Manager。同時它還提供了一個關于什么活動和任務應該以什么樣的順序完成的圖形化描述,這個圖形化描述還包括什么工作產品和部件在什么時候完成,在項目的不同時間點你應該充當什么樣的角色。
過程經理,過程工程師或者內容所有者(或者其他的在組織中有相似角色的負責實體)必須決定組織中不同的團隊使用合適的過程。典型的,過程經理根據(jù)內容的范圍以及根據(jù)不同的項目類型的需要設定過程的能力來做出決定,如下所示:
內容的范圍:為了提出組織的過程范圍需要,團隊需要重新使用他們?yōu)槠渌M織工作的最優(yōu)方法,而不是根據(jù)草稿發(fā)明所有的東西。RMC為企業(yè)級的過程內容提供了一個優(yōu)秀的基礎,特別是使用來自于IBM和其他公司的商業(yè)的和開放源代碼的插件時。RMC還能夠讓組織能夠更容易的找到他們自己的最優(yōu)方法,并讓他們無縫的擴展到RMC內容庫當中。
δ 能力:只是有很多內容是不夠的,你還需要能夠高效的使用這些內容來執(zhí)行不同類型的項目。這一點是通過讓過程經理、過程工程師或者內容所有者能夠將內容封裝到可重用的能力模式中,并能夠在能力模式外為不同的項目類型建立交付過程來實現(xiàn)的。
在過去十年中,Rational Unified Process通過不斷的采用來自于不同地方的最優(yōu)方法而不斷發(fā)展。這一發(fā)展過程包括和其他的經過證明的過程進行集成,例如Objectory Process、Rational Process和SUMMIT Ascendant;經過了和具有領先優(yōu)勢的公司和機構的合作,例如卡耐基·梅隆大學的SEI,南加州大學的計算機工程中心,以及數(shù)量巨大的推動軟件開發(fā)藝術發(fā)展的公司;經歷了廣大的軟件開發(fā)社區(qū)的大力幫助,他們提供了諸如敏捷開發(fā)技術這樣的革新。每年我們都會收到超過1000個的來自于我們客戶的關于改進我們的過程框架的需求。隨著我們在更廣泛的支持下繼續(xù)擴展軟件開發(fā)過程領域,我們靠你們“讓我們保持誠實”,并幫助我們發(fā)展新的IBM Rational Method Composer產品。
IBM Rational Method Composer和它的前任一直提供單獨的過程,不依賴工具。同時,這些過程框架保證了和用于團隊尋求自動化工具環(huán)境的軟件工具的緊密集成,特別是IBM Rational Software Development Platform 和Eclipse平臺。我們相信通過將過程和工具集成到一起可以產生最大的生產力。
從RUP在1996年產生以來,Rational團隊確信一個好的過程框架必須能夠幫助個體的團隊成員。只有這時才能說在一個組織中成功的采用了過程。太多的過程改進提議是由管理層將過程標準化的想法來推動的,這樣做是因為它將導致“精確”和“可預測”,但是這種努力在實踐者不能看到過程是怎樣讓他們的生活更簡單時就會失敗。這就是為什么我們一直關注個體的團隊成員的需要。最終,軟件是由團隊來完成的,過程只是在能夠幫助團隊成員更高效的協(xié)作時才是有用的。
在2005年的12月份的Rational Edge中,Walker Royce和我描述了可以作為提高軟件開發(fā)過程的六個關鍵的原則。我們相信IBM Rational Method Composer提供了在業(yè)務驅動開發(fā)的年代應用這些原則具體指導。我邀請你提出問題或提供建議,我期待能夠在developerWorks的RUP用戶論壇:http://www.ibm.com/developerworks/forums/dw_thread.jsp?forum=335&thread=100198&cat=24上看到你的消息。
回頁首1 IBM Rational Unified Process來到IBM是IBM通過收購Rational Software。
2 IBM Rational SUMMIT Ascendant來到IBM是通過IBM收購PriceWaterhouseCoopers。
3 見 http://www.eclipse.org/proposals/beacon/
4 見 http://www.ibm.com/developerworks
6 見 http://www.ibm.com/developerworks/cn/rational/rationaledge/content/dec05/kroll/index.html