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