軟件項目中需求的開發和管理



引言

在軟件開發過程中,項目最開始的信息來源於客戶需要處理某件事情或某項工作,一般都是臨時性,緊急性,獨立性和系統性的的。所以這就導致我們承接項目後項目的不確定因素就非常多。在這其中項目需求的分析與理解尤其重要。在軟件項目開發過程中40~60%的缺陷都是由於項目前期的需求理解和需求分析的失誤所導致。所以要做好項目的前提就必須要對項目的需求進行嚴格的開發和需求的管理。本文將根據自己的經驗來分享項目過程中需求的開發和管理。

需求參與者

 需求是提出來需要實現某種特定事情的描述,那麼不同的人針對同一個事情站的角度不同提出的需要肯定是不一樣的。我們需要了解參與需求討論用戶角色是什麼樣的,才能更好的去理解客戶提出的需求。一般參與需求討論的用戶角色可以分爲如下幾類:

² 客戶中高層:主要關注項目本身能給我帶來什麼價值,能簡化公司的什麼業務,能否提高公司的效益。這層客戶一般提需求或討論需求時都模棱兩可,會從整體,大局去提需求和確認需求。我喜歡用前景和範圍來記錄和確認這些需求。

² 項目負責人:主要關注項目的人員投入,項目的進度和質量。他們一般不會在項目的需求上面去提一些意見,但他們對項目的整體進度和質量是非常看重的,因爲這涉及到他們的業績和對貢獻點。他們是一個很好的資源,能協助解決項目開展和進行中的一些客戶問題。

² 項目用戶:項目真正的使用者,他們會更加的關注業務功能和流程能否簡化他們的工作。他們一般只會關注跟他們有關的功能模塊的需求,對整體的需求不會太關注。這就導致了他們提的需求可能是站在自身利益的角度去思考的,切勿以偏概全。但是這類需求是整個項目的最基礎組成部分,我們需要去結合客戶領導和客戶用戶各方面的意見。最後統一個雙方都滿意的需求清單。我喜歡用模塊列表和功能列表來整理這類需求。

需求類型

在項目前期與客戶的頻繁溝通交流中,我們需要對客戶提出的需求進行歸類分析整理。

項目需求一般分爲以下兩個方面來考慮:

² 功能性需求:客戶爲需要實現一個具體功能而提出,一般是需求比較明確,大多數情況下這些需求都是由項目使用者提出,一般都包括系統整體建設需求,模塊功能需求,業務需求。

² 非功能性需求:這些是客戶的一些額外要求,比如說UI風格,項目性能,項目質量,項目約束等等。

需求開發

通過前面的分析和整理,我們在這裏就需要跟客戶確定需求的前景和範圍以及驗收的標準了。那麼在這個過程中,我們需要耳聽八方,多跟客戶溝通,深入挖掘客戶的需求,理解客戶對需求背後的期望值。分析整理好每次與客戶溝通的記錄。建立需求的基線,收集記錄客戶的每一個需求,引導客戶的談談對需求的想法,讓客戶充分的參與到項目中來。不要閉門造車。最終整理成一份有效的需求規則說明書。

需求管理

一旦團隊有了初步的需求有,就必須處理好開發過程中不可避免來之客戶、管理層以及其他羣體的需求變更,要進行有效的需求管理,必須記錄每一個過程。

² 設定變更控制過程:確定需求管理過程中的工作模式。

² 分析變更的影響力:分析需求變更帶來的影響力,對項目的進度,項目的成本影響,並確定是否繼續執行需求變更。

² 維護變更歷史記錄:記錄每次需求變更的信息,變更的原因。

² 維護每個需求狀態:時刻更新功能需求的狀態,完成,未完成,刪除,進行中,變更等。

² 創建需求跟着矩陣:用圖表的方式記錄需求的前後變更信息。

 

發佈了47 篇原創文章 · 獲贊 33 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章