【正文】
3. 在軟件需求分析階段,完全確定用戶(hù)的所有需求是比較困難的,甚至可以說(shuō)是不太可能的。 低估的危害 ?降低計(jì)劃的有效性 ?降低項(xiàng)目按時(shí)完成的可能性 ?前期技術(shù)基礎(chǔ)沒(méi)有打勞,后期將以數(shù)倍的代價(jià)償還 ? 寧可高估也不要低估,低估對(duì)項(xiàng)目的懲罰遠(yuǎn)遠(yuǎn)高于高估對(duì)項(xiàng)目的懲罰 。 evaluate. 為形成意見(jiàn)和 /或評(píng)價(jià) — — English Dictionary Estimate 估算: The act or instance of estimating 估算的活動(dòng) /實(shí)例 To amount, extent, size, position, or value reached in an estimate 估算出的數(shù)量、程度、規(guī)模、位置與價(jià)值 An opinion or a judgment 意見(jiàn)或者判斷 為什么需要估算 1. 影響項(xiàng)目投資與財(cái)務(wù)決策 商業(yè)上的投資回報(bào)分析需要產(chǎn)品開(kāi)發(fā)成本的估算和 /或產(chǎn)品生命周期各階段的支出概況 2. 設(shè)定預(yù)算和進(jìn)度以作為項(xiàng)目計(jì)劃和控制的基礎(chǔ) 例如:在項(xiàng)目的各個(gè)階段應(yīng)分配多少人力?要花多少工作量、成本和時(shí)間? 3. 在項(xiàng)目的成本、進(jìn)度、范圍與質(zhì)量因素之間作出決策或權(quán)衡 我們?cè)诙啻蟪潭壬稀⒍啻蠓秶鷥?nèi)、什么樣的情況下可以向領(lǐng)導(dǎo) /客戶(hù)說(shuō)“不”? 為什么需要估算 4. 確定產(chǎn)品中哪些組件需要開(kāi)發(fā)、復(fù)用、購(gòu)買(mǎi)還是外包 一次優(yōu)秀的工作量估算活動(dòng)有助于了解什么時(shí)候構(gòu)造一個(gè)組件要比重新修改一個(gè)組件更加劃算 5. 估算是項(xiàng)目管理的核心能力: 初級(jí):估計(jì)與項(xiàng)目計(jì)劃、監(jiān)控的結(jié)合 中級(jí):根據(jù)對(duì)應(yīng)、平臺(tái)、環(huán)境和工具使用經(jīng)驗(yàn) ……這些成本驅(qū)動(dòng)因子的改進(jìn),如何評(píng)價(jià)培訓(xùn)的收益?如何評(píng)價(jià)推行重用的收益? 高級(jí):估計(jì)與質(zhì)量目標(biāo)的設(shè)置,以及如何改進(jìn)組織的估算能力以適應(yīng)新的技術(shù)、新的方法和新的業(yè)務(wù)。 Estimation, Goal and Commitment A Case ?主管:你認(rèn)為這個(gè)項(xiàng)目需要多長(zhǎng)時(shí)間?我們要在三個(gè)月之內(nèi)為展覽會(huì)準(zhǔn)備好這個(gè)產(chǎn)品。因?yàn)槟抢锊攀莿?chuàng)造性想象力的源泉。 如果估算知識(shí)采用非定量方法獲得的,主要是一群人管理人員認(rèn)定而幾乎沒(méi)什么數(shù)據(jù)支持,就很難為它做出有力的、可信的辯護(hù)。 c) 回到步驟 5 9. 在規(guī)定的估算輪次內(nèi)還沒(méi)有完成估算,則結(jié)束本次估算 XX 0 5 10 15 20 X X X □ X □ Round 1 XX 0 5 10 15 20 X □ Round 2 XX XX 0 5 10 15 20 Round 3 XX Delphi 估算 方法流程 Wideband Delphi 優(yōu)缺點(diǎn) Delphi方法的理論基礎(chǔ): 當(dāng)一組估算專(zhuān)家獨(dú)立的依照相同的前置條件執(zhí)行估算活動(dòng)的時(shí)候,估算結(jié)果可以無(wú)限接近實(shí)際的數(shù)值 所以,我們必須保證估算專(zhuān)家的獨(dú)立工作和基于相同的前置條件 Delphi方法的缺點(diǎn): 較主觀(guān),結(jié)果可信服性弱 估算活動(dòng)較耗時(shí) Delphi方法 的優(yōu)點(diǎn): 大家對(duì)項(xiàng)目需求會(huì)有進(jìn)一步的認(rèn)識(shí) 消除個(gè)人理解偏差 估算方法介紹:類(lèi)比估算法 步驟 1. 從類(lèi)似歷史項(xiàng)目獲得規(guī)模、工作量詳細(xì)信息,信息按領(lǐng)域類(lèi)別分類(lèi)、分解 2. 和歷史項(xiàng)目逐條比較,給出比率關(guān)系 3. 基于比率計(jì)算新項(xiàng)目規(guī)模 4. 基于新項(xiàng)目規(guī)模計(jì)算新項(xiàng)目工作量 5. 檢查新項(xiàng)目和歷史項(xiàng)目假設(shè)一致性 類(lèi)比估算法例子 …… 背景:新項(xiàng)目叫做 Triad,與歷史項(xiàng)目AccSellerator 步驟 1:從類(lèi)似歷史項(xiàng)目獲得規(guī)模、工作量詳細(xì)信息,信息按領(lǐng)域類(lèi)別分類(lèi)、分解 Database 5,000 Line of code (LOC) User Interface 14,000 LOC Graphs and reports 9,000 LOC Foundation classes 4,500 LOC Business rules 11,000 LOC TOTAL 43,500 LOC Database 10 tables User Interface 14 Web Pages Graphs and reports 10 graphs + 8 reports Foundation classes 15 classes Business rules ??? 估算方法介紹:類(lèi)比估算法 ? 步驟 2: 和歷史項(xiàng)目逐條比較,給出比率關(guān)系 Subsystem Actual Size of AccSellerator Estimated Size of Triad Multiplication Factor Database 10 tables 14 tables User Interface 14 Web Pages 19 Web Pages Graphs and reports 10 graphs + 8 reports 14 graphs + 16 reports Foundation classes 15 classes 15 classes Business rules ??? ??? 估算方法介紹:類(lèi)比估算法 ? 步驟 3: 基于比率計(jì)算新