功產(chǎn)生更加充分的信心。
軟件開發(fā)項(xiàng)目常見預(yù)估的風(fēng)險(xiǎn):
1) 工程/規(guī)模/進(jìn)度上的風(fēng)險(xiǎn)
規(guī)模大,規(guī)模估算不精確甚至誤差很大;就規(guī)模而言,用戶要求交付期、費(fèi)用很緊;預(yù)料外的工作(測(cè)試未完時(shí)的現(xiàn)場(chǎng)對(duì)應(yīng)等);
2) 技術(shù)上的風(fēng)險(xiǎn)
使用新的開發(fā)技術(shù)、新設(shè)備等,或是新的應(yīng)用組合,沒(méi)有經(jīng)驗(yàn);是新的行業(yè)或業(yè)務(wù),沒(méi)有經(jīng)驗(yàn);性能上的要求很嚴(yán);
3) 用戶體制上的問(wèn)題
用戶管理不嚴(yán),恐怕功能決定、驗(yàn)收不能順利地完成(或者出現(xiàn)了延遲);或者恐怕功能會(huì)多次變更;與用戶分擔(dān)開發(fā),恐怕工程會(huì)拖延(或者出現(xiàn)了延遲);用戶或其他相關(guān)單位承擔(dān)的工作有可能延誤;
4) 其它:應(yīng)該包含此處沒(méi)有、但據(jù)推測(cè)有風(fēng)險(xiǎn)的項(xiàng)目。
4.2 工作流程
說(shuō)明項(xiàng)目采用什么樣的工作流程進(jìn)行。如瀑布法工作流程,原型法工作流程、螺旋型工作流程、迭代法工作流程,也可以是自己創(chuàng)建的工作流程。不同的流程將影響后面的工作計(jì)劃的制定。必要時(shí)畫出本項(xiàng)目采用的工作流程圖及適當(dāng)?shù)奈淖终f(shuō)明。
4.3 總體進(jìn)度計(jì)劃
這里所說(shuō)的總體進(jìn)度計(jì)劃為高層計(jì)劃。作為補(bǔ)充,應(yīng)當(dāng)分階段制定項(xiàng)目的階段計(jì)劃,這些階段計(jì)劃不在這份文檔中,當(dāng)要以這份總體計(jì)劃為依據(jù)。
總體進(jìn)度計(jì)劃要依據(jù)確定的項(xiàng)目規(guī)模,列表項(xiàng)目階段劃分、階段進(jìn)度安排及每階段應(yīng)提交的階段成果,在階段時(shí)間安排中要考慮項(xiàng)目階段成果完成、提交評(píng)審、修改的時(shí)間。
對(duì)于項(xiàng)目計(jì)劃、項(xiàng)目準(zhǔn)備、需求調(diào)研、需求分析、構(gòu)架設(shè)計(jì)或概要設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試、移交、內(nèi)部培訓(xùn)、用戶培訓(xùn)、安裝部署、試運(yùn)行、驗(yàn)收等工作,給出每項(xiàng)工作任務(wù)的預(yù)定開始日期、完成日期及所需的資源,規(guī)定各項(xiàng)工作任務(wù)完成的先后順序以及表征每項(xiàng)工作任務(wù)完成的標(biāo)志性事件(里程碑)。
例如
需求評(píng)審
設(shè)計(jì)評(píng)審
表格中檢查點(diǎn)/里程碑等階段劃分為舉例,實(shí)際作業(yè)階段劃分、階段成果等請(qǐng)根據(jù)項(xiàng)目需要確定。
制定軟件項(xiàng)目進(jìn)度計(jì)劃可以使用一些專門的工具,最常用的是Microsoft的Project作為輔助工具,功能比較強(qiáng)大,比較適合于規(guī)模較大的項(xiàng)目,但無(wú)法完全代替項(xiàng)目計(jì)劃書,特別是一些主要由文字來(lái)說(shuō)明的部分。小規(guī)模的項(xiàng)目可簡(jiǎn)便地使用EXCEL作為輔助工具。關(guān)于如何使用這些工具不在此作詳細(xì)說(shuō)明。
制定軟件項(xiàng)目進(jìn)度計(jì)劃應(yīng)當(dāng)考慮以下一些因素:
1)對(duì)于系統(tǒng)需求和項(xiàng)目目標(biāo)的掌握程度。如開始時(shí)對(duì)于系統(tǒng)需求和項(xiàng)目目標(biāo)只有比較數(shù)的了解,就只能制定出比較粗的進(jìn)度計(jì)劃,等到需求階段或設(shè)計(jì)階段結(jié)束,就應(yīng)該進(jìn)一步細(xì)化進(jìn)度計(jì)劃。
2)軟件系統(tǒng)規(guī)模和項(xiàng)目規(guī)模,這兩個(gè)不是一個(gè)概念。軟件系統(tǒng)規(guī)模往往是從功能點(diǎn)的估算或其他估算方式得來(lái)的,而項(xiàng)目規(guī)模還要考慮對(duì)文檔數(shù)量與質(zhì)量的要求,使用的開發(fā)工具、新技術(shù)、多少?gòu)?fù)用、溝通的方便程度、客戶方的情況、需要遵守的標(biāo)準(zhǔn)規(guī)范等等等等。例如,完成一個(gè)大型的系統(tǒng),在一定的時(shí)間內(nèi)一個(gè)人或幾個(gè)人的智力和體力是承受不了的。由于軟件是邏輯、智力產(chǎn)品,盲目增加軟件開發(fā)人員并不能成比例地提高軟件開發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓(xùn)和管理方面的問(wèn)題將更為嚴(yán)重。
3)軟件系統(tǒng)復(fù)雜程度和項(xiàng)目復(fù)雜程度:和軟件系統(tǒng)規(guī)模和項(xiàng)目規(guī)模一樣,軟件系統(tǒng)的復(fù)雜程度主要是考慮軟件系統(tǒng)本身的功能、架構(gòu)的復(fù)雜程度,而項(xiàng)目的復(fù)雜程度主要是指項(xiàng)目團(tuán)隊(duì)成員的構(gòu)成、項(xiàng)目任務(wù)的復(fù)雜程度、項(xiàng)目干系人的復(fù)雜程度、需求調(diào)研的難易程度,多項(xiàng)目情況下資源保障的情況,等等等等。軟件系統(tǒng)的規(guī)模與軟件系統(tǒng)的復(fù)雜程度未必是成比例的關(guān)系;同樣項(xiàng)目的規(guī)模與項(xiàng)目的復(fù)雜程度未必是成比例的關(guān)系。
4)項(xiàng)目的工期要求,就是項(xiàng)目的緊急程度。有些項(xiàng)目規(guī)模大,卻因?yàn)榕c顧客簽訂了合同,或者為