為了提供一套完整工具(軟件加硬件)來完成一個部門或一家企業(yè)的“運營目標”,如何可以利用科技來使企業(yè)的運營更理想,是軟件開發(fā)的主要原因。所以當我們完成分析后,明確的理解需要那些功能才能夠讓企業(yè)或部門能夠更有效地達到目標,這些功能才是系統(tǒng)的真正需求。我們所說的“ gather requirements ”基本上是包括 Fact Findings 和分析( Analysis )兩個階段的結果,不是國內(nèi)所執(zhí)行的“調(diào)研”一個工作希望直接帶出來的結果。
整體解決方案
當完成分析后,有了全面的功能需求,接下來便需要讓客戶認識到他們的最終目的需要那些功能和如何可以利用科技(軟件及硬件)的結合來完成,這便是我們所說的解決方案。這時候還沒有對系統(tǒng)進行設計,只是讓客戶認識他們所希望的目標需要那些系統(tǒng)功能來完成。我們的目的是讓客戶認同只要我們的系統(tǒng)可以提供這些功能,便能夠達到他們的最終目的。這便是確認需求的目的。同時在確認這些需求的時候,把項目的范圍牢牢的建立起來。
客戶的確認
到這里,相信大家都知道為什么我們在國外可以讓客戶確認需求而國內(nèi)的技術人員卻未能讓客戶確認需求了?很多同業(yè)往往感覺困惑,為什么訪談結果可以讓被訪者接受,但每當要求對方主管確認的時候又被打回頭票呢?在回顧國內(nèi)把握需求的方法,希望從訪談的用戶口中提供系統(tǒng)的功能需求,這是把我們的專業(yè)工作交給客戶來執(zhí)行,他們又如何能夠完成我們本身做不到的工作呢?縱然訪談的客戶可以很明確的認識到本身工作上的需求,同時可以確認你遞交的調(diào)研報告或需求說明書,但這只屬于他本人工作崗位及工作層次上的需求,而部門主管及企業(yè)領導的需求是比較全面,肯定與有關工作人員所提出的需求有所不同,這份調(diào)研報告又如何能夠讓用戶主管或客戶確認呢!
未能把握整個解決方案的目標,未能分析整體工作的過程來建立目標的功能,出來的需求只能解決局部的問題,未能做到“解決方案”的目標。其實我們只需要確認業(yè)主的項目投資最終目標,從分析的結果來建立所需的功能,便能夠有效地讓客戶認同這些主要功能,認同項目地需求。
開發(fā)的另一誤區(qū)
我??吹揭恍╅_發(fā)人員把過去一些案例讓客戶觀看,希望客戶從中可以理解本身的需求,然后在建設的過程中慢慢把需求建立起來,但這種方法往往讓我們無法把握項目的真正范圍,讓范圍不斷蔓延,導致項目不斷延誤,未能有效的完成交付。每一個客戶有本身的思想,有本身獨特的需求,有企業(yè)本身的特色,觀看別人的案例只讓客戶增加本身對結果的期盼,不能完全解決項目的最終目的。尤其是近年來的項目多是概念性的項目。所謂概念性項目是從商業(yè)概念所產(chǎn)生的項目,例如“一個客戶管理系統(tǒng)”來對客戶進行管理和提供客戶的服務,建立客戶滿意度等類似的項目,又或者是客戶需要建立一個“市場管理系統(tǒng)”來對企業(yè)產(chǎn)品銷售進行有效的分析及開拓市場方向等項目。這些項目便是我們現(xiàn)在所說的“信息化”項目的建設。技術人員絕對不能夠把握這些概念性項目的需求,也成為目前國內(nèi)信息化過程的延誤和信息化結果的最大障礙。九零年代中期,國際企業(yè)開始進行信息化,在無數(shù)慘痛教訓后理解到技術人員本身的極限,對商業(yè)運營的最終目標并不認識,所以特意在軟件行開發(fā)項目中建立一個新崗位,商業(yè)分析師( Business Analyst ),商業(yè)分析師可以是資深的系統(tǒng)分析師,但必須曾經(jīng)在工作的過程中對某一個行業(yè)的運營相當理解,這包括在某個行業(yè)中曾經(jīng)負責開發(fā)多種不同的項目,對企業(yè)的運營需求和運營方向全面理解。也可能是一個部門的業(yè)務經(jīng)理,經(jīng)過培訓后理解如何進行分析,如何建立商業(yè)模式等方法。才負責項目初期的信息收集,分析及設計工作。目的是因為技術人員