## 連載:面向對象葵花寶典:思想、技巧與實踐(16) - 需求分析終極目的
**需求分析有三種級別,你自認為屬于哪一級呢 ? ? ---寫在前面**
============================華麗麗的分割線=============================
**需求分析的目的是什么?**
?
你可能會毫不猶豫的回答:需求分析的目的當然是了解客戶需要什么!
?
這個回答看起來是毫無疑問的,我們當然要了解客戶需要什么,我們才能給他們做出他們想要的。
但只做到這樣就可以了么?
?
我們來看一個簡單的需求,客戶找到你說:“我要一只羊!”
這個需求夠簡單吧?那你是不是毫不猶豫的就抓一只羊給客戶呢?
?
如果你這樣做了,如果你運氣好,客戶可能非常滿意,但大部分情況,也許客戶很不滿意,為什么?
我們來看“我要一只羊”這個需求的多個版本:
圖一:
一個饑腸轆轆的人說,我要一只羊,用來烤著吃!
(來源于網絡:?[http://soufun.com/Album/PictureDetail_40800605_200_127935903.htm](http://soufun.com/Album/PictureDetail_40800605_200_127935903.htm)?)

圖二:
一個慈愛的父親說,我要一只羊,給我小孩做寵物!
(來源于網絡:?[http://ww4.sinaimg.cn/mw600/763f9322jw1duqu3vsy6wj.jpg](http://ww4.sinaimg.cn/mw600/763f9322jw1duqu3vsy6wj.jpg)?)

圖三:
一個農場主說,我要一只羊,生小羊!
(來源于網絡:?[http://cs.cq.gov.cn/upfiles/2009-3/20093293042143.jpg](http://cs.cq.gov.cn/upfiles/2009-3/20093293042143.jpg)?)

看了上面這幾幅圖,相信你就大概明白了:客戶會告訴我們他們的需求,但大部分情況都不會告訴你需求背后的問題。而需求分析的終極目的,就是要“**挖掘客戶的問題,實現客戶價值**”!
?
因為只有你提供的東西,最后能夠解決客戶的問題,客戶才會滿意。如果你提供的東西,沒有解決客戶的問題,就算你是一五一十的按照客戶提的來做的,客戶還是不會滿意,客戶不滿意,你的BOSS就會不滿意,你的BOSS不滿意,你的上司就會不滿意。。。。。。最后,損失最大的還是你!
?
但我們為什么費心費力的要去挖掘客戶的問題呢?客戶難道不會直接告訴我們么?
客戶當然不會告訴你“我餓了”,因為這是他的問題,不是他的需求,他告訴你“我要一只羊”,這才是需求,只是這個需求是解決他的問題的。
?
但既然這樣,我們為什么要管他的問題,直接滿足他的需求不就得了?
這又涉及另外一個問題,大部分的客戶都會基于自己的經驗、知識、閱歷等,自己設計一個解決方案,然后作為需求向你提出來。如果你碰上懂行的客戶,那自然要謝天謝地了;
但是絕大部分情況你碰到的客戶可能就是每天坐在辦公室,一張報紙一杯茶,上上網打打牌,然后接到某個領導的“信息化”任務,然后就給你提了一個需求!
?
除此之外,深入了解客戶的問題,有助于你更好的實現需求。就舉前面的“我要一只羊”的例子,
如果客戶是用來吃的,也許你更應該提供一頓烤羊肉,或者一只大羊腿,客戶會更加滿意;
如果客戶是用來給他小孩做寵物的,那么給一只雪白的漂亮的小羊羔也許他的小孩更高興;
如果客戶是用來生小羊的,那么給一只強壯的成年母羊是更好的選擇。
?
一般來說,需求分析有三重境界,分為“記錄員”、“分析員”、“引導員”三個級別,我們以上面提到的“我要一只羊”的需求來作為樣例:
**1)?第一重:記錄員,記錄客戶的需求;**
需求分析人員記錄下了如下需求:XX客戶需要一只羊,品種:綿羊,顏色:白色,重量:20Kg。
點評:只是簡單記錄了客戶的需求,沒有明白客戶的問題,如果真的提供了一只羊,肚子餓的客戶可能會再次提出要將羊烤好(或者做羊肉湯)。
?
**2)?第二重:分析員,和客戶一起分析問題,完善需求;**
需求分析人員記錄下了如下需求:XX客戶肚子餓了,需要一只羊烤著吃,由于客戶并不會自己烤羊,因此我們需要提供一只烤好的羊。
點評:發現了客戶的問題,需求調整為“烤好的羊”,這個已經能夠解決客戶的問題了,但還不夠完美。
?
**3)?第三重:引導員,能夠引導客戶的需求;**
需求分析人員記錄了如下需求:XX客戶肚子餓了,需要一只羊烤著吃,但目前是夏天,烤羊火氣太重,經過與客戶溝通,客戶更愿意吃一頓冰鎮啤酒海鮮大餐。
點評:發現了客戶的問題,并且引導客戶將需求調整為更合理的需求。
?
我們可以看到,**要想做好需求分析,要時刻抓住“客戶的問題和價值”這個指導思想**!
===============2015.02.17補充========================
網上看到一個更加生動和更加深入解讀的文章,大家可以參考:[用戶都是騙子](http://www.yixieshi.com/ucd/20359.html)
- 前言
- (1) - 程序設計思想的發展
- (2) - 面向對象語言發展歷史
- (3) - 面向過程 vs 面向對象
- (4) - 面向對象是瑞士軍刀還是一把錘子?
- (5) - 面向對象迷思:面向對象導致性能下降?
- (6) - 不要說你懂“類”
- (7) - “對象”新解
- (8) - “接口” 詳解
- (9) - “抽象類” 詳解
- (10) - “抽象” 詳解
- (11) - “封裝” 詳解
- (12) - “繼承” 詳解
- (13) - “多態” 詳解
- (14) - 面向對象開發技術流程
- (15) - 需求詳解
- (16) - 需求分析終極目的
- (17) - 需求分析518方法
- (18) - 用例分析
- (19) - 功能點提取
- (20) - 用例圖的陷阱
- (21) - SSD
- (22) - 領域模型
- (23) - 領域建模三字經
- (24) - 設計模型
- (25) - 類模型
- (26) - 類模型三板斧
- (27) - 動態模型設計
- (28) - 設計原則:內聚&耦合
- (29) - 高內聚低耦合
- (30) - SRP原則
- (31) - OCP原則
- (32) - LSP原則
- (33) - ISP原則
- (34) - DIP原則
- (35) - NOP原則
- (36) - 設計原則如何用?
- (37) - 設計模式:瑞士軍刀 or 錘子?
- (38) - 設計模式之道
- (39) - 設計原則 vs 設計模式
- (40) - DECORATOR模式
- (完)- 書籍已經出版