[#3: Edit Options>MightyAdsense>Adsense Code]
前言
需求收集與分析的目的,主要是用來辨別客戶需要的是什麼,其目標在於描述客戶對於專案所預期呈現的結果,然後以有系統的方式加以整理列出。在許多書裡,大都只強調需求完整的重要性,或是列出一些很空洞的施行綱要,但對於實作時,需求要怎麼收集、要怎麼分析幾乎都很少提到,使得無經驗的專案經理往往不知如何著手,只能利用嘗試錯誤的方法摸索進行。因此本文特別著重在需求收集與分析的施行方法與技巧上,這些都是作者多年經驗所累積下來的知識,無論對於有經驗或無經驗的專案經理而言,都是一份極有參考價值的資料。
套裝類軟體的需求收集
套裝類的軟體產品所面對的客戶,通常是某個族群,即使有了許多已知的客戶,但潛在的客戶往往還更多,因此它的需求會比較模糊而寬廣,難以收集完整,不過相對的,客戶對於某些不符自己所需的地方也不會太過強求,驗收的標準會比較寬鬆些。而我們所要做的,便是儘量收集到客戶的需求(包括未來可能的需求),再依照目標客戶對各項需求的急迫性加以區分,最後視開發的時程與成本,分階段開發出來。以下便是收集這些需求一些有用的做法:
1.由目標客戶找出需求
a.與既有客戶或未來可能的客戶進行訪談或意見調查,將客戶建議的事項視為需求,逐一列出。
收集需求的最佳方式,永遠都是由客戶端獲得。但由於套裝軟體的客戶群並不固定,因此最好能依照應用領域、運用方式、使用頻率、對電腦系統的熟悉程度、地理位置、職位階層等各種客戶特性,區分出多個目標客戶群,然後針對最重要的幾個目標客戶群進行意見調查或訪談。
b.參考與軟體產品相類似的專案之建議書、功能規格書或需求變更表,將可能成為需求的部份逐一列出。
開發套裝軟體產品最佳的策略,便是以專案養套裝,也就是在開發初期,利用專案收集需求(同時也可獲利),之後再集結這些需求開發出套裝軟體。因此如果公司已有類似的專案,直接拿來參考即可省下不少需求收集的時間。
c.逐一過瀘類似專案或舊版軟體之客戶問題反應單,思考問題的原因,並將可成為需求的部份逐一列出。
客戶反應的問題中,有一小部份是客戶要求的新功能或功能規格變更,這些問題都意味著客戶的隱藏性新需求。然而在收集需求時,不能直接把客戶要求的新功能直接視為需求列出,而要先去了解客戶提出這項功能的動機與目的。因為客戶在有需求時,往往會先自行想出做法,然後才要求軟體開發商新加功能,此時這項功能已和原來的需求有所差異,若是客戶自行想出來的做法很爛,那麼將它視為需求開發出來的結果,往往便會成為一項雞肋功能(食之無味、棄之可惜)。
2.由競爭廠商找出需求
a.向行銷企劃部或業務部拿取競爭廠商相關資料,找出可成為需求的部份逐一列出。
行銷企劃部在進行市場調查與研究,或業務部在推展業務時,往往都會研究競爭廠商的動態,以及相互間產品的特性。直接找他們拿取資料,最是方便省時。
b.由競爭廠商公布的產品規格書、白皮書、廣告稿與網站資料,找出可成為需求的部份逐一列出。
由於行銷企劃部或業務部的競爭廠商資料大都已經過分析,未必適於收集需求,因此還是必須直接閱讀競爭廠商的實際產品資料來加以研究。至於有那些競爭廠商,則可從行銷人員與銷售人員處取得,或是經由入口網站搜尋取得。而且只要是與產品目標市場與功能特性有沾上邊的廠商,都應視為競爭廠商加以研究。
c.由競爭廠商相關的新聞資料,找出可成為需求的部份逐一列出。
競爭廠商所發布的新聞資料,往往隱含著對方未來的產品規劃與方向,因此必須仔細加以研究,及早因應。
3.由現行資料找出需求
a.將「發展計畫書」中的專案目標與範圍部份,視為需求逐一列出。
套裝軟體要開發,一定有其目的及市場需求,通常在專案開始時,都會列在發展計畫書中,而這些內容也都算是需求的一部份。在記錄這些需求時,要特別注意其品質特性的需求。
b.找出與專案軟體相關的流行技術、界面標準或法令規章,將可成為需求的部份逐一列出。
藉由這方面的需求收集,可確保專案軟體能符合相關的介面標準與法令規章,同時也能符合技術潮流的走向。
c.參考舊版軟體各版本之軟體規格書與技術文件、使用手冊,將其中所列之需求逐一列出。
如果不是全新開發的套裝軟體,那麼舊版軟體的各項文件,便是個極佳的需求資料來源。
d.試用舊版軟體,將其中之各項功能與應改進缺點視為需求,逐一列出。
如果舊版軟體缺乏文件可供參考,試用便是取得舊版需求的唯一方法。不過即使有完整的文件,也可經由試用過程找出缺點,做為新版改進的需求。
4.由未來產品找出需求
a.與核心技術人員、產品經理、行銷人員、銷售人員討論未來套裝軟體可能衍生的產品、相關的產品、以及可能的合作廠商整合方式,在討論內容中找出可能的需求,逐一列出。
藉由這種方式,可以找出未來功能擴增的可能需求,以及應提供出來的界面需求,強化軟體的擴充性與公用性。
b.列出現行所有的核心技術,並參考其相關文件,找出加入時可成為需求的部份逐一列出。
套裝軟體現行規劃的目標,不一定全用到所有核心技術,因此必須將所有將來可能加入的核心技術都列出,並思考加入時可能會造成的需求。
c.自己思考或詢問同事對該產品的新點子。
如果自己創意夠的話,花些時間好好想想,有時能提出一些不錯的功能,或是被忽略掉的需求。
5.由模擬方式找出需求
a.找出一個或多個專案軟體運用的例子,模擬其運用過程,由過程中找出遺漏的需求。
由於套裝軟體沒有很明顯的客戶群界限,要鑑訂是否有遺漏的需求,最好的方式便是仿造幾個客戶使用的可能例子,在其作業的過程中來驗證是否有遺漏的需求。
b.利用系統分析技術,如結構化分析中的資料流程圖(Data Flow Diagram,簡稱DFD)和物件導向分析中的使用案例(Use Case)等,定出容納所有需求的系統模型,並檢查各需求相互間的關係,以試圖找出未明白列出的隱藏性需求。
這是需求收集的最後一道防線,主要目的便是運用需求的交互關係,來找出隱藏性未列出的需求,使得各項需求緊密連繫在一起。同時藉由建構此一系統模型,也容易檢查出相衝突的需求。這個方法可以延到需求分析的篩選過程中進行。
admin 产品和项目开发流程 需求收集
Recent Comments