日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

將項(xiàng)目從瀑布式轉(zhuǎn)為迭代過程(轉(zhuǎn)與 Rational Edge)

 快樂學(xué)習(xí) 2007-04-23

Rose Ritchie, Certified Senior Project Manager, IBM
Bernie Michalik, 高級(jí)IT認(rèn)證架構(gòu)師, IBM

2006 年 7 月 14 日

本文來(lái)自于 Rational Edge:通常,堅(jiān)定地相信迭代化方法的軟件開發(fā)者必須為那些出于各種原因而堅(jiān)持使用傳統(tǒng)的瀑布方法理念的客戶服務(wù)。本文就是討論如何幫助那些人改變觀念,轉(zhuǎn)為使用Rational Unified Process。

illustration 迭代開發(fā)技術(shù)的支持者——尤其那些花費(fèi)了若干年掌握如何使用Rational Unified Process和相關(guān)的迭代方法進(jìn)行軟件開發(fā)的專業(yè)技術(shù)人員和顧問——他們經(jīng)常批評(píng)傳統(tǒng)的"瀑布"方法,甚至不理解為什么瀑布法仍然在軟件開發(fā)公司中被廣泛使用。為了拿出客戶要求的IT解決方案的項(xiàng)目計(jì)劃,我們會(huì)涉入到許多項(xiàng)目,它們最初都使用瀑布方法。這些解決方案包含開發(fā)新軟件以及擴(kuò)建新的基礎(chǔ)結(jié)構(gòu)。

我們有許多不錯(cuò)的使用瀑布方法的理由,包括:

  • 瀑布法在過去的使用中很成功
  • 我們可以重新利用其它瀑布項(xiàng)目的資源
  • 我們的團(tuán)隊(duì)(也就是我們客戶的員工)感到使用瀑布法很方便
  • 我們的團(tuán)隊(duì)希望在進(jìn)行開發(fā)之前完成全部的設(shè)計(jì)任務(wù)
  • 我們的團(tuán)隊(duì)也許和另外一只使用瀑布法的團(tuán)隊(duì)合作(尤其是那些為我們的整體解決方案和建設(shè)基礎(chǔ)結(jié)構(gòu)的團(tuán)隊(duì))

不論這些理由是什么,使用Rational Unified Process?或者RUP?進(jìn)行項(xiàng)目開發(fā)比使用瀑布法更有意義。我們可以把項(xiàng)目計(jì)劃和所有的方法轉(zhuǎn)換為迭代方法。本文就是基于以上所述,帶您體驗(yàn)這種方法。

初始計(jì)劃是什么以及為什么?

初始計(jì)劃通常包括許多設(shè)計(jì)階段,在這些階段中我們要概述客戶的解決方案。因?yàn)檫@些項(xiàng)目將會(huì)有多個(gè)軟件發(fā)布版本,所以初始的設(shè)計(jì)階段包括了軟件的整體設(shè)計(jì)。然后針對(duì)每個(gè)發(fā)布版本我們都會(huì)有一個(gè)設(shè)計(jì)階段。隨后的每個(gè)設(shè)計(jì)階段將變得越來(lái)越具體,因?yàn)槲覀兊目蛻糁饾u清楚什么是他們所需要的,而此時(shí)我們的團(tuán)隊(duì)也可以開始動(dòng)工了。

為什么RUP更有意義?

對(duì)于我們的許多項(xiàng)目,在與客戶一起評(píng)審?fù)晡覀兊钠俨挤ㄓ?jì)劃后,就顯示出來(lái)一個(gè)面向RUP的項(xiàng)目計(jì)劃比我們的瀑布法計(jì)劃更具加有意義,這里有很多理由,包括:

  • 客戶想要盡早獲得成果。一些客戶不愿等到我們大量的設(shè)計(jì)工作完成之后才進(jìn)行開發(fā)。它們經(jīng)常提出一些要求并且想得到應(yīng)用程序的代碼,然后就可以盡快地把它們拿給股東們看了。
  • 在首次軟件發(fā)布日期之前,客戶不會(huì)提出所有高水平的要求。在進(jìn)入到計(jì)劃設(shè)計(jì)階段尾聲之前,一些客戶不會(huì)提出全部的要求,或者是因?yàn)橐恍_突或者其它的一些限制(例如,一個(gè)在今后某個(gè)時(shí)刻才能做出的決定)。
  • 客戶希望牢牢控制項(xiàng)目的周期和預(yù)算。 盡管項(xiàng)目會(huì)出現(xiàn)一些不確定的要求或者其它的不確定因素,但是客戶依然想控制項(xiàng)目的進(jìn)度。由于RUP項(xiàng)目的每一個(gè)階段是一個(gè)時(shí)間箱,因此我們可以準(zhǔn)確地描述項(xiàng)目的進(jìn)度以及每個(gè)階段所需的資源,還有每個(gè)階段完成之后項(xiàng)目的開銷。
  • 客戶和開發(fā)者都想盡快消除項(xiàng)目中的風(fēng)險(xiǎn)。盡早地為客戶提供應(yīng)用程序代碼,可以減少由于應(yīng)用程序沒有按時(shí)交付所造成的風(fēng)險(xiǎn)。對(duì)于開發(fā)團(tuán)隊(duì),盡早地發(fā)布項(xiàng)目中應(yīng)用程序的部分內(nèi)容,特別是與新技術(shù)有關(guān)的應(yīng)用程序內(nèi)容,可以有助于他們降低開發(fā)應(yīng)用程序時(shí)遇到的風(fēng)險(xiǎn)。
  • 在資金發(fā)生變化時(shí)客戶想要終止項(xiàng)目。通過為項(xiàng)目提供高價(jià)值的功能,RUP可以使客戶最大限度地靈活地花費(fèi)他們的資金,并獲得盡可能多的預(yù)算,以維持這項(xiàng)工程。如果我們使用瀑布法,就會(huì)出現(xiàn)當(dāng)設(shè)計(jì)出許多出色的軟件版本后,我們才發(fā)現(xiàn)資金僅僅夠開發(fā)其中的一個(gè)軟件。

我們改變了什么?

在從瀑布法到RUP的調(diào)整過程中,有許多需要改變的地方:

  • 項(xiàng)目結(jié)構(gòu)。改變項(xiàng)目結(jié)構(gòu)是非常關(guān)鍵的一步。我們將從我們的瀑布法階段,包括高層設(shè)計(jì),總體設(shè)計(jì),發(fā)布設(shè)計(jì),構(gòu)建,測(cè)試,部署,發(fā)布設(shè)計(jì),構(gòu)建,測(cè)試,部署--轉(zhuǎn)到RUP階段,包括多個(gè)精化階段,隨后是多個(gè)構(gòu)建階段。我們可能重復(fù)這個(gè)過程,并且每個(gè)遷移階段都會(huì)按照這個(gè)過程進(jìn)行。
  • 時(shí)間框架。在我們開始之前,每個(gè)迭代都會(huì)被限制在一個(gè)時(shí)間框架中。如果我們認(rèn)為在一個(gè)精化或構(gòu)建迭代階段沒有足夠的時(shí)間完成我們的工作,我們將把這項(xiàng)工作推延到下一個(gè)迭代中去。這個(gè)與我們?cè)谄俨柬?xiàng)目中處理的方法是不同的,在瀑布法中,為了完成設(shè)計(jì),構(gòu)建,測(cè)試或者部署,我們可能會(huì)擴(kuò)展這個(gè)階段。
  • 資源使用。在瀑布法中,我們?cè)谠O(shè)計(jì)階段擁有的資源在構(gòu)建/測(cè)試/部署階段時(shí)將不復(fù)存在。利用RUP方法時(shí),我們可以保證資源貫穿于每一個(gè)階段。在項(xiàng)目中,我們可讓一個(gè)人在不同的階段扮演不同的角色。
  • 早期開發(fā)。我們幾乎是立即著手開發(fā)應(yīng)用程序,甚至是精化迭代和設(shè)計(jì)還未完成。而利用瀑布法設(shè)計(jì),開發(fā)在設(shè)計(jì)完成之前是不能進(jìn)行的,利用RUP的項(xiàng)目,我們通過迅速開發(fā)部分項(xiàng)目來(lái)降低了風(fēng)險(xiǎn)并且獲得了好處。尤其是項(xiàng)目開發(fā)的最初幾周,也就是我們著手開發(fā)用戶界面的階段。迭代法可以使我們周期性地提供應(yīng)用程序的進(jìn)展,讓我們的客戶感到滿意。迭代法還幫助我們?cè)诳蛻舻囊髥栴}上與他們達(dá)成一致。它還可以讓我們持續(xù)地檢驗(yàn)應(yīng)用程序的品質(zhì)(例如,讓我們開發(fā)的應(yīng)用程序滿足客戶提出的要求)。它還可以通過讓開發(fā)團(tuán)隊(duì)使用新技術(shù)來(lái)降低風(fēng)險(xiǎn)(例如,使用從未用過的永久性構(gòu)架技術(shù))。

哪些是我們要保留的相同內(nèi)容?

從瀑布法到RUP,盡管我們改變了許多,但是我們并沒有全部摒棄傳統(tǒng)的設(shè)計(jì)方法。

對(duì)其它活動(dòng)的關(guān)聯(lián)。當(dāng)我們將項(xiàng)目開發(fā)從瀑布法轉(zhuǎn)到RUP方法時(shí),有許多支持項(xiàng)目和子項(xiàng)目也在同時(shí)進(jìn)行。在我們初始的瀑布法項(xiàng)目中,我們有了一個(gè)關(guān)鍵路徑,將我們的項(xiàng)目中的關(guān)鍵活動(dòng)與其它項(xiàng)目中的關(guān)鍵活動(dòng)關(guān)聯(lián)在一起。當(dāng)把我們的項(xiàng)目轉(zhuǎn)為RUP后,我們會(huì)記錄下其它項(xiàng)目中關(guān)鍵活動(dòng)的日期,然后在我們的項(xiàng)目中創(chuàng)建出與那些活動(dòng)緊密相關(guān)的新活動(dòng)。

角色與資源。在項(xiàng)目中我們扮演著同一個(gè)角色并且保持同樣的資源,盡管項(xiàng)目的結(jié)構(gòu)已經(jīng)發(fā)生了變化。我們?nèi)匀幌胗孟嗤娜藛T類型得到相同的設(shè)計(jì)、開發(fā)和測(cè)試量。還有,一些與應(yīng)用程序開發(fā)無(wú)關(guān)的角色(例如,基礎(chǔ)結(jié)構(gòu)的開發(fā))也被保留下來(lái)。

交付物以及其它文檔。我們希望在瀑布項(xiàng)目中計(jì)劃產(chǎn)生的文檔在RUP項(xiàng)目中仍舊產(chǎn)生。不管我們使用什么方法,顧客仍然想要關(guān)鍵可交付物(例如,主測(cè)試計(jì)劃),而不管我們的方法是什么。同樣地,我們創(chuàng)建了一個(gè)文檔,讓團(tuán)隊(duì)為每個(gè)項(xiàng)目準(zhǔn)確地創(chuàng)建基礎(chǔ)結(jié)構(gòu),如何配置服務(wù)器、軟件,等等,無(wú)論是瀑布法還是RUP方法,我們都要做這一步工作。

所需工作量。盡管由于從瀑布法到RUP方法的改變導(dǎo)致了構(gòu)建解決方案的方法發(fā)生了變化,但是無(wú)論使用哪一種方法,完成相同的工作所需的工作量并沒有改變。

結(jié)果是什么?

當(dāng)從瀑布法改為RUP方法后,我們發(fā)現(xiàn):

  • RUP幫助我們管理客戶的需求,盡管客戶也許還不清楚他們最初提出的每一個(gè)需求。我們需要牢牢地管理變更并且增加額外的階段用于滿足新的需求。時(shí)間箱和多個(gè)迭代幫助我們管理變更。在精化階段,多個(gè)迭代意味著如果因?yàn)闀r(shí)間箱而無(wú)法在一個(gè)迭代中完成任務(wù),但客戶仍舊想要進(jìn)行這個(gè)任務(wù),我們就要把它轉(zhuǎn)移到另一個(gè)迭代中去。同樣地,在精化階段,如果我們發(fā)現(xiàn)項(xiàng)目中包含了比計(jì)劃還要多的任務(wù),我們就將把一些任務(wù)轉(zhuǎn)移到其它迭代中去。我們甚至可以增加額外的迭代,如果客戶覺得這樣做是值得的。如果客戶被預(yù)算所限制,他們將不會(huì)再繼續(xù)增加迭代,因?yàn)樗麄円呀?jīng)從完成了的迭代中獲得重要的價(jià)值?!?
  • 在構(gòu)建階段中的多個(gè)迭代也會(huì)幫助進(jìn)行需求管理。通過使用迭代進(jìn)行應(yīng)用程序的開發(fā),我們可以讓客戶確認(rèn)他們?cè)诿總€(gè)迭代中的要求。如果應(yīng)用程序沒有和當(dāng)初設(shè)想的一致,我們還可以在下一個(gè)迭代中將它改變。這對(duì)我們的管理也有所幫助。
  • RUP幫助我們自始至終中地保證質(zhì)量。因?yàn)槲覀冊(cè)诿恳粋€(gè)迭代結(jié)束后都發(fā)布代碼,所以RUP讓測(cè)試變得簡(jiǎn)單,并且降低了在項(xiàng)目的后期發(fā)現(xiàn)重大問題的概率。
  • 可視化建模幫助客戶發(fā)現(xiàn)什么是他們想要的以及幫助我們了解什么是客戶想要的。間接地,它還幫助我們拉近了與客戶之間的關(guān)系??蛻粲X得可以更進(jìn)一步參與到應(yīng)用程序的開發(fā)中去,應(yīng)用程序能夠如期完成并且包含全部他們想要的東西,這些都讓客戶感到非常得滿意。
  • 采用組件架構(gòu)使我們可以交付獨(dú)立的、功能性軟件用于較早的測(cè)試。它在幫助開發(fā)團(tuán)隊(duì)進(jìn)行任務(wù)分解和分配工作時(shí)也顯得十分有用。

你應(yīng)當(dāng)在何時(shí)考慮使用RUP方法替代瀑布法?

以下是在何時(shí)用RUP方法替代瀑布法的一些建議:

  1. 使用瀑布法無(wú)法滿足客戶時(shí)。例如,客戶對(duì)要花費(fèi)很長(zhǎng)時(shí)間才能看到結(jié)果感到不滿時(shí)?;蛘呖蛻舯г顾麄冃枰屿`活的應(yīng)用程序,或者他們想在開發(fā)的早期就可以解決風(fēng)險(xiǎn)問題?;蛘弋?dāng)客戶想在項(xiàng)目的開發(fā)初期就看到它的組成部分,不是簡(jiǎn)單的原型或者證實(shí)可行的概念,而是即將成為全部應(yīng)用程序一部分的實(shí)際項(xiàng)目代碼,RUP 就為以上這種開發(fā)方式提供了框架。
  2. 客戶當(dāng)前已經(jīng)普遍使用一個(gè)或多個(gè)Rational工具。如果真是如此,那么他們應(yīng)經(jīng)看到了IBM Rational軟件的價(jià)值以及這種迭代方法所帶來(lái)的好處了。你可以告訴客戶,在不久的將來(lái)使用RUP可以使這些工具變得更加有價(jià)值。
  3. 軟件開發(fā)確實(shí)是項(xiàng)目的核心部分,并且/或者軟件是面向?qū)ο蟮?/strong>。如果你的項(xiàng)目主要是網(wǎng)絡(luò)的重新設(shè)計(jì)或者是一個(gè)只有少許軟件開發(fā)的服務(wù)器固化的項(xiàng)目,用傳統(tǒng)的瀑布方法也許會(huì)更好。同樣地,如果軟件開發(fā)大部分是腳本或者過程語(yǔ)言的話,使用傳統(tǒng)的方法就足夠了。
  4. 客戶不確定他們的要求。也許是由于一些還未解決的爭(zhēng)論,或者相關(guān)的項(xiàng)目還未著手動(dòng)工,或者有一些遲滯或未確定的區(qū)域,這些因素導(dǎo)致全部的要求不能在同一階段同時(shí)聚集在一起。

如果這些問題你的回答大部分是"是"的話,你就應(yīng)當(dāng)在項(xiàng)目中使用RUP了。

你首先應(yīng)當(dāng)作的事情是什么?

  • 找一個(gè)RUP的高手來(lái)幫助你。 RUP的專家在從瀑布法轉(zhuǎn)換到RUP的過程中可以為你進(jìn)行指導(dǎo)。他們?cè)谑褂肦UP方面很有經(jīng)驗(yàn),并且可以幫助你找出且應(yīng)對(duì)轉(zhuǎn)換過程中出現(xiàn)的挑戰(zhàn)。
  • 了解RUP和迭代開發(fā)的好處。當(dāng)你進(jìn)行轉(zhuǎn)換時(shí),你也許會(huì)問:只是為了變化而變化么?所以,學(xué)習(xí)RUP的課程,利用現(xiàn)有的知識(shí)(這也是另一個(gè)RUP專家可以幫助的領(lǐng)域),同時(shí)閱讀文章,尤其要對(duì)那些成功使用RUP的個(gè)案進(jìn)行研究。
  • 利用集成的IBM Rational工具的優(yōu)勢(shì)。RUP構(gòu)架通過工具指南來(lái)指導(dǎo)如何使用這些工具。盡管 Rational 工具和方法可以彼此相互獨(dú)立使用,但當(dāng)它們綜合在一起使用的時(shí)候會(huì)變得極為強(qiáng)大,畢竟整體大于部分的總和。
  • 采用 RUP 最優(yōu)方法并且使用RUP作為導(dǎo)向重構(gòu)你的項(xiàng)目計(jì)劃還不夠。為了取得成功,你還需要RUP作為導(dǎo)向 1 并且你要使用RUP的最優(yōu)方法獲得最大的收益。
  • 了解客戶以及客戶企業(yè)文化以便成功地完成RUP項(xiàng)目。一些客戶也許不想采用全部的或者部分RUP,盡管種種跡象表明他們可以獲得利益。要對(duì)這些事情敏感從而采取辦法。

結(jié)論

關(guān)于為什么瀑布法成為我們項(xiàng)目開發(fā)的一部分,這里有許多原因。偶爾,我們會(huì)遇到這種情況,一個(gè)使用瀑布法的團(tuán)隊(duì)在項(xiàng)目開發(fā)中競(jìng)標(biāo)并且中標(biāo)。有些時(shí)候,IT設(shè)計(jì)師使用相同的設(shè)計(jì)方法來(lái)開發(fā)新項(xiàng)目。也有時(shí),客戶想要用瀑布法運(yùn)行他所有的項(xiàng)目,或者含蓄地使用他們所慣用的方法。在以上這些情況中,瀑布法多少顯出了一些問題,如果客戶堅(jiān)持采用這種方法,我們也將全力照做。

就算采用一個(gè)好的瀑布法計(jì)劃,但是如果換作使用 Rational Unified Process將會(huì)帶來(lái)更多的好處。為了實(shí)現(xiàn)這個(gè)改變,你需要找到一個(gè)標(biāo)記,用于說(shuō)明客戶和項(xiàng)目對(duì)于改變都是好的候選者。如果有這種跡象,在你進(jìn)行項(xiàng)目之前,它將幫助你了解你應(yīng)當(dāng)改變什么以及你應(yīng)該留下些什么。然而,作為明智的改變,你可以在項(xiàng)目中結(jié)合使用這兩種方法的精華,這樣就可以獲得更好的結(jié)果。



參考資料



作者簡(jiǎn)介

author photo

作為項(xiàng)目管理認(rèn)證專業(yè)人員(PMP) 和 IBM Rational Unified Process的認(rèn)證專家,Rose Ritchie 擁有十五年以上的IT經(jīng)驗(yàn),大多數(shù)時(shí)間是復(fù)雜應(yīng)用軟件開發(fā)和系統(tǒng)集成項(xiàng)目的項(xiàng)目經(jīng)理或程序經(jīng)理,主要工作在金融服務(wù)行業(yè)。


author photo

Bernie Michalik在設(shè)計(jì)、構(gòu)建和實(shí)施復(fù)雜IT解決方案方面擁有二十二年的經(jīng)驗(yàn),擔(dān)任過許多不同類型的角色,從領(lǐng)導(dǎo)大型團(tuán)隊(duì)創(chuàng)建大型的系統(tǒng)基礎(chǔ)結(jié)構(gòu)到單獨(dú)為全球客戶開發(fā)定制軟件。他的經(jīng)驗(yàn)涵蓋了廣泛的方法論。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多