軟件需求管理則是指一個為系統(tǒng)的需求進行啟發(fā)、組織、建檔的系統(tǒng)方法,一個建立和維護客戶和項目團隊之間關(guān)于變更系統(tǒng)需求所達成的一致性的過程。軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是確定系統(tǒng)必須完成哪些工作,它是軟件定義階段中的最后一步,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。那么,在實際管理工作中,會有哪些疑問呢?
1.需求工作涉及到哪些內(nèi)容?
首先需求包括了產(chǎn)品需求,用戶需求,軟件需求。產(chǎn)品需求關(guān)注的是產(chǎn)品的標準化和通用化,會對收集到的用戶需求進行分類和優(yōu)化,結(jié)合業(yè)界標準系統(tǒng)模型進行抽象并通用化。用戶需求反映的是用戶面臨的問題域,根據(jù)問題域用戶期望的能夠達到的解決效果;而對于軟件需求則是用軟件工程的語言結(jié)構(gòu)化和文檔化的對用戶需求和產(chǎn)品需求的描述。
需求工作涉及到需求開發(fā)和需求管理。需求開發(fā)涉及到需求調(diào)研,需求收集,需求分析,需求開發(fā)等工作,其中的重點有業(yè)務(wù)流程,數(shù)據(jù)字典,業(yè)務(wù)規(guī)則,界面原型。對于基于面向?qū)ο蟮拈_發(fā)方法則涉及到業(yè)務(wù)用例,系統(tǒng)用例(涉眾,基本流,擴展流,業(yè)務(wù)規(guī)則,界面,操作)等諸多內(nèi)容。需求管理工作涉及到需求的狀態(tài)管理,變更管理,需求的跟蹤,需求的驗證和確認等重要內(nèi)容。
在我們需求分析和開發(fā)中,最容易忽視的主要有兩點,一個就是缺乏需求分析和開發(fā)的過程,把用戶需求直接作為了軟件需求,沒有需求建模和抽象的過程。另外一點就是對于性能,安全,易用性,可維護性和擴展性等非功能性需求沒有考慮,導(dǎo)致開發(fā)出來的系統(tǒng)是一個不好用的半成品。CMMI把需求管理放到2級,需求開發(fā)放到3級,實際上真正的提高需求人員的需求分析和開發(fā)能力才是解決需求問題之道。需求分析開發(fā)做不好,需求變更或追蹤管的再好也沒有用處,在這點上一定不能本末倒置。
2.為什么要做需求管理,需求管理包括哪些工作?
需求管理就是IT項目中的范圍管理,需求管理是整個IT項目的源頭,IT項目的估算,計劃,后續(xù)的跟蹤控制,驗證和確認等各項工作都是跟需求密切相關(guān)的。因此為了保證項目的進度,質(zhì)量和成本的目標的順利實現(xiàn),保證項目計劃的嚴肅性和可執(zhí)行性;為了保證軟件系統(tǒng)最終開發(fā)的產(chǎn)品正是客戶期望的產(chǎn)品,必須要做好需求管理工作。
需求管理工作應(yīng)該是需求全生命周期的管理,從用戶原始需求的提出,到最終形成軟件產(chǎn)品后用戶對需求實現(xiàn)情況的驗證以形成閉環(huán)流程。因此我們需要跟蹤和了解到需求狀態(tài)的演變過程。大型的項目軟件生命周期模型較為復(fù)雜,一個需求的實現(xiàn)會經(jīng)過用戶需求,軟件需求,總體設(shè)計,詳細設(shè)計,開發(fā)和單元測試,集成測試,系統(tǒng)測試和驗收測試多個環(huán)節(jié),在這個過程中需要建立需求追蹤以確認需求和中間階段產(chǎn)生的工作產(chǎn)品的一致性。另外變更管理是需求管理的另外一個重點,需求在經(jīng)過評審確認后需要基線并受到控制,當(dāng)出現(xiàn)需求變更的時候必須進行相應(yīng)的需求影響分析以確認對需求變更的處理方式,當(dāng)變更工作量影響較大的時候還需要調(diào)整并重新基線項目計劃。
對于整個需求調(diào)研,分析和需求開發(fā),評審確認的過程也需要進行管理。在這個過程中的一個重點就是對需求輸出的文檔需要得到用戶,項目組設(shè)計開發(fā)人員的共同確認和承諾。
3.做好需求分析需要具備哪些知識?
需求分析崗位主要承擔(dān)的是系統(tǒng)分析員的工作,做需求分析的人員要有軟件工程基礎(chǔ)知識的積累,而且最好有一定的軟件開發(fā)經(jīng)驗積累。自己做過設(shè)計開發(fā)工作的