專案前期需求收集過程的效果好壞,會對軟體產品的最終質量產生直接的影響。如何收集好需求,本文作者給出了一條行之有效的實際操作途徑。
什麼是需求收集?
需求收集,是確定和理解不同類別使用者的需要和限制的過程,是需要高度協作的活動,是在問題及其最終解決方案之間架設橋梁的第一步,因此其重要性不言而喻。據調查顯示50%以上產品在市場上失敗的原因,是由於忽視了使用者需求。
需求收集在需求開發活動中的示意圖如圖1:
如圖1需求收集為什麼會困難?
困擾專案組需求收集活動的原因可能如下:
v 需求收集人員往往只關注使用者反映的表面問題,而不能主動深入挖掘使用者的真實需求;
v 需求收集人員考慮的問題時習慣幹「以產品為中心」,而不是「以客戶為中心」;
v 使用者往往不清楚自己的真實需求是什麼,或者不知道如何準確地描述出自己的需求—「我心裡很清楚,但就是說不出來」;
v 沒有從所有可能的渠道去收集需求,需求資訊**不完整;
v 收集的需求沒有規範記錄下來,造成原始資訊丟失或失真,且無法回溯;等等。
怎麼做好需求收集活動?
首先,需要建立需求收集機制。其次,使用統一的需求收集系統。最後,在需求收集時,採取一定的技術和方法。
建立需求收集機制
(1). 明確每個需求收集活動參與者的崗位職責
根據專案組可能的需求**(需求**可能包括:市場調研,競爭對手資訊分析,標準和協議等等,視專案組的實際情況而定),指定每個需求**的收集負責人。同時,對通過各個渠道收集的需求資訊,指定專門的介面人進行彙總和審核。
(2). 建立需求預處理流程
對收集到的需求,除了指定專門的介面人進行彙總和審核以外,還要建立相應的預處理流程,在對需求進行預處理時,相關的討論,決策可以通過「需求ccb會議」完成(需求ccb是指:專門用於需求討論和決策的change control board)。
乙個對收集到的需求資訊的預處理流程例子如圖2:
如圖2專案組可以參考上例,結合自身實際情況進行適當剪裁,建立適合自己的預處理流程。
(3). 週期性的重複需求收集活動
當產品處於研發過程中,或已經交付給使用者使用後,專案組還需要定期從各個**重新去收集和審視一下產品的所有相關需求,這樣就可以及時獲知市場和使用者對產品的反應,為下乙個步工作提供輸入和依據。專案組可以依據自身產品的特定,指定週期性的需求收集策略,選擇相應的時機。
使用統一的需求收集系統
很多專案組都採取**的方式記錄收集到的需求資訊,而不是通過電子流程的方式提交,這樣會到來一些問題,如:收集到的需求資訊被延遲處理,專案資訊無法跟蹤,回溯,等等。因此,專案組有必要使用統一的需求收集系統,作為唯一,明確的入口,對需求資訊進行填報和跟蹤。
企業可以選擇自己開發電子的需求收集系統,也可以選擇購買市場上現有的產品,如:telelogic公司的focal point等。如果使用自己開發的需求收集系統,就可以讓系統流程和企業的業務流程相結合,而且日後維護和擴充套件也比較方便。
乙個需求收集的二維流程圖實例如圖3:
如圖3在實際工作中,需求收集系統還可以和需求管理系統,變更控制系統等通過一定的介面實現整合,共同構成企業的綜合需求管理平台,從而提供「完善的需求管理解決方案」。乙個公司級綜合需求管理平台搭建的實例如圖4:
如圖4採取一定的需求收集技術和方法
在需求收集時,還應採取一定的技術和方法。一些常用的需求收集技術和方法包括:客戶訪談,客戶交流,市場調研,技術支援,高層拜訪,競爭對手分析,查閱**資訊,需求專題分析討論會等等。
下面選取幾種技術和方法,通過一些案例分析,進行更為詳細地闡述。
(1). 客戶訪談
案例分析1:某次客戶訪談
ü ü
訪談地點:選擇比較寬鬆的非工作環境進行。
ü 訪談問卷:在訪談之前要事先設計訪談問卷,要注意的是問卷只是提供乙個思路。
ü 填表方式:不要採取讓客戶直接填表的方式。
ü 錄音:前提不要讓客戶發現或是事前徵求客戶的同意。
ü 訪談結束:再次確認,每次訪談後要優化訪談的提綱以備下次使用。
(2). 客戶交流
案例分析2:
交流前的溝通:充分與客戶溝通交流,重點可以以下角度考慮問題:
ü 本次客戶關係什麼內容?
參與人是誰?
主要決策者有哪些傾向性的觀點?
ü 競爭對手可能方案的賣點?主推什麼?
ü 我們要住推什麼?怎麼避免我們的弱點?
ü 客戶預計會提那些問題?我們應該怎麼回答?
ü 交流會的講解重點:在交流會上,可以選擇以下講解重點:
ü 客戶面臨的問題是什麼?
ü 針對客戶面臨的問題,我們的解決方案是什麼?
ü 我們的總體方案如何?
ü 今天交流的內容在公司總體方向中的位置?
此外,在交流時還可以自己設計一些問題並加以回答。特別需要注意的是,在交流的時候不要攻擊競爭對手,但是可以多講一些自己的成功案例和優點。
交流後的工作:交流之後,還需要完成以下工作:
ü 分析記錄和答疑;
ü 提出專案的應對策略建議;
ü 對交流會上遺留的問題進行跟蹤直至關閉;
(3). 需求專題分析討論會
需求專題分析討論會的目的,是在較短的時間內鼓勵與會者在需求上達成共識,盡快取得統一意見。需求專題分析討論會通常邀請客戶代表參加
案例分析3
會前準備
ü 確定所有相關的干係人,不要有遺落;
ü 事先做好會議後勤保障;
ü 事先準備會議相關材料,需求文件初稿,調查問卷,相關清單;
ü 找合適的主持人:善於控制時間,維持會議「規則」,制定會議目標和議程,能夠調動所有人員積極參與。
會議舉行:
ü 制定會議紀律並宣布;
ü 支援人要把握好會場氣氛,並及時化解矛盾;
ü 記錄人要做好會議記錄
ü 參與人員使用投票方式確定需求優先順序;
ü 發言人的發言時間不得超過一定長度,不能打斷;
會後工作
ü 把會上收集到的意見歸類;
ü 記錄討論後的需求;
ü 確定下一步工作;
結束語
需求收集在客戶問題及最終解決反感之間起著架設橋梁的作用,從某種程度上來講,需求收集工作的質量決定了產品的成敗,因此我們必須加強對其的重視。為了做好這項工作我們需要建立日常的需求收集工作機制,並採用統一的需求收集系統作為資訊入口;同時,由於需求收集是統一的講求技術和方法的活動,選擇和的技術和方法有助於獲取完整且有效的需求
如何做好需求收集
專案前期需求收集過程的效果好壞,會對軟體產品的最終質量產生直接的影響。如何收集好需求,本文作者給出了一條行之有效的實際操作途徑。什麼是需求收集?需求收集,是確定和理解不同類別使用者的需要和限制的過程,是需要高度協作的活動,是在問題及其最終解決方案之間架設橋梁的第一步,因此其重要性不言而喻。據調查顯示...
如何做好程式設計師的自己
做開發的工作已經快2年了,漸漸才發現自己在工作上花的心似乎太多了,沒錯技術進步是好事,但是在與人溝通方面似乎自己壓根就沒注意。最近和朋友聊天,才發現自己有很多方面做的確實不足。總結下有幾點 一 與同事打好關係 1 別仗著自己技術好,在同事面前表現自己,留下愛裝逼的印象 1.組裡剛來一哥們,跟別人說還...
如何做好乙個程式設計師
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀...