專案經理怎確認客戶的需求?軟體需求接受準則是個好方法
最近開學開始在備課寫資料在昨天寫簡報中忽然我想到在CMMI Dev v1.3需求管理SP1.1工作產出與執行細則中有講到這表單 "需求接受準則" 【1】,在以前我當學生上課時洪老師【2】總是跟我說在CMMI的需求管理中有2個表單很重要,一個是需求接受準則一個是需求垂直水平雙向追朔表,當時負責需求這PA的業務同仁被叮慘後來換我接手規畫公司的需求管理,後來在洪老師指導中這部分就被我學起來,真是感謝洪老師的教導。
以下用我個人觀點來說明需求接收準則,在CMMIDev v1.3需求管理SP1.1細則中有提到,當業務、專案經理(PM),'系統分析師(SA)在接受客戶需求時,必須要核對這需求是否滿足需求接受準則,當時我作法是制定一個需求接受準則的原則,在公司的訪談記錄表或原始需求清單中備註來提醒公司的同事,要確認你收到需求是否是好需求,需求接受準則要求原則整理如下:
- 清晰而適當地表達
- 完整
- 相互的一致性
- 可個別界定
- 符合架構原則與品質屬性之優先性
- 可適當地實作
- 可驗證(也就是可測試)
- 可追溯
- 可達成
- 與商業價值緊密結合
- 經界定對客戶是重要的
我們可以透過公司內部教育訓練來協助業務、專案經理,系統分析師去了解公司的需求接受原則,舉個例,當客戶跟你講說我們要開發的系統要很安全、很快,這需求最少就不符合第一條的"清晰而適當地表達",我們用白話文說就是需求不能有形容詞要肯定句,系統安全要達到的等級項目有多少,很快是幾秒1秒,2秒、5秒是查詢畫面嗎?資料庫筆數是10萬筆還是100萬筆,在哪個網路網路環境來驗證。透過這樣教育訓練才有辦法讓公司團隊的訪談人員面臨客戶時才有辦法將客戶需求代回給開發人員,而不是開發人員看到這需求還要再安排一次或詢問業務或PM,這樣真是增加公司內部成本,我個人認為這是很小投資但作好可以幫助公司節省大量的需求訪談模糊要確認的問題,但是這還有一個要注意是訪談的會議紀錄要能記錄清楚,我在公司部落格有寫一篇教導如何寫好會議記錄文章興趣可以查閱【4】。
所以依照每公司的不同文化與開發習慣將上述的原則內化為公司的教育訓練的教材,會幫助公司相關的業務與技術人員提升專業度與節約開發成本是一個很好改善公司軟體流程的方法。
最後補充說明然後在新CMMI Dev v2.3 版【5】也有同樣說明,因為我是孰悉CMMI Dev v1.3需求管理,所以我用這來相關細節與與說明會比較清楚點,又因為CMMI 2.0條款與手冊是要額外付費,所以我不能貼上原文給各位,但CMMI Dev v1.3版是免費,各位若對CMMI 2.0版有興趣可以去查閱。
---------------------------------------------------------------------
引用文獻與資料來源
----------------------------------------------------------------------
【1】CMMI (Capability Maturity Model® Integration,能力成熟度模式整合) 起源於美國國防部與卡內基美隆大學 (Carnegie-Mellon University)合作所設立的軟體工程學院(Software Engineering Institute,SEI)
【2】個人在2004年受教已逝洪肇奎老師教導CMMI Dev1.1並參與公司認證,之後離開公司後又因緣際會於2009-2011與洪老師一起參與台中地區認證5家小型公司CMMI Dev1.3 ML2過程,老師委任我擔任助教角色陪同一起將這5家認證完成,個人累積很多經驗感謝老師的提攜。
【3】CMMI Dev v1.3需求管理 - SP 1.1瞭解需求細部執行方法中說到,建立區別適當需求提供者的準則清單及建立客觀的需求評估及接受準則。
【4】你的助理真會寫專案的會議紀錄嗎?
https://www.web123.com.tw/blog/1110
【5】Requirements Development and Management (RDM)需求發展與管理 中的RDM2.3與需求提供者就需求的含義達成一致,也有相同的描述,