10.6案例六:項目估算
閱讀以下關(guān)于信息系統(tǒng)項目管理過程中綜合性管理問題的敘述,回答問題1至問題3。
10.6.1案例場景
軟件項目開發(fā)通常用LOC (line of Code)衡量項目規(guī)模,中培信息技術(shù)有限公司(Z公司)經(jīng)過多年的開發(fā),積累了一定的經(jīng)驗數(shù)據(jù),經(jīng)過分析統(tǒng)計發(fā)現(xiàn)公司每一萬行C語言源代碼形成的源文件(.c和.h文件)約為250KB。
現(xiàn)公司承接某一項目,該項目源文件大小為3.75MB,項目累計投入工作量為240人月,每人月費用為10000元(包括人均工資、福利以及辦公費用分攤等)。
現(xiàn)項目經(jīng)理小丁帶領(lǐng)的項目組承接該項目,經(jīng)過研究,項目組把該軟件開發(fā)項目分為了需求分析、設(shè)計編碼、測試和安裝部署等4個活動,各個活動順序進行,沒有時間上的重疊,活動的完成時間估計如表10-4所示。
【問題1】(8分)
請計算該項目中1個LOC的價值以及項目的人月均代碼行數(shù)?
【問題2】(8分)
項目在開發(fā)中,需要使用一些組件,這些組件估計有10000行代碼,假定30%需要重新設(shè)計,50%需要重新編碼,70%需要重新測試,請問項目經(jīng)理該如何安排人力資源的投入?
【問題3】(9分)
請為項目組計算軟件開發(fā)中各項活動的時間和項目周期。
10.6.2案例分析
【問題1】
軟件開發(fā)的工作量和工期的估算歷來比較復(fù)雜,因為軟件本身的復(fù)雜性、歷史經(jīng)驗的缺乏、估算工具的缺乏,以及一些人為的錯誤,導(dǎo)致軟件項目的規(guī)模估算往往和實際情況相差甚遠,因此,估算錯誤被列入軟件項目失敗的4大原因之一。
軟件項目開發(fā)通常用LOC (line of Code)衡量項目規(guī)模,LOC指所有可執(zhí)行的源代碼行數(shù),包括可交付的語句、數(shù)據(jù)定義、數(shù)據(jù)類型聲明、等價聲明及輸入/輸出格式聲明等。項目經(jīng)理可以根據(jù)對歷史項目的審計來核算組織的單行代碼值。
本題考察項目進度控制中的工作量和工期的估計。對于問題1:可以直接通過計算而得。
估計項目源文件大小為3.75MB,則可估計該項目源代碼大約為15萬行。該項目中1個LOC的價值為:
(240 ×10000)÷150000=16元/LOC
該項目的人月均代碼行數(shù)為:150000÷240 = 625 LOC/人月
項目工作量和工期的估計,通常采用下面幾種方法。
(1) Delphi法
Delphi法是比較流行的專家評估技術(shù),適用于沒有歷史數(shù)據(jù)的情況下,評定過去和將來,以及新技術(shù)與特定程序之間的差別。
Delphi法的步驟如下:
(1)協(xié)調(diào)人向?qū)<姨峁╉椖恳?guī)格和估計表格。
(2)協(xié)調(diào)人召集小組會由專家討論與規(guī)模相關(guān)的因素。
(3)專家匿名填寫迭代表格。
(4)協(xié)調(diào)人整理出一個估計總結(jié),以迭代表形式返回專家。
(5)協(xié)調(diào)人召集小組會,討論較大的估計差異。、
(6)專家復(fù)查估計總結(jié)并在迭代表上提交另一個匿名估計。
(7)重復(fù)(4)一(6),直到達到一個最低和最高估計的一致。
(2)類比法
類比法適合評估一些與歷史項目在應(yīng)用領(lǐng)域、環(huán)境和復(fù)雜度方面相似的項目,通過新項目與歷史項目的比較得到規(guī)模估計。該方法估計結(jié)果的精確度取決于歷史項目數(shù)據(jù)的完整性和準確度,因此用好類比多發(fā)前提條件之一是建立較好的項目后評價與分析機制;并且對歷史項目的數(shù)據(jù)分析是可信賴的。
其基本步驟如下:
①整理項目功能列表和實現(xiàn)每個功能的代碼行;
②標識每個功能列表與歷史項目的相同點與不同點,特別要注意歷史項目做得不夠的地方。
③通過步驟(1)和(2)得出各個功能的估算值;
④產(chǎn)生規(guī)模估計。
軟件項目中用類比法,往往還要解決可重用代碼量的估算問題。估計的最好方法就是由程序員或系統(tǒng)分析員詳細地考察代碼,估算出新項目可重用代碼中需重新設(shè)計、需要重新編碼或修改,以及需要重新測試的代碼百分比,根據(jù)這3個百分比,可用下面計算公式計算等價新代碼行:
[(重新設(shè)計%+重新編碼%+重新測試%) ÷3]=已有代碼行
對于問題2:
10000行代碼,假定30%需要重新設(shè)計,50%需要重新編碼,70%需要重新測試,那么其等價的代碼行可以計算為:
[(30%+50%+70%)÷3]×10000=5000等價代碼行
根據(jù)該項目的人月均代碼行數(shù)為625LOC/人月,則需投入人力為5000÷625=76.9人月。
(3)功能點估計法
功能點測量是在需求分析階段基于系統(tǒng)功能的一種規(guī)模估計方法,通過研究初始應(yīng)用需求來確定各種輸入、輸出。計算和數(shù)據(jù)庫需求的數(shù)量和特性。
通常步驟如下:
(1)計算輸入、輸出、查詢、主控文件和接口需求的數(shù)目。
(2)將這些數(shù)據(jù)進行加權(quán)乘。
(3)估計者對復(fù)雜度的判斷,總數(shù)可以用+25%, 0,或一25%調(diào)整。
【問題3】
進度控制有兩個過程:一個是計劃,一個是跟蹤調(diào)整。進度計劃需要兩個比較關(guān)鍵的數(shù)據(jù):一個是WBS,一個是估計工期。估計工期一般來說可以根據(jù)分項的工時消耗情況與資源配置情況綜合得出,WBS則需要一些經(jīng)驗。這一部分工作不但是進度管理需要,而且是成本管理、質(zhì)量管理的重要前提。
活動時間估計指預(yù)計完成各活動所需時間長短,在項目團隊中熟悉該活動特性的個人和小組可對活動所需時間做出估計。估計完成某活動所需時間長短要考慮該活動“持續(xù)”所需時間。
活動所需時間估計的工具和方法主要有:
(1)專家評審。通常是要對這個項目的投入進行評估的。像這種專家評價,可以通過一個組織或擁有特殊知識和受了專門培訓(xùn)的個人來進行。
估計所需時間經(jīng)常是困難的,幾因為許多因素會影響所需時間(例如,資源質(zhì)量的高低,勞動生產(chǎn)率的不同),只要可能,專家會依靠過去資料信息進行判斷。如果找不到合適專家,估計結(jié)果往往是不可靠和具有較大風險。
(2)類推估計。它意味利用一個先前類似活動的實際時間作為估計未來活動時間的基礎(chǔ),在以下情況下這種方法常用于估計項目活動所需時間:只有很有限的關(guān)于項目的資料和信息。(例如在早期)類推分析是專家判斷的一種形式,以下情況下類推估計是可靠的:
.先前活動和當前活動是本質(zhì)上類似,而不僅僅是表面相似。
.專家有所需專長。
(3)仿真。仿真是用不同的假設(shè)來計算相應(yīng)的時間,最常見的是蒙特·卡羅方法。在這種方法中,假設(shè)了各活動所用時間的概率分布,以用來計算整個項目完成所需時間的概率分布。
本題采用三點估算方法:
首先,所需時間Di采用所謂的三點估計的方法。在估計所需時間時,計算下屬三個值。
正常所需時間Mi, 樂觀估計時間ai, 悲觀估計時間bi
此時,期望值Di為 Di=1/6 × (4Mi+ai+bi)。
其方差為:σ2i=[1/6 ×(bi一ai)]2。
10.63參考答案
【問題1】(8分)
該項目中1個LOC的價值為:(240 ×10000)÷150000=16元/LOC。
該項目的人月均代碼行數(shù)為:150000÷240 = 625 LOC/人月。
【問題2】(8分)
[(30%+50%+70%)÷3]× 10 000=5000等價代碼行
根據(jù)該項目的人月均代碼行數(shù)為625 LOCI人月,則需投入人力為5000÷625=76.9人月。
【問題3】(9分)
根據(jù)公式Ti=(4mi+ai+bi) /6,其中,ai表示第i項活動的樂觀時間,mi表示第i項活動的最可能時間,bi表示第i項活動的悲觀時間。
T需求分析=(7+4×11+15)÷6=11 T設(shè)計編碼=(14+4×20+32)÷6=21
T測試=(5+4×7+9)÷6=7 T安裝部署=(5+4×15+13)÷6 =13
所以,項目完成時間t的期望值T為:T =11+21+7+13=52天。
想了解更多IT資訊,請訪問中培偉業(yè)官網(wǎng):中培偉業(yè)