多種技術(shù)進(jìn)行估算,這些技術(shù)主要分為兩大類:分解和經(jīng)驗(yàn)建模。分解技術(shù)需要劃分出主要的軟件功能,接著估算實(shí)現(xiàn)每一個功能所需的程序規(guī)?;蛉嗽聰?shù)。經(jīng)驗(yàn)技術(shù)的使用是根據(jù)經(jīng)驗(yàn)導(dǎo)出的公式來預(yù)測工作量和時間??梢允褂米詣庸ぞ邅韺?shí)現(xiàn)某一特定的經(jīng)驗(yàn)?zāi)P?。精確的項(xiàng)目估算一般至少會用到上述技術(shù)中的兩種。通過比較和協(xié)調(diào)使用不同技術(shù)導(dǎo)出的估算值,我們可能得到更精確的估算。軟件項(xiàng)目估算永遠(yuǎn)不會是一門精確的科學(xué),但將良好的歷史數(shù)據(jù)與系統(tǒng)化的技術(shù)結(jié)合起來能夠提高估算的精確度。
9、遺漏重要的假設(shè)或約束條件
如一些政府機(jī)關(guān)的管理信息系統(tǒng)軟件開發(fā)項(xiàng)目隱含的需求是必須遵守一系列的國家和行業(yè)標(biāo)準(zhǔn),但由于沒有考慮到這些要求,致使項(xiàng)目計(jì)劃失敗,開發(fā)出某些功能、性能或數(shù)據(jù)不符合國家和行業(yè)標(biāo)準(zhǔn)的軟件,造成返工。所以應(yīng)當(dāng)盡可能地將將任何設(shè)想和約束編入文檔。做項(xiàng)目計(jì)劃時應(yīng)該盡可能地把假設(shè)條件和約束條件考慮清楚,這些假設(shè)和約束可以是樂觀的、悲觀的或者是最可能的估計(jì)。例如,可以假設(shè)能夠及時獲得應(yīng)用程序服務(wù)器的新發(fā)行版,或可以得到熟悉項(xiàng)目正在采用的技術(shù)和技巧的開發(fā)人員;還可以假設(shè),項(xiàng)目能在一些約束下工作,如影響計(jì)劃的強(qiáng)制截止期限或資源限制等等。應(yīng)該把這些假設(shè)和約束條件編入計(jì)劃文檔中,在項(xiàng)目的實(shí)施過程中,當(dāng)項(xiàng)目計(jì)劃需要細(xì)化和調(diào)整時,就應(yīng)該考慮到這些約束條件,而不是以一種“無限資源”的方式做計(jì)劃。一般來說,假設(shè)、約束和風(fēng)險的區(qū)別是:假設(shè)、約束是一些比較明顯、明確、已經(jīng)發(fā)生或肯定會發(fā)生的情況,而風(fēng)險這是不一定會發(fā)生的,具有不確定性。
10、項(xiàng)目計(jì)劃沒有突出重點(diǎn)
軟件開發(fā)涉及到方方面面的工作,有些是主要的,有些是次要的,項(xiàng)目計(jì)劃應(yīng)當(dāng)反映有價值的工作任務(wù)、環(huán)境條件。項(xiàng)目計(jì)劃不能寫成一個大雜燴,也不能寫成一個包羅萬象的百科全書。在項(xiàng)目計(jì)劃中要簡潔精確地反映對項(xiàng)目有價值的事情、任務(wù)和活動,避免羅嗦。項(xiàng)目管理的理論方法、成功的項(xiàng)目管理經(jīng)驗(yàn)都是在實(shí)施項(xiàng)目時應(yīng)該參考的。但是,每個項(xiàng)目是特殊的,具有“唯一性”的,一次需要為每個項(xiàng)目做專門的計(jì)劃,選擇適合的項(xiàng)目,適合的團(tuán)隊(duì)的方式和方法。
11、忽視次要工作任務(wù)對項(xiàng)目的影響
軟件開發(fā)項(xiàng)目計(jì)劃不僅要安排需求分析、概要設(shè)計(jì)、必要時的詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)施和測試與維護(hù)等實(shí)際的重要工作,而且還應(yīng)該安排項(xiàng)目中的支持性輔助活動,這些支持性輔助活動雖然不能成為關(guān)鍵活動,但是它們卻對項(xiàng)目的進(jìn)展又作重大的影響。這些輔助活動包括:體系結(jié)構(gòu)定義、文檔評審后文檔編寫的返工甚至是需求調(diào)研的返工,測試之后的編碼返工、系統(tǒng)交付、與軟件復(fù)用相關(guān)的活動、項(xiàng)目組內(nèi)溝通交流、休假和法定假日、培訓(xùn)和教育、團(tuán)隊(duì)成員的生活(如飲食、住宿、交通等)、項(xiàng)目規(guī)劃、人員管理等管理活動、會議和回復(fù)電子郵件,等等。做項(xiàng)目計(jì)劃時應(yīng)當(dāng)盡可能完整地列出這些影響項(xiàng)目的活動,或者按照固定的模板進(jìn)行計(jì)劃的制訂,免得遺漏必要的計(jì)劃內(nèi)