2024-11-30|閱讀時間 ‧ 約 0 分鐘

實施需求收集前需要作好準備

在專案最初的階段,一般都是跟客戶討論並了解他們的需要。在了解需要過後,團隊想方法設計最合適的方案給他們,並實際的解決他們的需求。但是所謂的需求收集,並非只是「收集」客戶的所需而已。其實更多的時候是需要做各種試探,才能把更深層次的需要引出來。本編來分享一下在收集需求前我因沒有好好作準備,而在過程中苦苦掙扎中所領悟到的一些洞見。

需求收集的目的

要說需求收集之前,首先要明白專案並非白白成立的。它的成立代表著有某些人需要某個"東西"來解決他們存在的問題或希望改善他們現在的某個方面。簡單地理解就是希望通過專案能讓他們能到達想像中某個美好的未來。而要達到專案成立的目標,則需要清楚了解客戶想要的是什麼,才有可能實現目標。試想一下當我們自己都不知道自己想要的是什麼的時候,則難以找出一個適合自己的解決方案了。專案也是一樣,專案團隊如果並不清楚對方所需的話,則難以設計出符合對方業務的東西了。

我之前參與了給一個批發商客製化一套進銷存系統的軟體專案,由於我們原來已經有一套基礎的進銷存系統存在,因此我錯誤的以為並不需要花很大的力氣在需求收集上,也能完成專案。因為我覺得他們只要直接使用這套系統,並作少量的修改就可以解決他們所需了,畢竟他們是因為看上這套系統,才會採購這一套系統的。但很顯然我是太輕率了,因為客戶需要的並非一個系統,而是一個能為他們解決問題的軟體。而我在專案的最初並沒有發現這一點,因此專案需求收集和執行的過程中膠著了十分長的時間,也因此成為我一例失敗管理的專案。於這一次失敗的經歷中,讓我知道在需求收集的時候沒有作好準備時,要面對的各種問題。

沒有準備收集需求時發生的問題

在我們資訊科技行業的專案,特別是在我這個軟體開發領域中,所成立的專案很多的時候都是為了解決其他行業的企業所面臨的問題。可能是為了改善企業內部的運作,也可能是為了提供新的服務給企業的客戶。不管怎樣,在軟體開發這個領域很少是為了解決自身行業的問題而立案的。因為一個不可避免的事情就是,需要跨產業解決別人的問題。就因為跨產業的存在,要理解對方的需要則異常的困難,也有很多不同的考驗。因此在跟對方談需求的時候,如果沒有好好準備的話,在收集需求和設計後續方案的時候就會出現下面所提到的困境了。

難以理解對方的處境

第一個問題也是能直接想到的問題就是難以理解對方的處境。在專案的過程中讓我很深刻的一個事情是,原以為很正常的處理方式(我們會叫做最佳實踐),在對方企業內就不是用那種常見的方式來處理。他們有自己獨一無二的方法來處理他們業務過程中的事,當然系統也需要某種程度上配合著他們的處理方法來設計了。

最佳實踐不一定是對的,但能運作的實踐就一定是對的

正因為每個企業都有一定的獨特性,因此才有差異存在。但是盡管存在差異,他還是會有和其他企業相同的地方存在的。只是作為行外人,要了解對方實際上是怎麼運作,有那些是通用的流程,又有那些是需要特別注意的,在沒有特別了解的情況下並不容易分辨。在一般收集需要時,客戶通常就開始講他們想要的是什麼了。為何需要和想要解決的問題是什麼,外人是比較難理解,也不好提出問題去進一步追問。當然如果對方客戶能派出一位熟識業務和軟體開發的人作為代表的話,則能比較容易的理解客戶想要達到的目的是什麼,從而能夠設計出比較合乎要求的軟體方案。

容易落入細節陷阱

在這個年代,每個人都對現在軟體系統並不陌生,因此很多時候他們都能說出大概要什麼功能,這些功能又需要怎樣怎樣。如果在需求收集的時候運用現有系統跟客戶討論的話,他們通常會直指現有系統要這樣改和那樣改。例如他們會提出某某功能加一個欄位,另外某功能的資料可以不要。這種過於細節的需要無助於了解對方的需要,也難以理解他們在提出這個改動的時,背後隱含的真實意圖。

缺乏了解對方意圖的問題是,難以形成系統功能之間的橋樑。要了解系統功能並非單獨存在的,它的良好運作需要每一個功能中間緊密結合才能完成。例如:客戶下單購買了東西,他應該能在訂單列表中查看到剛剛下的單的資料;而客服人員也應該要在後台系統中看到相對應的銷售訂單,從而為客戶備貨或發貨。綜合以上所說,當客戶直接給到細節時,團隊將會面臨見樹不見森的情況。在缺乏宏觀的業務場境下,要釐清以上的問題將面臨異常的困難。

難以組織所需

在把客戶他們的需要都一一收集並記錄好以後,專案團隊需要對需求進行分類整理,並在整理後進行有系統的分析,才有可能夠設計出適合客戶使用的系統。但是因為缺乏對對方產業的了解,則難以進行需求的組織及分類,而且難以建立起對方業務的整體流向。簡單的理解就是在沒有引導圖的情況下拼拼圖,請問我們如何才能知道手中的那一塊拼圖應該屬於那個一位置之中?

團隊如果不能夠把這些散落在各地的拼圖組合起來的話,則團隊難以清楚系統應該從何開始,又應該往何處去,其結果就只能是湊合地把東西做出來了。當然想也知道,在客戶真正投入使用的時候,就會發現在使用系統的時候難以支撐現有的工作流程。除了不能達到最初專案成立的目標以外,也可能會放棄使用新的系統回到原來的系統中去。

總結

需求收集專案很重要的一步,但是也是非常困難的一步。在釐清別人所需之前必須先好好裝備自己,盡可能把對方業務背境先了解清楚,例如該行業最佳實踐是怎樣的,一般都會面對那種困難。這樣在討論需要的時候更能容易切入對方的角度去想問題。因此請在討論需求之前,請先好好了解自己。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.