4.2 工作流程
說(shuō)明項(xiàng)目采用什么樣的工作流程進(jìn)行。如瀑布法工作流程,原型法工作流程、螺旋型工作流程、迭代法工作流程,也可以是自己創(chuàng)建的工作流程。不同的流程將影響后面的工作計(jì)劃的制定。必要時(shí)畫(huà)出本項(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ù)定開(kāi)始日期、完成日期及所需的資源,規(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ì)劃可以使用一些專(zhuān)門(mén)的工具,常用的是Microsoft的Project作為輔助工具,功能比較強(qiáng)大,比較適合于規(guī)模較大的項(xiàng)目,但無(wú)法完全代替項(xiàng)目計(jì)劃書(shū),特別是一些主要由文字來(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)的掌握程度。如開(kāi)始時(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ì)量的要求,使用的開(kāi)發(fā)工具、新技術(shù)、多少?gòu)?fù)用、溝通的方便程度、客戶方的情況、需要遵守的標(biāo)準(zhǔn)規(guī)范等等等等。例如,完成一個(gè)大型的系統(tǒng),在一定的時(shí)間內(nèi)一個(gè)人或幾個(gè)人的智力和體力是承受不了的。由于軟件是邏輯、智力產(chǎn)品,盲目增加軟件開(kāi)發(fā)人員并不能成比例地提高軟件開(kāi)發(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顧客簽訂了合同,或者為了搶先占領(lǐng)市場(chǎng),工期壓縮得很緊,這時(shí)要考慮如何更好地合理安排進(jìn)度,多增加人選多采用加班的方式是一種萬(wàn)不得已的選擇。增加人選除了增加人的成本外必定會(huì)增加溝通的成本(熟悉項(xiàng)目任務(wù)所需要的時(shí)間);加班如果處理不好會(huì)造成情緒上的問(wèn)題,也可能會(huì)因?yàn)檫^(guò)于忙碌而無(wú)法顧及質(zhì)量,造成質(zhì)量的下滑。
5)項(xiàng)目成員的能力。這些能力包括項(xiàng)目經(jīng)理的管理能力,系統(tǒng)分析員的分析能力、系統(tǒng)設(shè)計(jì)人員的設(shè)計(jì)能力、程序員的編碼能力、測(cè)試人員的測(cè)試能力,以及企業(yè)或項(xiàng)目團(tuán)隊(duì)激發(fā)出這些能力的能力。從另外一個(gè)角度看還有總體上對(duì)客戶行業(yè)業(yè)務(wù)的熟悉程度;對(duì)于建模工具、開(kāi)發(fā)工具、測(cè)試工具等技術(shù)的掌握程度;企業(yè)內(nèi)部對(duì)行業(yè)業(yè)務(wù)知識(shí)和主要技術(shù)的知識(shí)積累。