準(zhǔn),把范圍建設(shè)的過程與功能需求混在一起,導(dǎo)致今天大部份軟件在開發(fā)過程中不斷修改,讓項(xiàng)目不斷延誤。
90年代的項(xiàng)目范圍與需求
自上世紀(jì)90年代中期開始,企業(yè)從流程自動化的“科技應(yīng)用方法”開始轉(zhuǎn)型到信息化的“科技應(yīng)用價值”為最終目標(biāo)。項(xiàng)目的目標(biāo)也漸漸地從明確的技術(shù)應(yīng)用過程轉(zhuǎn)變成為如何利用科技來完成虛擬的理想及模糊的愿景。例如,建立一個系統(tǒng)為企業(yè)提供業(yè)務(wù)方向決策,讓管理層能夠判斷產(chǎn)品在市場上哪個地域的市場需要和進(jìn)行產(chǎn)品調(diào)整或改善,屬于哪類消費(fèi)群,如何開拓一個新市場等,又或者希望利用因特網(wǎng)為企業(yè)提供一個產(chǎn)品推廣和銷售渠道。
這些項(xiàng)目可能包含現(xiàn)有市場的地域或推進(jìn)到新的地域環(huán)境,包含一個或多個部門的分工與協(xié)調(diào),也可能包含現(xiàn)有數(shù)據(jù)庫的組合、信息分享或需要成立新的數(shù)據(jù)來提供所需的信息,但大多數(shù)需要包含現(xiàn)有系統(tǒng)和建立新系統(tǒng)的集成體。如何實(shí)現(xiàn)項(xiàng)目的人工或系統(tǒng)操作流程等等多是客戶在項(xiàng)目啟動前沒有考慮過的內(nèi)容。在這張情況下,范圍的建設(shè)依據(jù)是一個相當(dāng)困難去完成的子項(xiàng)目。客戶在項(xiàng)目調(diào)研過程中能夠提供的只能是一部份的愿景和期盼,需要技術(shù)人員透過這些信息建立項(xiàng)目的范圍,才能夠降低后期的變動。
大部分技術(shù)人員在軟件開發(fā)過程中對開發(fā)體系的應(yīng)用未能融合信息化項(xiàng)目的特色。盲目依從開發(fā)體系的過程,忘記開發(fā)體系應(yīng)用前的一些先決條件:建立項(xiàng)目的范圍。所以從90年代開始,項(xiàng)目管理開始扮演重要的角色,在項(xiàng)目章程(Project Charter)中建立范圍、預(yù)算、資源和投資回報(bào)等內(nèi)容,讓技術(shù)人員依據(jù)項(xiàng)目章程的指導(dǎo),更能有效地發(fā)揮技術(shù)應(yīng)用的能力。
如何實(shí)現(xiàn)用戶的愿景,便需要項(xiàng)目經(jīng)理、技術(shù)人員與用戶共同尋找實(shí)現(xiàn)的過程,才能夠把握有關(guān)的需求,才能夠利用科技讓用戶獲取期盼的項(xiàng)目最終交付物。很多項(xiàng)目的重點(diǎn)已經(jīng)不是科技的應(yīng)用,而是科技應(yīng)用所帶出來的價值。今天的項(xiàng)目主要是支撐業(yè)務(wù)的發(fā)展,輔助市場的開拓,創(chuàng)新的科研成果等最終目標(biāo),SOW已經(jīng)不能夠在項(xiàng)目初期進(jìn)行編制,項(xiàng)目范圍也無法在項(xiàng)目前期界定。
大部分愿景型的項(xiàng)目中,要提供一個全面的項(xiàng)目范圍,我們必須進(jìn)行信息搜集、分析后組合成業(yè)務(wù)流、數(shù)據(jù)流。建設(shè)出具體的操作過程,再轉(zhuǎn)換成SOWs后才能夠建立項(xiàng)目的范圍,然后才能夠從范圍建立項(xiàng)目的明確的功能需求,這些工作都應(yīng)該在項(xiàng)目啟動前便執(zhí)行,是項(xiàng)目章程的主要內(nèi)容,但可惜大部分用戶缺乏這個概念,而我國技術(shù)人員從不重視、也不理解范圍的重要性,只把工作重點(diǎn)放在“調(diào)研”過程,希望從調(diào)研過程中理解客戶的需求。
項(xiàng)目在缺乏明確范圍的時候要能夠把握系統(tǒng)的功能需求相當(dāng)困難。項(xiàng)目愿景是客戶希望最終能夠達(dá)到的目標(biāo),如何達(dá)到預(yù)期的目標(biāo)?過程如何操作?將來需要哪些類型的工作人員負(fù)責(zé)執(zhí)行?應(yīng)用過程,處理的方法和模式如何應(yīng)用?這些問題客戶可能從來沒有考慮過,更不能夠?yàn)榧夹g(shù)人員提供所謂需求,只希望透過技術(shù)人員的專業(yè)知識和經(jīng)驗(yàn),提供客戶能夠達(dá)到目的的應(yīng)用系統(tǒng)。
今天軟件工程的挑戰(zhàn)
要能夠有效完成項(xiàng)目的交付,我們便需要在項(xiàng)目前期建立明確的范圍,只要我們能夠完成范圍內(nèi)的工作,客戶便能夠進(jìn)行有效的驗(yàn)收過程。但是我們在軟件工程中沒有把范圍建立起來,我們便需要不斷滿足客戶的思維,來提供客戶所希望達(dá)到的目的。
很多IT項(xiàng)目經(jīng)理在項(xiàng)目啟動的時候,把工作重點(diǎn)放在把握“客戶需求”上,但執(zhí)行調(diào)研的技術(shù)人員卻把“客戶需求”誤解成系統(tǒng)的“功能需求”,希望通過調(diào)研的過程去理解系統(tǒng)需要哪些應(yīng)用功能?;仡?0世紀(jì)70、80年代的開發(fā)過程,客戶需求是項(xiàng)目范圍,與開發(fā)過程中的“需求說明(Requirement Statements)有一定的差異。
我國的軟件產(chǎn)