您的位置:軟件測試 > 軟件項目管理 > 進(jìn)度管理 >
進(jìn)度管理:軟件開發(fā)周期估算及探討
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/11/1 9:07:41 ] 推薦標(biāo)簽:

1.概述

  軟件開發(fā)周期估算是IT人員經(jīng)常提到的一個概念,那么究竟什么是軟件開發(fā)周期估算呢?我們可以把它定義如下:根據(jù)軟件的開發(fā)內(nèi)容、開發(fā)工具、開發(fā)人員等因素對需求調(diào)研、程序設(shè)計、編碼、測試等整個開發(fā)過程所花費(fèi)的時間做的預(yù)測。在這個定義中,“預(yù)測”兩個字非常關(guān)鍵,它突出體現(xiàn)了估算的含義,同時也隱含表明了結(jié)果的不確定性。有效的軟件開發(fā)周期估算在軟件開發(fā)中是非常困難的工序之一,之所以說困難,是因為軟件開發(fā)所涉及的因素不僅多而且異常復(fù)雜,即便是及其類似的軟件項目也不能完全照搬,在估算的把握上有一定難度。估算也是軟件開發(fā)中很重要的一個環(huán)節(jié),如果低估項目周期會造成人力低估、成本預(yù)算低估、日程過短,終人力資源耗盡,成本超出預(yù)算,為完成項目不得不趕工,影響項目質(zhì)量,甚至導(dǎo)致項目失敗。項目周期估計過長表面看來影響不大,但是實際上也會帶來成本估計過高,人力資源利用不充分效率低下的后果。無論哪種情況對于項目經(jīng)理控制整個項目都會帶來很大影響,周期估算如同蓋樓房中打地基,是后續(xù)工作的基礎(chǔ),它完成質(zhì)量的好壞所帶來的影響會貫穿整個項目,由此可見開發(fā)周期正確估算的重要性。

2.國內(nèi)外軟件估算比較

  國內(nèi)軟件開發(fā)的管理目前正逐步向規(guī)范化發(fā)展,但是在開發(fā)周期的估算上絕大部分還是處于手工作坊的狀態(tài)。所謂的手工作坊指兩個方面,一方面是管理人員意識上沒有認(rèn)識到估算的重要性,認(rèn)為估算是一個大概的估計,很多還受限于商業(yè)行為,比如為了簽訂合同而不惜減少開發(fā)工作量卻未經(jīng)任何評審;另一方面也沒有專門的工具來輔助估算,或者說沒有專門對它進(jìn)行研究。一個軟件開發(fā)周期究竟要多長基本上是依靠經(jīng)驗來判斷,不同經(jīng)驗的人估算出的周期相差很大,而更糟糕的是這種開發(fā)周期的判斷由于完全憑借經(jīng)驗使得不同意見的人之間很難溝通,因為誰都沒有確切的量化標(biāo)準(zhǔn)來支持自己的判斷,終的結(jié)果往往是以“專家”的估算為準(zhǔn)。這有些類似于中式烹調(diào),放多少作料沒有依據(jù),一般都是“少許”,這個“少許”靠的是經(jīng)驗,高級廚師和新手根據(jù)這個量炒出的菜味道可能差得很遠(yuǎn);實際上國內(nèi)的軟件開發(fā)需要的正是定量估算,這樣做不僅規(guī)范而且精確,十分有助于軟件事業(yè)的健康發(fā)展以及與國際接軌。

  國外發(fā)達(dá)在軟件估算上比國內(nèi)要成熟的多,不僅有很多先進(jìn)方法比如代碼行估算法、功能點(diǎn)估算法、人力估算法,而且形成了專業(yè)化的估算工具來輔助這項工作,比如微軟公司開發(fā)的項目管理工具軟件Project,加拿大Software Productivity Center Inc.公司開發(fā)的Estimate,都是比較成熟的估算輔助工具。Project采用了自下而上的估算法,Estimate更是屬于專業(yè)化工具,包含常用的各種估算方法、校正方法,使用了Putnam Methodology、Cocomo II和 Monte Carlo Simulation幾種成熟算法,估算結(jié)果除了項目花費(fèi)時間、人力,還包括十幾種分析報告以及模擬發(fā)散圖、計劃編制選項圖、人力圖、預(yù)計缺陷圖、缺陷方差圖等等,從各種不同角度輔助管理人員進(jìn)行分析。

  采用輔助工具對軟件開發(fā)周期進(jìn)行估算具有明顯的優(yōu)勢,這些輔助工具是在大量不同類型項目數(shù)據(jù)研究的基礎(chǔ)上總結(jié)開發(fā)出來的,采用的算法、估算的方法已經(jīng)很成熟,估算結(jié)果的準(zhǔn)確性有保障,由于這種估算是可以量化的,并非依據(jù)個人經(jīng)驗直接得出一個結(jié)果,在結(jié)果的評審上有據(jù)可依。長期依靠工具輔助估算可以將大量項目的數(shù)據(jù)和估算結(jié)果積累形成歷史經(jīng)驗庫,知識成果得以保存,便于以后利用。

3. 軟件估算中的因素探討

  軟件開發(fā)是一項非常復(fù)雜的工程,不僅包含需求分析、設(shè)計、編碼、測試、實施、維護(hù)等完整的過程,還涉及到開發(fā)工具、開發(fā)人員、項目管理、風(fēng)險等眾多因素,不同因素對估算產(chǎn)生的影響不盡相同,在進(jìn)行軟件估算時(包括利用工具輔助估算)必須考慮到這些方面,否則終結(jié)果會和實際結(jié)果有很大的偏差,影響項目控制,以下對其中幾個常見的因素做一些探討。

3.1估算與軟件規(guī)模

  軟件規(guī)模通常指的是軟件的大小,這可以通過不同的方式來描述,比如程序代碼行的長度、功能函數(shù)的數(shù)量、數(shù)據(jù)庫中表的數(shù)量、數(shù)據(jù)庫的大小等等。一般而言軟件規(guī)模越大,所花費(fèi)的開發(fā)周期越長,但這并不是一個簡單的線形函數(shù)關(guān)系,下表詳細(xì)列舉了實際開發(fā)中的一些數(shù)據(jù),開發(fā)平臺為Lotus Domino/Notes。

 

序號
模塊
開發(fā)周期(中級程序員)
代碼行長度
數(shù)據(jù)庫大小(無數(shù)據(jù))
1
辦事指南
0.25人月
300
1170K
2
名片簿
0.25人月
300
1039K
3
合同管理
0.25人月
460
2110K
4
物控管理
0.5人月
850
2560K
5
組織機(jī)構(gòu)
0.5人月
900
1318K
6
流程管理
0.8人月
1000
2304K
7
公告板
0.5人月
1400
2560K
8
人事管理
1人月
1800
3840K
9
公文管理
1.8人月
2500
2304K
10
事務(wù)審批
1.5人月
3750
2110K
11
考勤管理
1.8人月
4800
3840K
12
資源管理
1.8人月
5800
3840K
13
會議管理
2.5人月
11000
4608K

表一:單個模塊的開發(fā)周期

 

軟件項目
開發(fā)周期
包含的模塊
備注
某政府客戶
3人月
10個
定制開發(fā)量較小
某媒體客戶
6人月
17個
有3個模塊完全重新開發(fā)
某金融客戶
10人月
14個
80%完全重新開發(fā)
某保險客戶
16人月
18個
完全重新開發(fā)

表二:軟件項目的開發(fā)周期

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd