您的位置:軟件測試 > 軟件項目管理 > 項目管理綜合 >
項目規(guī)模估算失準(zhǔn) 軟件開發(fā)成空中樓閣
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/5/2 15:27:09 ] 推薦標(biāo)簽:

軟件項目的估算歷來是比較復(fù)雜的事,因為軟件本身的復(fù)雜性、歷史經(jīng)驗的可重復(fù)性、估算工具的缺乏以及一些人為錯誤,都會導(dǎo)致軟件項目的估算往往和實際情況相差甚遠(yuǎn)。據(jù)有關(guān)機(jī)構(gòu)調(diào)查發(fā)現(xiàn),約有60%的軟件項目的失敗是因為估算偏差引起的,而不是因為技術(shù)實力不夠。因此,估算偏差已被列為軟件項目失敗的四大原因之一。

從軟件工程學(xué)上,我們知道軟件需求和估算是軟件項目的基礎(chǔ)。因為只有準(zhǔn)確的了解客戶的需求,以之為基礎(chǔ),并使用科學(xué)的方法對目標(biāo)軟件系統(tǒng)的規(guī)模、工作量和進(jìn)度做出合理的估算,我們才能在預(yù)算內(nèi)按時按質(zhì)順利的完成項目。然而,軟件估算作為軟件項目的基礎(chǔ)領(lǐng)域卻常常被人們所忽視。我在近期的一個開發(fā)項目中嘗到忽視軟件規(guī)模估算帶來的苦果,結(jié)果是項目進(jìn)行到一半時發(fā)現(xiàn)不但工期嚴(yán)重滯后于計劃,而且項目的各種資源也嚴(yán)重的不足和缺乏,項目被迫暫停下馬。

常見的項目規(guī)模估算失準(zhǔn)原因

一直以來,軟件項目的規(guī)模估算(Size Estimation)是個爭論不休的問題。不論是對軟件開發(fā)團(tuán)隊還是對軟件用戶,軟件規(guī)模估算的重要性都是不容置疑的。因為它能極大的影響著甲方對發(fā)包軟件的成本估算,乙方對自身開發(fā)成本的預(yù)測,以及乙方對開發(fā)過程的量化管理等諸多方面。而且,只有相對合理和相對準(zhǔn)確地估算軟件規(guī)模,才能對項目的進(jìn)度安排、資源分配等各個環(huán)節(jié)進(jìn)行合理的部署。所以,軟件項目的規(guī)模估算是軟件項目中相當(dāng)重要的一環(huán)。但是,以下的原因卻使到我在這次項目的實際操作中對項目規(guī)模估算失準(zhǔn)了:

(1)對項目規(guī)模估算認(rèn)識不足

項目規(guī)模估算一般分為兩種應(yīng)用場景:一是招投標(biāo)的時候用來估價、報價;二是用來安排進(jìn)度計劃和指導(dǎo)項目具體工作的分配。因此,如果對規(guī)模估算認(rèn)識不足的話,將可能會在這兩種應(yīng)用場景中估算失準(zhǔn)。例如,如果項目規(guī)模低估的話會造成人力估算低估、成本預(yù)算低估、日程過短,終人力資源耗盡,成本超出預(yù)算。后為了完成項目不得不趕工,不但會影響到項目質(zhì)量,甚至?xí)䦟?dǎo)致項目失敗。而如果規(guī)模高估的話,會因估價過高而降低了招投標(biāo)時的競爭力,或在進(jìn)度安排時提高了開發(fā)成本和浪費資源。由于對規(guī)模估算的認(rèn)識不足,使到我在這次項目中嘗到一個大苦果,是低估項目規(guī)模導(dǎo)致項目需要多次的追加預(yù)算。我不但多次受到公司領(lǐng)導(dǎo)的批評,而且還受到客戶的多次投訴。

(2)個人經(jīng)驗估算法帶有一定的局限性

一般來說,依靠歷史或個人經(jīng)驗的規(guī)模估算方法都有一定的局限性。原因是很難在項目分析和計劃階段對軟件的規(guī)模進(jìn)行相對準(zhǔn)確的估算。因為估算是依靠評估人員的經(jīng)驗,所以對評估人員的能力要求比較強(qiáng),并且難以由第三方對評估人員的工作偏差作出修正。在這次項目的初期,我片面的只是根據(jù)個人經(jīng)驗進(jìn)行估算,結(jié)果是輕率的估算了項目規(guī)模。這是后導(dǎo)致項目失利的原因之一。另外,不同軟件項目使用的技術(shù)不一樣,這一點也非常影響到軟件規(guī)模的估算。例如同一個功能,使用JAVA語言和使用Ruby語言所涉及的代碼行相差數(shù)十行,甚至數(shù)百行。即使同為JAVA語言,使用不用的框架所需要編寫的代碼行也不一樣。

(3)對項目估算時缺乏數(shù)據(jù)支持

因為在軟件開發(fā)初期時對規(guī)模估算都是很難準(zhǔn)確量化的,所以到底需要多少資源、多長時間或者規(guī)模估算到什么的程度才算是合理的是沒有一個標(biāo)準(zhǔn)的。但一個好的項目估算,是離不開一個準(zhǔn)確的、可信的、客觀的數(shù)據(jù)作為基礎(chǔ)。如果在項目規(guī)模估算時只憑項目管理人員的經(jīng)驗進(jìn)行估算,而缺乏大量的數(shù)據(jù)支持,那么估算終會變成常見的"三拍"現(xiàn)象:"首先是項目經(jīng)理拍腦袋估算,然后是項目經(jīng)理估算失準(zhǔn)時拍馬屁的補(bǔ)救,后是項目失敗時拍屁股走人"。當(dāng)然,這只是個玩笑。不過由此可見項目規(guī)模估算不能只依靠經(jīng)驗來估算,而應(yīng)該是要有大量的數(shù)據(jù)來支持。

什么是軟件項目的規(guī)模估算?

軟件開發(fā)項目管理中的一項重要任務(wù)是開發(fā)項目的規(guī)模估算,這是極其重要但卻很容易被忽視的一項內(nèi)容。因為沒有正確的規(guī)模估算,項目計劃會失去成功的基礎(chǔ)。可惜大部分的開發(fā)團(tuán)隊都很難做到對項目規(guī)模進(jìn)行準(zhǔn)確的估算。

(1)什么是項目規(guī)模估算?

做好軟件項目管理的基礎(chǔ)是要做好項目的規(guī)劃工作,而做好項目規(guī)劃的前提是要做好軟件估算。也是說,是沒有好的軟件估算,項目的規(guī)劃、跟蹤和控制根本無從談起。因此,軟件估算是項目計劃活動的基礎(chǔ)之一。

軟件估算一般是通過主觀經(jīng)驗和客觀分析兩種方法進(jìn)行,包括有四個重要方面:規(guī)模估算、工作量估算、進(jìn)度估算和成本估算。其中,對規(guī)模進(jìn)行估算是為了將項目范圍進(jìn)行量化。規(guī)模估算是整個軟件估算中核心、基礎(chǔ)的環(huán)節(jié),也是整個軟件估算的第一步。規(guī)模估算有兩個主要作用:一是通過規(guī)模估算建立項目基線;二是利用基線對項目生產(chǎn)率和狀態(tài)進(jìn)行評價,并確定軟件過程的進(jìn)度目標(biāo)。也是說,規(guī)模估算是一切估算的基礎(chǔ),是能直接決定和影響到其它三個估算的決策。

(2)常用的軟件規(guī)模估算方法

估算是建立在客觀事實上對未來可能發(fā)生的事情的一種合理性預(yù)測。估算本身的不確定性,決定了它不可能是百分之百準(zhǔn)確無誤的,但是依據(jù)某種方法進(jìn)行合理估計顯然比瞎猜好得多。軟件估算方法有很多,大致分為基于技術(shù)分解模型和基于經(jīng)驗?zāi)P蛢纱箢。目前基于技術(shù)分解模型的方法有:功能點估算法、LOC估算法、MARK II等;基于經(jīng)驗?zāi)P偷姆椒ㄓ校篒BM模型、普特南模型、COCOMO模型等。目前基于技術(shù)分解的常用方法是FP功能點估算法和LOC代碼行估算法。本文重點介紹這兩種方法。

①FP功能點法

功能點分析法 (FPA:Function Point Analysis) 是一種相對抽象的方法,是一種人為設(shè)計的估算方式。它是從系統(tǒng)的復(fù)雜性和系統(tǒng)的特性這兩個角度來估算系統(tǒng)的規(guī)模,它的關(guān)注點在于程序的"功能性"和"實用性",是對軟件和軟件開發(fā)過程的間接估算。初是由 IBM 工程師艾倫艾爾布策提出的,隨后被IFPUG 方法繼承,是目前國際上主流的軟件規(guī)模估算方法。

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