《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.3 给客户带来价值,需求分析之正路...
第2章 耗盡腦汁的需求分析工作
摘要:怎么又變了?當初就應該讓客戶書面簽字確認!你可能會經常發這樣的牢騷,可是就算客戶書面確認,客戶還是會“賴賬”的!軟件項目的其中一項不變真理:人是會死的,需求是會變的!本章將會和你一起來體驗軟件需求分析工作的風風雨雨,找出需求分析工作的根本之道,了解UML如何幫助我們提升需求分析的水平。
2.3 給客戶帶來價值,需求分析之正路?
手機短信訂餐系統
接下來我將會介紹一個手機短信訂餐系統的故事,這是一個由真實個案改編的故事,通過這個故事來體會需求分析工作背后的道理。
某IT公司規模不大,員工100來人。公司有一個簡單的定餐系統,員工每天可以在公司內部網站上提交當天午餐定餐,前臺匯總各人定餐后,將定餐匯總傳真給餐廳,餐廳根據傳真送餐。
可是有這樣的問題:部分員工因為上午請假或者外出工作,無法再網站上提交訂餐,以至于中午回到公司時沒有飯吃。
于是老板想出了這樣的辦法:做一個手機短信定餐系統,不在公司的員工可通過手機短信定餐。
于是成立了手機短信定餐項目小組,購買了手機短信收發的硬件,解決了選餐單、定餐、取消定餐等技術問題。但這個系統一會靈一會不靈,問題是出在軟件、硬件,還是中國移動都難以搞清楚!做項目做麻煩的事情之一就是遇到“幽靈問題”,時而出現時而正常,項目小組揮汗如雨地試圖解決這些問題,可一直沒有辦法搞定。
老板大發雷霆了,怎么這樣小的事情,竟搞成這個樣子?
后來有人提出來:不在公司的員工,打電話回公司告訴前臺吃什么,不就搞定了?
于是全世界恍然大悟,天啊!
需求分析核心的問題就是客戶到底想要什么的問題!
客戶往往只會有朦朧的大概的想法,他們提出來的需求,只是表面的,不全面的,甚至是互相矛盾的,我們需要透視它的本質。
我們做需求分析工作,往往會將需求分析和軟件設計混在一起。需求分析核心目的就是解決軟件有沒有用的問題,而軟件設計是解決軟件用多大的成本做出來的問題。
需求分析首要任務是保證軟件的價值,我們必須保證做出來的軟件是符合客戶的利益的。如果我們不能看清楚客戶的真正需要而倉促上馬,則很可能付出巨大成本仍然不能滿足客戶的利益。
手機短信定餐系統要解決的問題其實就是:讓不在公司上班的員工也能方便地定餐,手機短信定餐系統本身并不是需求,只是一種解決方案而已。當然因為這個要求是老板提出來的,所以項目組可能就沒有進一步思考這個系統的必要性了。我們的客戶提出具體要求的時候,我們往往不能思考這些要求背后的需要是什么,而直接將這些客戶要求當成客戶需求來處理。
給客戶帶來切實的價值才是我們真正的任務,而不是盲目聽從客戶的要求而不加分析。
需求分析的大道理
軟件需求分析工作到底是一個怎樣的工作呢?我們如何才能把握住真正的客戶需要,做出給客戶帶來實在價值的軟件系統呢?
我們說說需求分析的一些大道理:
首先我們需要明確項目的背景,我們要回答這些問題:也就是為什么會有這個項目?客戶為什么想做這樣的一個項目?如果沒有這個項目會怎樣?
了解背景的基礎上,我們需要進一步了解以下內容:
1) 本項目解決了客戶的什么問題?
2) 本項目涉及到什么人、什么單位?
3) 本項目的目標是什么?
4) 本項目的范圍是怎樣的?
5) 本項目的成功標準是什么?
以上這些內容,我們稱之為客戶的“需要”。
接下來,就可以定詳細的需求規格說明書了,一般我們會對功能性需求和非功能性需求都列出詳細的要求,我們把這些要求定義為“需求規格”。
?
圖 2.3??背景 需要 需求規格
做需求分析工作時,我們往往只看到“需求規格”這個層面,這是很表面的需求。我們應該透視這些表面的需求,去挖掘客戶的“需要”。如果我們不清楚客戶的“需要”,就很容易被“需求規格”所“迷惑”,難以做出對客戶有實際價值的軟件系統。
我們再回顧一下“需求分析面面觀”小節中提到的各種角色的特點,越是基層的客戶,他越容易提出“需求規格”級別的需求,越是高層的客戶越容易提出“需要”級別的需求,當然有時候連客戶中高層也不能很清楚的描述自己的“需要”是什么。
項目組不應該只將自己定位在軟件的制造者,而應該是軟件價值的創造者。我們不是為客戶提供一套軟件系統,而是提供一套能提升客戶價值的服務。所以項目組不應該被動地接受需求,而應該主動出擊,幫助客戶找出真正的需要,整理出符合客戶需要的需求規格。
如果我們能說出客戶內心深處真正想要的,而客戶又不能表達出來的東西,我們才能真正做到“為客戶帶來價值” !UML將會幫助我們提升需求分析的能力。
?
?
?
請看下一節……
?
作者:張傳波
創新工場創業課堂講師
華為某團隊高級顧問
《火球——UML大戰需求分析》作者
www.umlonline.org 創辦人
?
總結
以上是生活随笔為你收集整理的《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.3 给客户带来价值,需求分析之正路...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ExtJS4.2学习(9)——MVC
- 下一篇: 8月下旬国内域名注册商净增量Top10