回覆列表
  • 1 # 清文成

    IT崗位中,軟體開發都是以團隊為形式,每個人的工作內容不同,大家分工合作,意義大有不同。每個人的工作效率,目標方向,直接影響整個專案的開發週期和質量。大家知道,在專案到客戶手上之前,經過了很多個階段。但其實最重要的一點是,在軟體開發的過程中,如何從客戶那裡獲取正確、有效的需求,讓軟體專案在開發過程中“不跑偏”,這是每個團隊都需要仔細考慮的問題。如果最初的需求沒有明確,就開始著手開發,到最後可能會有很多東西需要修改,浪費大量的時間、精力和金錢。

    這件事說起來很容易,但實際做起來的時候,總會遇到各種各樣的阻力。所以,有很多人喜歡憑藉之前類似專案的經驗,或者自己對於業務的理解來做需求分析,要牽著客戶的鼻子有,甚至於替客戶決定如何來做系統。但是,這往往會導致客戶抱怨:你們做的系統不是我想要的,根本就不好用!其根本的原因就在於:我們不是客戶!

    那程式設計師如何獲取客戶的需求?

    閉門造車型

    也就是憑藉自己對行業的理解,或者是以往專案的經驗,猜當前專案的客戶會提出什麼需求,而不理會客戶的具體情況。

    大家也應該可以立刻給出結論,這樣的專案很難成功,即便是我們之前做過100個類似的專案,那麼在做第101個的時候,也會發現企業會有自己的特點,客戶會有自己的特點,畢竟我們做出的系統不是給機器人用的,而是給人用的,有人存在,就會有差別,我們就應該具體情況具體分析。

    積極溝通型

    作為程式設計師或者是專案經理,在開發的整個過程中積極地與客戶溝通,及時瞭解客戶的需求是否有變化。

    這種型別應該比上述的有很大的改善,但是我覺得需要注意的問題就在於溝通和資訊傳達的效率上。一般來說,可能這種工作會由專案經理來做,而不是由具體開發的程式設計師來做。這樣的話,就需要做溝通的人有充分的計算機知識和業務知識的儲備,既能夠了解客戶所說的話,也能夠把客戶所說的話正確地傳達給程式設計師,並且還可能會加入自己對如何在系統中實現的理解。

    現場客戶型

    這是敏捷開發中一個很重要的原則,就是在開發的現場要有客戶,不斷地提供對系統的意見和反饋。

    首先這一點很難達到,畢竟客戶也有自己的工作,很難整天地坐在我們旁邊為我們提供反饋。另外,如果說是一個或者有限的幾個客戶,那麼就需要他對所要負責的模組相關的業務知識都非常瞭解,這對於現場客戶的要求也是非常高的。

    上面幾種形式都是我們被動地來接收需求,其實我覺得我們還可以主動出擊,去找需求。

    觀察客戶型

    就是說我們要在客戶工作的時候一直觀察,看客戶是如何在實際工作中作出各種各樣的決定的,也瞭解客戶的工作方式和工作內容,看看如何能夠透過系統來幫助他們。

    一起工作型

    這種方式意味著我們要把自己下放到客戶的辦公室中,去和他們一起工作,有些邊緣性的工作,我們作為學徒的角色,幫客戶完成。

    上面的兩種方式所獲取的需求都是第一手的需求,而且透過和客戶一起摸爬滾打,我們不僅能夠獲取寶貴的需求和業務知識,而且還可以瞭解到客戶對於每個需求的迫切程度,以及完成每個需求能夠為客戶帶來什麼,這樣就可以做到知己知彼,百戰不殆,不出意外的話,可以達到一種雙贏的結果。

    然而,這需要高度的信任關係,畢竟行業之間都是有很多秘密的,不是一個公司的人,不一定會把很多資訊和資料放心地交給我們程式設計師,所以,一般來說,這兩種方式其實對於做自己公司內部專案的程式設計師來說會比較適用。

    總之,在獲取客戶需求的時候,我們要牢記一點,我們不是客戶,要想獲取有效的需求,想要做出客戶滿意的系統,那麼就要向客戶接近,多溝通,從客戶的角度來做系統。

  • 中秋節和大豐收的關聯?
  • 雙11是怎麼從光棍節轉變成購物節的?