天天看點

需求管理之客戶需求何時休?

      我想看到這樣的标題,對于每個搞軟體的朋友來說,肯定是很有興趣的。因為這已經成為每個軟體開發者的心頭大患,客戶需求在軟體這個獨特的行業裡,展現着最獨特的含義,因為需求是軟體項目存在的意義所在,而需求的變化讓軟體最後攆手不着,我們大家都會有“客戶需求何時休?”的體會。

軟體是服務于業務需求的,沒有業務需求的軟體肯定是沒有價值的,國内的軟體業普遍現象是:軟體項目遠遠大于軟體産品。這也是國内軟體所面臨的一個嚴重問題,國内軟體好象在死亡線上掙紮,項目成為軟體企業生存的唯一依賴,而項目恰恰是最難于伺候的。

軟體公司在積累一定的項目經驗基礎上,應該形成具有自我産權核心的技術與經驗,把這經驗總結與彙內建産品,才有可能大踏步的前進。然而這說來簡單啊,本以為一個個的項目可以為以後的産品積累資金與經驗,然而每個項目的需求不斷變化,無休止的修改與維護,利潤趨向于零;人才也“超市場規律”的流失,經驗也“人去樓空”。

軟體項目非常強調客戶需求,而國内軟體業好象對客戶需求不夠重視,不管是新上任的項目負責人還是有經驗的項目負責人,好象都重技術,輕需求。中國的軟體人員們都在追求高技術,好象技術好就是老大,21世紀誰最紅----軟體技術高手。你看看一個個軟體技術高手,在網上聽到的都是“大哥”“大俠”“高手”,這過分的崇拜技術也是導緻輕視客戶需求的一個原因,軟體不是技術的積累,不是技術好就能設計軟體,技術是可以解決軟體開發中的一些問題,但它隻是解決軟體怎樣實作,而不能解決軟體如何去做。

項目開始了,設計者們都把了解客戶需求作為軟體的需求,把客戶的要求拿回來後看看就着手DB設計,然後系統架構,接着開發,這也可以了解,因為我相信中國的軟體項目好象沒有一個不是急的。問問IT的同行們“項目急嗎”,十有八九說“急啊,急死人了”。沒辦法啊,需求看着那麼簡單,報價自然便宜了,結果問題卻很多很多,再不抓緊就是虧老本的事了。

最後呢,客戶驗收的周期遠遠大于開發周期,很簡單,客戶需求被低估了,驗收時客戶常會說:

這裡的關系不是這樣的,應該是那樣那樣

我們的流程不是這樣走的,應該是那樣那樣

這裡不是一一對應的,而是一對多的關系

要是這裡删除了,那裡怎麼會出錯呢

這個最好做成可維護的,我随時需要添加(fuck)

這時你的心肯定是拔涼拔涼的,問題是越改越多了,一方面是因為軟體設計時确實誤解了客戶的意思,二是客戶也是在使用時才想起來應該那樣那樣。有時客戶初期說的和後來說的是沖突的,可以了解,客戶天生就沒有這麼強的邏輯性的,但作為軟體開發,你又能把客戶如何?他才是上帝,你難道非要讓客戶承認錯誤,承認不承認你都得改,平不了自己的氣還要得罪客戶,還是認命吧。這修改需求啊,就跟任賢齊說的:“一個還沒過去,一個又來侵襲”。

其實問題出在開頭,客戶需求隻是軟體需求分析的一部分,雖然是比較重要的一部分,但也不要隻是去記客戶的需求,而是要把客戶的需求進行分析,分析什麼?

客戶本身是不怎麼懂技術的,客戶隻知道自己的業務需求,而在軟體設計時,是在把業務需求抽象到系統中實作的,把業務轉變為邏輯時,一切都應該符合邏輯的,但客戶的業務思想有時候在軟體系統實作時會有問題的,這就需要分析時分析出來的。少了分析,問題也會在後面的開發中暴露出來,到時可就更麻煩了。

還有客戶的需求本身會有沖突(這沖突是指在邏輯角度來講),客戶本身是意識不到的,隻有在分析設計時,才會分析出這裡的沖突,而這些問題,如果在期初時,軟體負責人不分析,而是純粹的“聽從”客戶要求去做,當暴露這些問題時,你怪客戶也沒用啊。

是以,很簡單,在了解客戶需求時,不要不動腦子,不要一味的點頭說“I C”,其實在表面的業務裡面可能包含着N多的細節,這些細節是需要你反問客戶的,隻有當你提的問題越多,最終擷取的需求最具體,才能讓項目越順利。而且有很多問題,都是在你的反問中,客戶也才開始思考本來沒思考過的問題,客戶也會找到一種合理的需求給你,有人會覺得這樣了解客戶需求未免太麻煩了。至于一些在技術上會遇到問題的地方,也要告訴客戶,别以為到時候再說,客戶是不關心你的技術細節的,但你如果給他解釋的話,他也會試着了解的。

項目就算急,也不能急在需求分析上,軟體再小,需求再簡單,我想不可少的就是需求分析。在需求分析階段解決問題的代價是最小的,越往後就成次方級遞增。是以,要讓你的項目能順利下去,不要再追求技術了,冷靜的先分析一下客戶需求才是最關鍵的。

   客戶的需求本身是無休止,因為他們本身也在變,但當你期初的分析合理,後面的變動也将在邏輯上變動,相信代價已經不會那麼大了。這其實也展現了系統的擴充性。

       别指望着客戶需求會停止,我想大家都有這方面的體驗,當然了,也不是說客戶的需求分析出來後都要去做,由于項目的價格,在軟體設計時還是要分析哪些應該實作,哪些應該放棄,因為做項目跟做産品完全不一樣,要對客戶的需求進行合理的分析,該舍的還是要舍。但有一點可以相信,當系統最後表結構出問題,邏輯上不符合業務時,那肯定是需求分析沒做好。要記得下次需求分析時多問問清楚了。

   其實這些道理大家都知道,但在實踐中卻往往被忽略了,以此文章隻是想讓大家引起注意,客戶的需求雖然不可能休止,但我們可以把代價壓縮的盡可能小。

繼續閱讀