版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Software
Project
Management1項目進(jìn)度安排第5
講主講:張綱強(qiáng)基本概念主要內(nèi)容項目進(jìn)度安排定義任務(wù)網(wǎng)絡(luò)進(jìn)度安排2掙值分析基本概念3基本概念4雖然軟件延期交付的原因很多,但是大多數(shù)都可以追溯到下面列出的一個或多個根本原因上:不切實際的項目結(jié)束期限,由軟件工程小組以外的某個人所制定,并強(qiáng)加給軟件工程小組內(nèi)的管理者和項目開發(fā)者。客戶需求發(fā)生變更,而這種變更沒有在項目變更進(jìn)度表上預(yù)先安排。對完成該工作所需的工作量和/或資源數(shù)量估計不足。在項目開始時,沒有考慮可預(yù)測的和/或不可預(yù)測的風(fēng)險。出現(xiàn)了事先無法預(yù)計的技術(shù)困難。出現(xiàn)了事先無法預(yù)計的人力困難。由于項目團(tuán)隊成員之間的交流不暢而導(dǎo)致的延期。項目管理者未能發(fā)現(xiàn)進(jìn)度拖后,也未能采取措施解決這一問題基本概念5在軟件行業(yè)中,人們對過于樂觀的(即“不切實際的”)項目結(jié)束期限已經(jīng)司空見慣。從設(shè)定項目結(jié)束期限的人的角度來看,有時候這樣的項目結(jié)束期限是合理的,但是常識告訴我們,合理與否還必須由完成工作的人員來判斷。不妨舉例說明,假定一個軟件開發(fā)小組的任務(wù)是構(gòu)造一個醫(yī)療診斷儀器的實時控制器,該控制器需要在9個月之內(nèi)推向市場。在進(jìn)行了仔細(xì)的估算和風(fēng)險分析之后,軟件項目管理人員得到的結(jié)論是在現(xiàn)有人員條件下,需要14個月的時間才能完成這一軟件。這位項目管理者下一步該怎么辦?闖進(jìn)客戶的辦公室(這里的客戶非??赡苁鞘袌龌蜾N售人員)并要求修改交付日期似乎不太現(xiàn)實。外部市場壓力決定了交付日期,屆時必須發(fā)布產(chǎn)品。而(從事業(yè)前途的角度出發(fā))拒絕這一項目同樣是魯莽的。那么應(yīng)該怎么辦呢?基本概念6在這種情況下,推薦以下的處理步驟:按照以往項目的歷史數(shù)據(jù)進(jìn)行詳細(xì)的估算。確定項目的估算工作量和工期。采用增量過程模型,制定一個軟件開發(fā)策略,以保證能夠在規(guī)定的交付日期提供主要功能,而將其他功能的實現(xiàn)推到以后。然后將這一計劃做成文檔。與客戶會談并(用詳細(xì)估算結(jié)果)來解釋為什么規(guī)定的交付日期是不現(xiàn)實的,一定要指出所有這些估算都是基于以往的項目實踐,而且一定要指出為了在目前規(guī)定的交付期限完成項目,與以往相比在工作效率上必須提高的百分比將增量開發(fā)策略作為可選計劃提交給客戶項目進(jìn)度安排7項目進(jìn)度安排8軟件項目進(jìn)度安排
是一種活動,它通過將工作量分配給特定的軟件工程任務(wù),從而將所估算的工作量分配到計劃的項目工期內(nèi)。但要注意的是,進(jìn)度是隨著時間的改變而不斷演化的。在項目計劃的早期,首先建立一個宏觀進(jìn)度表,該進(jìn)度表標(biāo)識出所有主要的軟件工程活動和這些活動影響到的產(chǎn)品功能。隨著項目的進(jìn)展,宏觀進(jìn)度表中的每個條目都被精化成一個“詳細(xì)進(jìn)度表”。于是(完成一個活動所必須實現(xiàn)的)特定軟件任務(wù)被標(biāo)識出來,同時也進(jìn)行了進(jìn)度安排??梢詮膬蓚€不同的角度來討論軟件工程項目的進(jìn)度安排。第一個視角,計算機(jī)系
統(tǒng)的最終發(fā)布日期已經(jīng)確定(而且不能更改),軟件開發(fā)組織必須將工作量分布在預(yù)先確定的時間框架內(nèi)。第二個視角,假定已知大致的時間界限,但是最終發(fā)布日
期是由軟件開發(fā)組自行確定,工作量以一種能夠最好地利用資源的方式進(jìn)行分配,且在對軟件進(jìn)行仔細(xì)分析之后才決定最終發(fā)布日期。但不幸的是,第一種情況發(fā)
生的頻率遠(yuǎn)遠(yuǎn)高于第二種情況。項目進(jìn)度安排9劃分。必須將項目劃分成多個可以管理的活動、動作和任務(wù)。為了實現(xiàn)項目的劃分,產(chǎn)品和過程都需要進(jìn)行分解。相互依賴性。劃分后的各個活動、動作或任務(wù)之間的相互依賴關(guān)系必須是明確的。有些任務(wù)必須按順序出現(xiàn),而有些任務(wù)則可以并發(fā)進(jìn)行。有些活動或動作只有在
其他活動產(chǎn)生的工作產(chǎn)品完成后才能夠開始,而有些則可以獨(dú)立進(jìn)行。時間分配。每個安排了進(jìn)度計劃的任務(wù)必須分配一定數(shù)量的工作單位(例如,若
干人·日的工作量)。此外,還必須為每個任務(wù)指定開始日期和完成日期,任務(wù)
的開始日期和完成日期取決于任務(wù)之間的相互依賴性及工作方式是全職還是兼職。項目進(jìn)度安排:基本原則項目進(jìn)度安排10工作量確認(rèn)。每個項目都有預(yù)定數(shù)量的人員參與。在進(jìn)行時間分配時,項目管理人員必須確保在任意時段中分配的人員數(shù)量不會超過項目團(tuán)隊中的總?cè)藛T數(shù)量。例如,某項目分配了3名軟件工作師(例如,每天可分配的工作量為3人·日)。在某一天中,需要完成7項并發(fā)的任務(wù),每個任務(wù)需要0.50人·日的工作量,在這種情況下,所分配的工作量就大于可供分配的工作量。確定責(zé)任。安排了進(jìn)度計劃的每個任務(wù)都應(yīng)該指定特定的團(tuán)隊成員來負(fù)責(zé)。明確結(jié)果。安排了進(jìn)度計劃的每個任務(wù)都應(yīng)該有一個明確的輸出結(jié)果。對于軟件項目而言,輸出結(jié)果通常是一個工作產(chǎn)品(例如一個模塊的設(shè)計)或某個工作產(chǎn)品的一部分。通??蓪⒍鄠€工作產(chǎn)品組合成“可交付產(chǎn)品”。確定里程碑。每個任務(wù)或任務(wù)組都應(yīng)該與一個項目里程相關(guān)聯(lián)。當(dāng)一個或多個工作產(chǎn)品經(jīng)過質(zhì)量評審并且得到認(rèn)可時,標(biāo)志著一個里程碑的完成。項目進(jìn)度安排:基本原則項目進(jìn)度安排對于小型軟件開發(fā)項目,只需一個人就可以完成需求分析、設(shè)計、編碼和測試。隨著項目規(guī)模的增長,必須會有更多的人員參與。(不可能奢望一個人工作十年來完成10人·
年的工作量)在項目后期增加人手通常會對項目產(chǎn)生破壞性的影響,其結(jié)果是使進(jìn)度進(jìn)一步拖延。后期增加的人員必須學(xué)習(xí)這一系統(tǒng),而培訓(xùn)他們的人員正是一直在工作著的那些人,當(dāng)他們進(jìn)行教學(xué)時,就不能完成任何工作,從而使項目進(jìn)一步拖延。除去學(xué)習(xí)系統(tǒng)所需的時間之外,新加入人員將會增加人員之間交流的路徑數(shù)量和整個項目中交流的復(fù)雜度。雖然交流對于一個成功的軟件開發(fā)項目而言絕對是必不可少的。但是每增加一條新的交流路徑就會增加額外的工作量,從而需要更多的時間。多年以來的經(jīng)驗數(shù)據(jù)和理論分析都表明項目進(jìn)度是具有彈性的。即在一定程度上可以縮短項目交付日期(通過增加額外資源),也可以拖延項目交付日期(減少資源數(shù)量)。11項目進(jìn)度安排:人員與工作量之間的關(guān)系項目進(jìn)度安排PNR(Putnam-Norden-Rayleigh)曲線表明了一個軟件項目中所投入的工作量與交付時間的關(guān)系。項目工作量和交付時間的函數(shù)關(guān)系曲線如圖5-1所示。圖中的to表示項目最低交付成本所需的最少時間(即花費(fèi)工作量最少的項目交付時間),而to左邊(即當(dāng)我們想提前交付時)的曲線是非線性上升的。12項目進(jìn)度安排:人員與工作量之間的關(guān)系圖5-1
工作量和交付時間的關(guān)系項目進(jìn)度安排13舉一個例子假設(shè)一個軟件項目團(tuán)隊根據(jù)進(jìn)度安排和現(xiàn)有的人員配置,估算所需要的工作量應(yīng)為Ed,正常的交付時間應(yīng)為td。雖然可以提前交付,但曲線在td的左側(cè)急劇上升。事實上,PNR曲線不僅說明了項目的交付時間不能少于0.75td,如果想更少,項目會進(jìn)入“不可能的區(qū)域”,并面臨著很高的失敗風(fēng)險;還說明了最低成本的交付時間to應(yīng)該滿足to=2td,即拖延項目交付可以明顯降低成本,當(dāng)然,這里的成本必須將與延期相關(guān)的營銷成本排除在外。項目進(jìn)度安排:人員與工作量之間的關(guān)系項目進(jìn)度安排項目進(jìn)度安排:人員與工作量之間的關(guān)系14項目進(jìn)度安排項目進(jìn)度安排:人員與工作量之間的關(guān)系15項目進(jìn)度安排項目進(jìn)度安排:人員與工作量之間的關(guān)系16項目進(jìn)度安排17在之前學(xué)習(xí)中討論的各種軟件項目估算技術(shù)最終都?xì)w結(jié)為對完成軟件開發(fā)所需工作單位(如人·
月)的估算。軟件過程中的工作量分配通常采用40-20-40法則??傮w工作量的40%分配給前期的分析和設(shè)計,40%的用于后期測試。因此,你可以推斷出編碼工作(20%的工作量)是次要的。這種工作量分配法只能作為指導(dǎo)原則。各個項目的特點決定了其工作量如何分配。用于項目計劃的工作量很少超過2%-3%,除非提交給組織的項目費(fèi)用極高且具有高風(fēng)險。需求分析大約占用10%-25%的工作量,用于分析或原型開發(fā)的工作量應(yīng)該與項目規(guī)模和復(fù)雜度成正比增長。通常有20%-25%的工作量用于軟件設(shè)計,用于設(shè)計評審和隨之而來的迭代開發(fā)也必須考慮。因為在軟件設(shè)計時投入相當(dāng)?shù)墓ぷ髁?,隨后的編碼工作就變得相對簡單??傮w工作量的15%-20%就可以完成這一工作。測試和隨之而來的調(diào)試工作將占用30%-40%的軟件開發(fā)工作量。軟件的重要性決定了所需測試工作的分量,如是果軟件系統(tǒng)是人命相關(guān)的,就應(yīng)該考慮分配更高的測試工作量比例。項目進(jìn)度安排:工作量分配為軟件項目定義任務(wù)集18定義任務(wù)集19我們已經(jīng)學(xué)習(xí)了多種不同的過程模型。無論一個軟件團(tuán)隊選擇的是線性順序模型、增量模型、演化模型,或它們的某種變型,過程模型都是由一個任務(wù)集組成的,
這些任務(wù)集使得軟件團(tuán)隊能夠定義、開發(fā)和最終維護(hù)計算機(jī)軟件。沒有能普遍適用于所有軟件項目的任務(wù)集合。適用于大型復(fù)雜系統(tǒng)的任務(wù)集可能對于小型且相對簡單的項目而言就過于復(fù)雜。因此一個有效的軟件過程應(yīng)該定義一組任務(wù)集來滿足不同類型項目的要求。一個任務(wù)集包括軟件工程工作任務(wù)、里程碑,以及為完成某個特定項目就必須完成的工作產(chǎn)品。為獲得高質(zhì)量的軟件產(chǎn)品,所選擇的任務(wù)集必須提供充分的規(guī)程要求,但同時又不能讓項目團(tuán)隊負(fù)擔(dān)不必要的工作。為軟件項目定義任務(wù)集定義任務(wù)集20在進(jìn)行項目進(jìn)度安排時,必須將任務(wù)集分布在項目時序圖上。任務(wù)集應(yīng)該根據(jù)軟件團(tuán)隊所決定的項目類型和嚴(yán)格程序而有所不同。一般項目的類型如下:概念開發(fā)項目:目的是為了探索某些新的業(yè)務(wù)概念或者某種新技術(shù)的應(yīng)用。新應(yīng)用開發(fā)項目:根據(jù)特定的客戶需求而承擔(dān)的項目。應(yīng)用增強(qiáng)項目:對現(xiàn)有軟件進(jìn)行最終用戶可見的功能、性能或界面的修改。應(yīng)用維護(hù)項目:以一種最終用戶不會立即察覺到的方式對現(xiàn)有軟件進(jìn)行糾錯、適應(yīng)或者擴(kuò)展。再工程項目:為了全部或部分重建一個現(xiàn)有(遺留)系統(tǒng)而承擔(dān)的項目。為軟件項目定義任務(wù)集定義任務(wù)集21每種項目類型都可以通過線性順序、迭代或者演化等過程模型來實現(xiàn)。在某些情況下,項目類型可以從一種形式平滑地轉(zhuǎn)換為另一種形式。例如成功的概念開發(fā)項目通常會演化為新應(yīng)用開發(fā)項目,而新應(yīng)用開發(fā)項目結(jié)束之后,可能又開始了一個應(yīng)用增強(qiáng)項目。這個進(jìn)程是自然的和可預(yù)測的,不論組織是采用何種過程模型都將會發(fā)生。因此,下面將要介紹的主要軟件工程任務(wù)可適用于所有過程模型流程。作為一個例子,下面我們將介紹概念開發(fā)項目的主要軟件工程任務(wù)。任務(wù)集舉例定義任務(wù)集概念開發(fā)項目是在探索某些新技術(shù)是否可行時發(fā)起的。這種技術(shù)是否可行尚不可知,但是某個客戶相信其具有潛在的利益。概念開發(fā)項目的完成需要應(yīng)用以下主要任務(wù):確定概念范圍。確定項目的整體范圍初步的概念策劃。確定組織承擔(dān)項目范圍所涵蓋的工作應(yīng)具有的工作能力。技術(shù)風(fēng)險評估。評估與項目范圍中將要實現(xiàn)的技術(shù)相關(guān)聯(lián)的風(fēng)險。概念證明。證明新技術(shù)在軟件環(huán)境中的生命力。概念實現(xiàn)。以一種可以由客戶方進(jìn)行評審的方式實現(xiàn)概念的表示,而且當(dāng)將概念銷售給其他客戶或管理者時能夠用于“營銷”目的??蛻魧Ω拍畹姆磻?yīng)。向客戶索取對新技術(shù)概念的反饋,并以特定的客戶應(yīng)用作為目標(biāo)。22任務(wù)集舉例定義任務(wù)集上一節(jié)中所描述的主要任務(wù)可以用來制定項目的宏觀進(jìn)度表。但是,必須將宏觀進(jìn)度表進(jìn)行細(xì)化,以創(chuàng)建一個詳細(xì)的項目進(jìn)度表,細(xì)化工作始于將每個主要任務(wù)分解為一組子任務(wù)(以及梯狀的工作產(chǎn)品和里程碑)。作為任務(wù)分解的例子,我們考慮在上一節(jié)中討論的“1. 確定概念范圍”。任務(wù)求精可以使用大綱格式,但在這里將使用過程設(shè)計語言來說明“確定范圍”這一活動的流程:23主要任務(wù)的求精任務(wù)定義:任務(wù)1-確定概念范圍241.1確定需求、效益和潛在的客戶1.2確定所希望的輸出/控制和驅(qū)動應(yīng)用程序的輸入事件開始1.21.2.1
FTR:評審需求的書面描述1.2.2導(dǎo)出一個客戶可見的輸出/輸入列表1.2.3
FTP:與客戶一起評審輸出/輸入,并在需要時進(jìn)行修改結(jié)束任務(wù)1.2.21.3為每個主要功能定義功能/行為開始1.3
1.3.1
FTP:評審在任務(wù)1.2中得到的輸出/輸入數(shù)據(jù)對象1.3.2導(dǎo)出功能/行為模型1.3.3與客戶一起評審功能/行為模型,并在需要時進(jìn)行修改結(jié)束任務(wù)1.3把需要在軟件中實現(xiàn)的技術(shù)要素分離出來研究現(xiàn)有軟件的可用性確定技術(shù)可行性對系統(tǒng)規(guī)模進(jìn)行快速估算創(chuàng)建“范圍定義”結(jié)束任務(wù)1的任務(wù)定義這些任務(wù)和用過程設(shè)計語言進(jìn)行細(xì)化時所標(biāo)注的子任務(wù)共同構(gòu)成了制定“確定概念范圍”這一活動的詳細(xì)進(jìn)度表的基礎(chǔ)。*
FTR表示此需要進(jìn)行一正式技術(shù)評審定義任務(wù)網(wǎng)絡(luò)25定義任務(wù)網(wǎng)絡(luò)26單個任務(wù)和子任務(wù)之間存在順序上的相互依賴關(guān)系。而且,當(dāng)有多人參與軟件工程項目時,多個開發(fā)活動和任務(wù)并行進(jìn)行的可能性很大。在這種情況下,必須協(xié)調(diào)多個并發(fā)任務(wù),以保證它們能夠在后繼任務(wù)需要其工作成果之前完成。定義任務(wù)網(wǎng)絡(luò)任務(wù)網(wǎng)絡(luò),也稱為活動網(wǎng)絡(luò),是一個項目的任務(wù)流程的圖形表示。有時將任務(wù)網(wǎng)絡(luò)作為在自動項目進(jìn)度安排工具中輸入任務(wù)序列和依賴關(guān)系的機(jī)制。最簡單的任務(wù)網(wǎng)絡(luò)形式(當(dāng)創(chuàng)建宏觀進(jìn)度表時使用)只描述主要的軟件工程任務(wù),圖5-2顯示了一個概念開發(fā)項目的任務(wù)網(wǎng)絡(luò)示意圖。圖5-2概念開發(fā)項目的任務(wù)網(wǎng)絡(luò)27定義任務(wù)網(wǎng)絡(luò)28軟件工程活動的并發(fā)本質(zhì)導(dǎo)致了在進(jìn)度安排上有很多要求。由于并行任務(wù)是異步發(fā)生的,所以計劃者必須確定任務(wù)之間的依賴關(guān)系,以保證項目朝著最終完成的方向持續(xù)發(fā)展。另外,項目管理者應(yīng)該注意那些位于關(guān)鍵路徑之上的任務(wù),也就是說,為了保證整個項目的如期完成,就必須保證這些任務(wù)能夠如期完成。圖5-2中所示的任務(wù)網(wǎng)絡(luò)是宏觀的。詳細(xì)的任務(wù)網(wǎng)絡(luò)(詳細(xì)進(jìn)度表的前身)中應(yīng)該對圖5-2所示的各個活動加以擴(kuò)展。例如,應(yīng)該擴(kuò)展任務(wù)1.1,以顯示之前小節(jié)中所述的任務(wù)求精中的所有詳細(xì)任務(wù)。進(jìn)度安排29進(jìn)度安排30軟件項目的進(jìn)度安排與任何其他多任務(wù)工程工作的進(jìn)度安排幾乎沒有差別。因此,通用的項目進(jìn)度安排工具和技術(shù)不必做太多修改就可以應(yīng)用于軟件項目。程序評估和復(fù)審技術(shù)(
program
evaluation
and
review
technique,PERT
)和關(guān)鍵路徑方法(
critical
path
method,CPM
)就是兩種可以用于軟件開發(fā)的項目進(jìn)度安排方法。這兩種技術(shù)都是由早期項目計劃活動中已經(jīng)產(chǎn)生的信息來驅(qū)動的,這些信息包括:工作量的估算。產(chǎn)品功能的分解。適當(dāng)過程模型和任務(wù)集的選擇。任務(wù)的分解。任務(wù)之間的依賴關(guān)系可以使用任務(wù)網(wǎng)絡(luò)來定義。任務(wù),有時也稱作項目的工作分解結(jié)構(gòu)(workbreaddown
stucture,WBS),其定義可以是針對整個產(chǎn)品,也可以是針對單個功能進(jìn)行的。進(jìn)度安排31PERT和CPM兩種方法都是項目工作定量劃分的工具,可以使軟件計劃者完成:
(1)確定關(guān)鍵路徑—決定項目工期的任務(wù)鏈;(2)通過使用統(tǒng)計模型為單個任務(wù)建立“最有可能”的時間估算;
(3)計算為特定任務(wù)定義其時間“窗口”的“邊界時間”。32進(jìn)度安排33在創(chuàng)建軟件項目進(jìn)度表時,計劃人員將從一組任務(wù)(工作分解結(jié)構(gòu))入手。如果使用自動工具,就可以用任務(wù)網(wǎng)絡(luò)或者任務(wù)大綱的形式輸入工作分解結(jié)構(gòu),然后為每一項任務(wù)輸入工作量、工期和開始日期。此外,還可以將某些任務(wù)分配給特定的人員。輸入信息之后,就可以產(chǎn)生時序圖(
Timeline
Chart
),也叫做甘特圖(GanttChart)??梢詾檎麄€項目建立一個時序圖,或者,也可以為各個項目功能或各個項目參與者分別建立各自的時序圖。進(jìn)度安排:時序圖進(jìn)度安排表5-3
給出了時序圖的格式,該圖描述了一個字處理軟件產(chǎn)品中“確定概念范圍”任務(wù)的軟件項目進(jìn)度安排。所有的項目任務(wù)(對于“確定概念范圍”)都在左邊的欄中列出。水平條表示每個任務(wù)的工期,同一時段中存在多個水平條時,就代表任務(wù)之間存在并發(fā)。圖中的菱形表示里程碑。進(jìn)度安排:時序圖34進(jìn)度安排進(jìn)度安排:時序圖?
輸入了生成時序圖所需的信息之后,大多數(shù)軟件項目進(jìn)度安排工具都會生成項目表——列出所有項目任務(wù)的表格,項目表中列出了各個任務(wù)的開始與結(jié)束日期及各種相關(guān)信息(圖5-4)。通過項目表與時序圖,項目管理者就可以跟蹤項目的進(jìn)展情況。圖5-4一個項目表(也稱資源表)的例子35進(jìn)度安排36項目進(jìn)度表為軟件項目管理者提供了一張進(jìn)度路線圖。如果制定正確,項目進(jìn)度表中應(yīng)該能夠確定在項目進(jìn)展過程中進(jìn)行跟蹤和控制的任務(wù)及里程碑。項目跟蹤可以通過以下方式實現(xiàn):定期舉行項目狀態(tài)會議,由項目團(tuán)隊中的各個成員分別報告進(jìn)度和存在問題。評估所有在軟件工程過程中所進(jìn)行的評審的結(jié)果。判斷正式的項目里程碑是否在預(yù)定日期內(nèi)完成。比較項目表中列出的各項任務(wù)的實際開始日期與計劃開始日期。與開發(fā)者進(jìn)行非正式會談,獲取他們對項目進(jìn)展及可能出現(xiàn)的問題的客觀評估通過分析掙值來定量地評估項目進(jìn)展。進(jìn)度安排:跟蹤進(jìn)度進(jìn)度安排37在面對交付期限的巨大壓力時,有經(jīng)驗的項目管理者有時會使用一種稱為“時間盒”的項目進(jìn)度安排和控制技術(shù)。時間盒方法認(rèn)為完整的產(chǎn)品可能難以在預(yù)定時間內(nèi)交付,因此,應(yīng)該選擇增量軟件開發(fā)范型,并為每個增量的交付制定各自的進(jìn)度表。接著,對與每個增量相關(guān)的任務(wù)實行時間盒技術(shù)。也就是按該增量的交付日期向后進(jìn)行推算來調(diào)整每項任務(wù)的進(jìn)度。將各個任務(wù)放入相應(yīng)的“盒子”中,當(dāng)一個任務(wù)觸及其時間盒邊界時(正負(fù)10%的范圍內(nèi)),則該項任務(wù)停止,下一任務(wù)開始。對時間盒方法的最初反應(yīng)通常是消極的:“如果工作尚未完成,我們該如何繼續(xù)?”問題的答案在于完成工作的方式。當(dāng)遇到時間盒的邊界時,很可能已經(jīng)完成了任務(wù)的90%,余下的10%工作盡管重要,但是可以(1)被推遲到下一個增量中;或(2)在以后需要時再完成。項目朝著交付日期推進(jìn),而不是“卡”在某項任務(wù)上。進(jìn)度安排:跟蹤進(jìn)度進(jìn)度安排38雖然迭代模型是最好的OO項目框架,但是,任務(wù)的并行性使得OO項
目很難跟蹤。困難在于項目管理者很難為OO項目建立有意義的里程碑,因為很多不同事物都是同時發(fā)生的。通常,有相應(yīng)的準(zhǔn)則來衡量下列主
要的里程碑是否已經(jīng)“完成”。進(jìn)度安排:跟蹤OO項目的進(jìn)展進(jìn)度安排39進(jìn)度安排:跟蹤OO項目的進(jìn)展技術(shù)里程碑:OO分析完成已經(jīng)定義和評審了所有的類和類層次。已經(jīng)定義和評審了與每一個類相關(guān)的屬性和操作。已經(jīng)建立和評審了各類之間的關(guān)系。已經(jīng)建立和評審了行為模型。已經(jīng)確定可復(fù)用的類。進(jìn)度安排40進(jìn)度安排:跟蹤OO項目的進(jìn)展技術(shù)里程碑:OO設(shè)計完成已經(jīng)確定和評審了子系統(tǒng)集合。各類已經(jīng)分配給相應(yīng)的子系統(tǒng),并且已經(jīng)通過評審。已經(jīng)建立和評審了任務(wù)分配。已經(jīng)明確責(zé)任和協(xié)作。已經(jīng)設(shè)計和評審了屬性和操作。已經(jīng)創(chuàng)建和評審了通信模型。進(jìn)度安排41進(jìn)度安排:跟蹤OO項目的進(jìn)展技術(shù)里程碑:OO程序設(shè)計完成按照設(shè)計模型,每一個新類都已經(jīng)編碼實現(xiàn)。(從可復(fù)用庫中)提取的類已經(jīng)實現(xiàn)。已經(jīng)構(gòu)建了原型或增量進(jìn)度安排42進(jìn)度安排:跟蹤OO項目的進(jìn)展技術(shù)里程碑:OO測試已經(jīng)評審了OO分析和設(shè)計模型的正確性和完整性。已經(jīng)建立和評審了類-責(zé)任-協(xié)作網(wǎng)絡(luò)。已經(jīng)設(shè)計了測試用例,并且已經(jīng)對每個類進(jìn)行了類級測試。已經(jīng)設(shè)計了測試用例,并且已經(jīng)完成簇測試,已經(jīng)完成類的集成。已經(jīng)完成系統(tǒng)級測試。進(jìn)度安排建立OO過程模型是迭代方式進(jìn)行的,在交付不同的增量給用戶時,上述的每一個里程碑都可以進(jìn)行修訂。進(jìn)度安排:跟蹤OO項目的進(jìn)展43掙值分析44掙值分析45在“進(jìn)度安排”小節(jié)中討論了一系列項目跟蹤的定性方法,為項目管理者提供了項目進(jìn)展情況的指標(biāo)。但是,對所提供信息的評估在某種程序上是主觀的。那么當(dāng)軟件團(tuán)隊按項目進(jìn)度表實施工作任務(wù)時,是否存在某種定量的技術(shù)來評估項目進(jìn)展情況呢?掙值分析46事實上,存在一種用于項目進(jìn)展的定量分析技術(shù),稱為掙值分析(earned
valueanalysis,EVA)。不管要完成何種類型的工作,掙值系統(tǒng)為每個(軟件項目)任務(wù)提供了通用的值尺度,可以估算完成整個項目所需要的總小時數(shù),并且可以根據(jù)各個任務(wù)所估算的小時數(shù)占總小時數(shù)的百分比來確定該任務(wù)的掙值。--Humphrey[HUM
95]簡單地說,掙值是對項目進(jìn)展的測量。它使得計劃者能夠不依賴于感覺,采用定量的分析方法來評估一個項目的“完成百分比”。掙值分析47確定掙值的步驟:1.
為進(jìn)度表中的每個工作任務(wù)確定其預(yù)計工作的預(yù)算成本(budgeted
cost of
workscheduled,BCWS)。在估算過程中,要計劃每個軟件工程任務(wù)的工作量(以人時或人日為單位),因此,BCWSi是指工作任務(wù)i的計劃工作量。為了確定在項目進(jìn)度表中某特定時間點的項目進(jìn)展?fàn)顩r,BCWS的值是在項目進(jìn)度表中該時間點應(yīng)該完成的所有工作任務(wù)的BCWSi值之和。掙值分析確定掙值的步驟:3. 接著,可計算已完成工作的預(yù)算成本(budgetedcostofworkperformed,BCWP)。BCWP的值是在項目進(jìn)度表中該時間點已經(jīng)實際完成的所有工作任務(wù)的BCWS值之和。48掙值分析49BCWS和BCWP的不同點是,前者表示計劃將完成的工作的預(yù)算,而后表示已經(jīng)實際完成的工作的預(yù)算。給定BCWS、BAC和BCWP的值,就可以得出相關(guān)的項目進(jìn)展指標(biāo):進(jìn)度表執(zhí)行指標(biāo)
SPI
=
BCWP
/
BCWS進(jìn)度表偏差
SV
=
BCWS-
BCWS其中,SPI是效率指標(biāo),指出項目使用預(yù)定資源的效率,SPI值越接近1.0說明項目的執(zhí)行效率越高。SV只表示與計劃進(jìn)度的偏差。預(yù)定完成百分比
= BCWS
/
BAC(表示在時間點t應(yīng)該完成工作的百分比值)完成百分比=BCWP/BAC(表示在特定時間點t實際完成工作的百分比值)掙值分析50也可以計算出已完成工作的實際成本(actual
cost
of
work
performed,ACWP)。ACWP的值是在項目進(jìn)度表中某時間點已經(jīng)完成的工作任務(wù)的實際工作量之和。然后,再計算:成本執(zhí)行指標(biāo)CPI=BCWP/ACWP成本偏差CV=BCWP-ACWPCPI值越接近1.0說明項目與預(yù)算越接近。CV表示在項目特定階段的成本節(jié)?。ㄏ鄬τ谟媱澇杀荆┗蚨倘?。掙值分析在可能出現(xiàn)問題之前就指出了進(jìn)度安排的難點,這使得軟件項目管理者能夠在項目危機(jī)出現(xiàn)前采取有效措施。小結(jié)51計劃活動是軟件項目管理的重要組成部分,而進(jìn)度安排是計劃活動的首要活動。進(jìn)度安排與估算方法及風(fēng)險相結(jié)合,可以為項目管理者畫出一張路線圖。進(jìn)度安排始于過程分解。根據(jù)項目特性,為將要完成的工作選擇適當(dāng)?shù)娜蝿?wù)集。任務(wù)網(wǎng)絡(luò)描述了各項工作任務(wù)、每一項任務(wù)與其他任務(wù)之間的依賴關(guān)系以及計劃工期。任務(wù)網(wǎng)絡(luò)可以用來確定項目的關(guān)鍵路徑、時序圖以及各種項目信息。以進(jìn)度表為指導(dǎo),項目管理者可以跟蹤和控制軟件工程過程中的每一個步驟。思考題521.
假設(shè)你是一個軟件項目管理者,受命為一個小型軟件項目進(jìn)行掙值統(tǒng)計。這個項目共計劃了56個工作任務(wù),估計需要582人日才能完成,但是,按照項目進(jìn)度,現(xiàn)在應(yīng)該完成15個任務(wù),下面(在下一頁中)給出相關(guān)進(jìn)度安排數(shù)據(jù)(單位:人日),請你做出掙值分析。計算該項目的進(jìn)度表執(zhí)行指標(biāo)SPI、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度涂料質(zhì)量保證與產(chǎn)品創(chuàng)新服務(wù)合同3篇
- 2025年冀少新版必修1化學(xué)上冊階段測試試卷
- 2025年滬教版七年級物理上冊月考試卷含答案
- 2025年浙教版七年級英語上冊月考試卷
- 2025年人教新起點高一物理下冊階段測試試卷
- 小學(xué)生科學(xué)記憶法在數(shù)學(xué)競賽中的應(yīng)用
- 2025年華師大版九年級化學(xué)下冊階段測試試卷含答案
- 2025年魯科五四新版選擇性必修3生物下冊月考試卷含答案
- 2025年智能交通信號燈控制系統(tǒng)采購及安裝合同3篇
- 二零二五年度通信基站安裝工程合同規(guī)范2篇
- 律所標(biāo)書模板
- 安徽省合肥市包河區(qū)四十八中學(xué)2023-2024學(xué)年數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 美術(shù)概論-課件
- 危險化學(xué)品安全監(jiān)管執(zhí)法培訓(xùn)課件
- 保潔供方管控要點
- 空氣源熱泵冷暖空調(diào)、熱水項目施工方案
- 《行政組織學(xué)》期末復(fù)習(xí)指導(dǎo)
- 基于深度學(xué)習(xí)的醫(yī)學(xué)圖像增強(qiáng)與生成
- 2023《樓體亮化工程施工合同》電子版
- 2023取卵術(shù)相關(guān)風(fēng)險及處理對策
- 跌倒-墜床不良事件魚骨圖分析
評論
0/150
提交評論