程序員應知-我們不是客戶[1]

學識都 人氣:4.35K

在系統開發的過程中,如何從客戶那裏獲取正確、有效的需求,是每個團隊都需要仔細考慮的問題。如果最初的需求沒有明確,就開始着手開發,到最後可能會有很多東西需要修改,浪費大量的時間、精力和金錢。

程序員應知-我們不是客戶[1]

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

很多人都清楚的一個原則是,在做系統的時候要從客戶的角度出發,但什麼是客戶的角度呢?在明確這個問題之前,我想大家應該瞭解我們程序員與客戶之間的一些區別。

首先,我們和客戶使用計算機的水平不一樣。這一點是客觀存在的,我們作爲程序員,計算機就是我們戰鬥中的槍,那必然是非常熟悉,而且整天24小時至少會有十幾個小時在和計算機打交道,每個人熟悉的軟件至少也會有十幾種。而作爲客戶,可能只是在上班的時候使用,而且使用的軟件非常有限,一般就是Office,加上有限的幾個軟件。

其次,我們和客戶對業務知識的掌握不一樣。客戶的業務知識就是他所從事的行業的知識,比方說對於一個保險公司的業務人員來說,他們的業務知識就是與保單、代理人、承保、理賠、保全相關的各種內容,而對於貿易型企業來說,他們的業務知識就是與採購、銷售、產品、訂單等相關的內容。如果我們沒有做過相應的行業軟件的話,那麼我們的業務知識就很差。這也正是爲什麼好多軟件公司想要做一種行業軟件時,所存在的壁壘。

既然有了這麼大的不同,那麼我們想要從客戶的.角度出發,就要以客戶的計算機水平和業務水平來考慮,這樣做出的東西纔是給客戶用的,而不是給我們程序員用的。

想要達到這個目的,首先我們就要從自己做起,努力去學習各種業務知識,要有不恥下問的精神,千萬不要覺得自己是做IT的,就孤芳自賞,而對於其他行業的人員,就覺得不如自己。古語說得好:三人行,必有我師。每個人的知識都有不同的重點,客戶中有很多人掌握着我們所不知道的知識,不向他們請教、學習是不行的。

然後就是要多多與客戶溝通,不同時間、不同地點、不同的環境中,客戶的想法也會有所不同,這也正是需求的變更,我們不能要求客戶提出的需求是一成不變的,有人說過,唯一不變的就是變化!想要解決這個矛盾,我覺得最有效的方法就是溝通,這樣的話,如果客戶的需求有了變化,我們會在第一時間瞭解,併爲其做相應的工作,這樣可能就會節省出很多的時間和精力。並且,溝通是會增進我們與客戶之間的感情的,如果雙方都認爲對方是自己的朋友,很多麻煩的事兒也就迎刃而解了。

接下來,我想和大家聊聊當前做系統時,獲取需求可能的幾種做法,並提出自己的淺薄的意見。