需求是整個軟體專案當中最重要一項輸入。軟體開發和傳統生產行業最大的區別在於,需求總是模糊的、主觀的和隨時變化的。相對於電子產品、汽車等製造行業有形的硬體需求,軟體開發的需求的描述和驗收是個難以解決的問題。
但是需求又是整個專案能否成功的決定性因素,所以我們必須對需求進行管理,從而使需求成為整個軟體工程的基線。使得所有產品、設計、研發、測試、運維工作能圍繞著統一的需求開展。保證專案能順利進行,完成目標。
需求管理的難點?
一般情況下,需求難以管理的原因有以下幾方面:
1、需求描述的問題
一般來說,最容易造成開發出來的產品與設計功能不符的原因便是需求描述的問題了。其實大部分情況下,寫需求文件的人沒有錯,看文件的人也沒有錯。共享文件不等於達成共識。只是因為面對同一段描述,人與人之間的理解不相同,而且這種情況是一定會發生的。所以對於需求,一定要基於團隊面對面討論,保證對需求的理解一致。
2、需求變化的問題
需求變化的原因很多,如一開始沒有識別全,新增需求;業務變化導致需求變化;需求有誤;需求不清晰等。需求變化將導致從設計方案到編碼測試的修改,延遲交付,帶來諸多麻煩。這就需要團隊在迭代進行前,儘量保證需求清晰明確。
3、需求的優先順序及排期問題
什麼樣的功能能對使用者產生最大的價值,這是需求管理中最重要的問題。因為在軟體開發中,你想要開發的功能,永遠比你能投入的資源多。因此,找到這一部分最有價值的功能,優先處理,儘早交付,才是需求管理的核心所在。
需求是整個軟體專案當中最重要一項輸入。軟體開發和傳統生產行業最大的區別在於,需求總是模糊的、主觀的和隨時變化的。相對於電子產品、汽車等製造行業有形的硬體需求,軟體開發的需求的描述和驗收是個難以解決的問題。
但是需求又是整個專案能否成功的決定性因素,所以我們必須對需求進行管理,從而使需求成為整個軟體工程的基線。使得所有產品、設計、研發、測試、運維工作能圍繞著統一的需求開展。保證專案能順利進行,完成目標。
需求管理的難點?
一般情況下,需求難以管理的原因有以下幾方面:
1、需求描述的問題
一般來說,最容易造成開發出來的產品與設計功能不符的原因便是需求描述的問題了。其實大部分情況下,寫需求文件的人沒有錯,看文件的人也沒有錯。共享文件不等於達成共識。只是因為面對同一段描述,人與人之間的理解不相同,而且這種情況是一定會發生的。所以對於需求,一定要基於團隊面對面討論,保證對需求的理解一致。
2、需求變化的問題
需求變化的原因很多,如一開始沒有識別全,新增需求;業務變化導致需求變化;需求有誤;需求不清晰等。需求變化將導致從設計方案到編碼測試的修改,延遲交付,帶來諸多麻煩。這就需要團隊在迭代進行前,儘量保證需求清晰明確。
3、需求的優先順序及排期問題
什麼樣的功能能對使用者產生最大的價值,這是需求管理中最重要的問題。因為在軟體開發中,你想要開發的功能,永遠比你能投入的資源多。因此,找到這一部分最有價值的功能,優先處理,儘早交付,才是需求管理的核心所在。