我想很多人可能會與我同感,一個項目做了很久,感覺總是做不完,就像一個“無底洞”。你想加人盡快完成這個項目,而用戶總是有新的需求要項目開發(fā)方來做,就像用戶是一個要求者,而開發(fā)方是在苦苦接收的接受者。實際上,這里涉及到一個需求管理的概念。項目中哪些該做,哪些不該做,做到什么程度,都是由需求管理來決定的。那么,到底什么是需求管理,從這幾天的學習中,我從理論上對此問題做了一個分析,表達一些自已的想法。
需求管理是軟件項目中一項十分重要的工作,據(jù)調(diào)查顯示在眾多失敗的軟件項目中,由于需求原因?qū)е碌募s占了很大的一部分,本人從事的工作經(jīng)歷中有好2次就是因為需求不明確,導致最終的系統(tǒng)不可控,項目陷入困境。因此,需求工作將對軟件項目能否最終實現(xiàn)產(chǎn)生至關(guān)重要的影響。雖然如此,在項目開發(fā)工作中,很多人對需求的認識還遠遠不夠,從本人參與或接觸到的一些項目來看,小到幾萬元,大到上千萬元的軟件項目的需求都或多多少的存在問題。
影響項目的最后成功的因素是多方面的,包括項目管理的九大知識領(lǐng)域(包括項目的整體管理、范圍管理、時間管理、費用管理、質(zhì)量管理、溝通管理、成本管理、人力資源管理、采購管理)。然而,要這九大知識領(lǐng)域?qū)椖砍晒Ξa(chǎn)生的影響的輕重程度上進行比較的話,我個人認為其中項目范圍管理中的需求管理是最為重要的。本文主要講述范圍管理中的需求管理部分。
有的是開發(fā)者本身不重視原因,有的是技術(shù)原因、有的是人員組織原因、有的是溝通原因、有的是機制原因,以上種種原因都表明做好軟件需求開發(fā)是一項系統(tǒng)工作,而不是簡單的技術(shù)工作,只有系統(tǒng)的了解和掌握需求的基本概念、方法、手段、評估標準、風險等相關(guān)知識,并在實踐中加以應(yīng)用,才能真正做好需求的開發(fā)和管理工作。在軟件項目的開發(fā)過程中,需求變更貫穿了軟件項目的整個生命周期,從軟件的項目立項,研發(fā),維護,用戶的經(jīng)驗在增加,對使用軟件的感受有變化,以及整個行業(yè)的新動態(tài),都為軟件帶來不斷完善功能,優(yōu)化性能,提高用戶友好性的要求。在軟件項目管理過程中,項目經(jīng)理經(jīng)常面對用戶的需求變更。如果不能有效處理這些需求變更,項目計劃會一再調(diào)整,軟件交付日期一再拖延,項目研發(fā)人員的士氣將越來越低落,將直接導致項目成本增加、質(zhì)量下降及項目交付日期推后。這決定了項目組必須擁有需求管理策略。
下面主要針對需求開發(fā)及需求管理兩個方面對需求進行分析。
1. 需求開發(fā),從目前我們的實際工作情況來看按順序主要分成如下幾個部分:
請教行業(yè)專家
行業(yè)客戶對信息化的需求越來越細化,對專業(yè)性以及行業(yè)能力的全面性要求越來越高,惟有深入行業(yè),洞察其需求,研發(fā)出更適合客戶需求的產(chǎn)品,才能成功。因此有必要先請這方面的行業(yè)專家對于客戶的業(yè)務(wù)需求進行從流程上的梳理。為什么請行業(yè)專家,而不是直接請客戶進行交談,得到其實需求,個人認為主要是因為目前各政府部門、企事業(yè)單位對于信息化與業(yè)需求的整合這一塊缺少經(jīng)驗,大部分情況還不能完全整理出完善、清晰的系統(tǒng)需求來。只有通過行業(yè)專家對其實業(yè)務(wù)流程進行梳理,一方面更容易與客戶產(chǎn)生共鳴,另一方面也可以大大減少因為知識方面的差異導致錯識需求的產(chǎn)生。
參考其他類似軟件和系統(tǒng)
在經(jīng)過與客戶的溝通,并形成初步的需求之后,不要急成正式的需求,請先參考一下以前的一些系統(tǒng),去理解一下了解到的需求與原先系統(tǒng)的差異,并去發(fā)現(xiàn)是否有些需求會產(chǎn)生錯識需求。項目經(jīng)理博客
業(yè)務(wù)建模
為需求建立模型,需求的圖形分析模型是軟件需求規(guī)格說明極好的補充說明。它們能提供不同的信息與關(guān)系以