不要用技術來主導需求分析

很多系統分析師喜歡用技術的眼光來看客戶的需求。當客戶提出他們的看法之後,系統分析師便把客戶的語言直接「轉變」(Transform)成技術語言,然後在心中建構出軟體的藍圖;然而,當我們依此藍圖實作出資訊系統,交付給客戶之後,客戶卻告訴我們說:「是的,你所開發的系統看起來很酷;但它卻不是我所需要的」。

這就是導出客戶需求常發生的障礙之一,也就是所謂的「是的,但是~」症候群。但這種症候群的問題是出在那裡呢?其實是因為我們沒有花了解客戶在業務上真正所面臨的問題。當客戶告訴我們他所需要的功能時,其實是以為這些功能可以解決他們的問題,但這種假定可能是錯誤的,這也就是系統分析師必須要做的工作,了解客戶業務上面臨的問題,找出他們真正需要的是什麼,然後才提出資訊解決方案;如果我們只是照著客戶提出的功能來開發資訊系統,而沒有進一步地了解客戶需要解決的問題是什麼?他為什麼需要這些功能?當系統開發完成後,客戶會發現他的問題並沒有被解決,也就是認定我們所開發的資訊系統沒有符合他的需要。

系統分析師不要期待客戶告訴我們系統該做什麼;系統該做什麼應該是在充分了解客戶要解決的問題之後,透過我們專業知識來分析並規劃出來的成果。了解客戶要解決的問題並不需要技術能力,而是需要溝通及分析能力。技術人員最容易犯的迷思在於用技術來主導需求分析,可是那往往是災難的開始,因為這樣做我們抓不到問題的本質,我們的命題錯誤,用再好的技術也是罔然,一開始就走錯了,怎麼可能期待成功的到達目的地?

因此,需求分析絕對不是要客戶告訴我們他需什麼功能,然後系統分析人員把這些功能轉變成設計及程式碼。一個專業的系統分析人員,必須先了解客戶想要什麼東西(want),他關注的焦點是什麼(care what),再找出相關的原則及原理(what & why?),及形成的概念(know what)及理解原理(know why)。所以在需求導出時,不要只顧把客戶說的變成技術上的設計,記得問客戶「這個功能可以解決那些業務上的問題?」、「為什麼您覺得會有這個問題?」及「這個問題對公司有什麼影響?」這些問題。客戶對這些問題回饋才能讓我們思考並理解什麼是正確的事,系統設計及開發人員才能根據需求用正確的技術及方法掌握流程(know how)落實把事情做對,所以千萬別用技術來主需求分析

Please follow and like us:
分類: 分析設計建模, 問題解決, 軟體開發。這篇內容的永久連結

在〈不要用技術來主導需求分析〉中有 8 則留言

  1. 自動引用通知: 同人的生活派對 » 軟體設計須面對現實

  2. 自動引用通知: 同人的生活派對 » 軟體開發的沒問題症候群

  3. 自動引用通知: 同人的生活派對 » 委外與流程整合

  4. 自動引用通知: 同人的生活派對 » 軟體開發是工藝還是工程?

  5. 自動引用通知: 同人的生活派對 » 溝通的關鍵時刻

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *