現(xiàn)在市場上要論占比比較大的行業(yè),軟件研發(fā)必不可少,不少企業(yè)都會進行app或小程序等相關(guān)功能性IT產(chǎn)品的研發(fā)。與其它實業(yè)型項目相比,軟件項目的估算歷來是比較復(fù)雜的事。因為軟件本身的復(fù)雜性、歷史經(jīng)驗的可重復(fù)性、估算工具的缺乏以及一些人為錯誤,都會導(dǎo)致軟件項目的估算往往和實際情況相差甚遠。
所以,軟件項目的規(guī)模估算是軟件項目中相當(dāng)重要的一環(huán)。那么下面就討論下,造成軟件項目規(guī)模估算失準(zhǔn)的原因有哪些。
一、認(rèn)識不足而失準(zhǔn)
項目規(guī)模估算一般分為兩種應(yīng)用場景:一是招投標(biāo)的時候用來估價、報價;二是用來安排進度計劃和指導(dǎo)項目具體工作的分配。
因此,如果對規(guī)模估算認(rèn)識不足的話,將可能會在這兩種應(yīng)用場景中估算失準(zhǔn)。例如,如果項目規(guī)模低估的話就會造成人力估算低估、成本預(yù)算低估、日程過短,最終人力資源耗盡,成本超出預(yù)算。
另外,為了完成項目不得不趕工,不但會影響到項目質(zhì)量,甚至?xí)?dǎo)致項目失敗。而如果規(guī)模高估的話,就會因估價過高而降低了招投標(biāo)時的競爭力,或在進度安排時提高了開發(fā)成本和浪費資源。
二、經(jīng)驗算法有局限
一般來說,依靠歷史或個人經(jīng)驗的規(guī)模估算方法都有一定的局限性,原因是很難在項目分析和計劃階段就對軟件的規(guī)模進行相對準(zhǔn)確的估算。
因為估算是依靠評估人員的經(jīng)驗,所以對評估人員的能力要求比較強,并且難以由第三方對評估人員的工作偏差作出修正。在項目的初期,片面的根據(jù)個人經(jīng)驗進行估算,結(jié)果是輕率的估算了項目規(guī)模,這是最后導(dǎo)致項目失利的原因之一。
另外,不同軟件項目使用的技術(shù)不一樣,這一點也非常影響到軟件規(guī)模的估算。例如同一個功能,使用JAVA語言和使用Ruby語言所涉及的代碼行相差數(shù)十行,甚至數(shù)百行,即使同為JAVA語言,使用不用的框架所需要編寫的代碼行也不一樣。
三、估算時缺乏數(shù)據(jù)
因為在軟件開發(fā)初期時對規(guī)模估算都是很難準(zhǔn)確量化的,所以到底需要多少資源、多長時間或者規(guī)模估算到什么的程度才算是合理的是沒有一個標(biāo)準(zhǔn)的。但一個好的項目估算,是離不開一個準(zhǔn)確的、可信的、客觀的數(shù)據(jù)作為基礎(chǔ)。
如果在項目規(guī)模估算時只憑項目管理人員的經(jīng)驗進行估算,而缺乏大量的數(shù)據(jù)支持,那么估算最終就會變成常見的"三拍"現(xiàn)象:
首先是項目經(jīng)理拍腦袋估算;
然后是項目經(jīng)理估算失準(zhǔn)時拍馬屁的補救;
最后是項目失敗時拍屁股走人"。當(dāng)然,這只是個玩笑。不過由此可見項目規(guī)模估算不能只依靠經(jīng)驗來估算,而應(yīng)該是要有大量的數(shù)據(jù)來支持。
不論是對軟件開發(fā)團隊還是對軟件用戶,軟件規(guī)模估算的重要性都是不容置疑的。因為它能極大的影響著甲方對發(fā)包軟件的成本估算,乙方對自身開發(fā)成本的預(yù)測,以及乙方對開發(fā)過程的量化管理等諸多方面。
而且,只有相對合理和相對準(zhǔn)確地估算軟件規(guī)模,才能對項目的進度安排、資源分配等各個環(huán)節(jié)進行合理的部署。