需求分析面觀
上圖是每個角色從自己角色點出發了解需求,以致各種角色了解的需求是不一樣的…
常見的角色如下
客戶一方:
1.高層 leader:清楚專案目標與定位,期望在預算與時程內達成目標,需求是一定會堅持而不影響目標實現
需求作讓步。
2.中層leader:基本清楚專案目標,按照上層目標半是,確保高層的需求,對需求從嚴格把握,但有些狀況
會迷失方向。
3.基層使用者:不太清楚系統專案目標,只關心能不能解決實際工作上問題,常常會提出匪夷所思的需求,
連他自己都不知道自己要的需求是啥咪。
軟體公司一方:
1.高層主管:很清楚Customer目標,想辦法低成本滿足,從公司發展層面是處理客戶需求方面。
2.銷售人員:為了讓Customer接單,容易做出專案小組無法滿足承諾,給客戶高期望值。
3.PM:背負案子超大進度壓力,期望需求簡單,盡量少,容易背離專案目標,遇到需求變更,難以靜下心想。
4.軟體架構師:基本能了解專案需求,容易設計出【超前】的軟體架構,更可能迫於進度壓力,做出【粗糙】
的設計,甚至無設計,導致需求無法滿足,或者需要巨大開發工作量。
5.程式設計師:不清楚專案目標,對需求沒有全域觀對自己負責部分的需求了解不深。
6.測試工程師:不能得到【一手】需求,需求往往是開發人員告知,對於軟體需求充滿很多疑惑,沒有時間去
求證與佐證,容易陷入需求的細節,迷失專案目標
7.實施工程師:很清楚客戶基層需求,但向專案小組回饋意見不被重視,部份情況容易陷入需求迷思,迷失專
案目標。
註記:客戶一方:自己少花錢,讓軟體公司多做事情。
軟體公司一方:多拿客戶錢,少做事。
說明:嘴巴上說的需求與心目中的需求是有差異的,所以詞不達意是受表達能力所限制,不是每個人都能完整準確表達自己想法。
客戶需求認識是持續進化:今天客戶想要這個,明天想要這個,甚至不知道到底要的是什麼,客戶對需求認知與認識是在持續進化。
元哥的筆記