1。對于需求和需求變更的理解
軟件需求是整個軟件項目的最關(guān)鍵的一個輸入,和傳統(tǒng)的生產(chǎn)企業(yè)相比較,軟件的需求具有模糊性、不確定性、變化性和主觀性的特點,它不像生產(chǎn)汽車、電腦等硬件的需求,是有形的、客觀的、可描述的、可檢測的。軟件需求是軟件項目最難把握的問題,同時又是關(guān)系項目成敗的關(guān)鍵因素,因此對于需求分析和需求變更的處理十分重要。
軟件需求變更會給項目帶來巨大的風(fēng)險,會導(dǎo)致項目的成本費用增加、開發(fā)周期延長、產(chǎn)品質(zhì)量下降及團隊工作效率下降等不良后果,因而需求變更在軟件開發(fā)項目中應(yīng)該盡量避免。然而由于政府對特定軟件的相關(guān)要求、用戶部門市場戰(zhàn)略的調(diào)整、工業(yè)界的發(fā)展等因素都可能帶來需求的變更,而這些因素往往不可避免。在軟件開發(fā)過程中如果只有一條真理的話,那一定是:需求的變化是永恒的,需求不可能是完備的。因而,對于需求變更應(yīng)該正確的對待,盡量將其負面影響降低到最低。
2。減少需求變更
正如前文所說,需求變更往往是不可避免的。通常是項目負責(zé)人員花費了大量的氣力避免需求變更,可最后需求變更總是會出現(xiàn)。但是這并不意味著項目開發(fā)人員不應(yīng)該做這方面的工作,項目開發(fā)人員對于需求變更的正確態(tài)度應(yīng)該和軟件測試的態(tài)度一樣,在需求并更發(fā)生之前盡量減少需求變更,以將需求變更帶來的風(fēng)險降低到最低。項目開發(fā)人員切忌在項目設(shè)計之前試圖消除需求變更,這樣做往往費力不討好。
相比于需求開發(fā)人員而言,客戶可能對需求變更認識不足,認為他們出錢,程序員或軟件開發(fā)公司就要為它服務(wù),因此客戶對需求變更往往將需求變更視為兒戲,隨個人喜好隨意變更需求。因此,在需求人員同用戶代表或用戶部門主管人員接觸時,就應(yīng)該向他們挑明態(tài)度,和他們協(xié)商好,特別是應(yīng)該讓他們清楚軟件的定價應(yīng)該與軟件的功能相關(guān),以及需求隨意變更所帶來的風(fēng)險的承擔(dān)者應(yīng)該由客戶和項目開發(fā)者共同承擔(dān)。通過這樣做,讓客戶在需求分析之前就盡量對他們所需要的功能有個整體的了解和確定的思路,而不是等到程序員開始編碼了,才提出以前原本在需求分析時就可以提出的需求。
讓客戶明白減少需求變更的重要性后,需求分析人員應(yīng)該采取合適的方法同客戶交流,幫助他們明確他們的需求。需求分析人員和客戶的關(guān)系不應(yīng)該僅僅是記錄人員和需求提供者,他們的關(guān)系應(yīng)該更多的是戰(zhàn)略合作伙伴關(guān)系。雖然需求分析人員和客戶存在著服務(wù)商和顧客的關(guān)系,但是他們有著一個共同的目標:開發(fā)出適合客戶需求的軟件,因此需求分析人員除了記錄客戶提出的需求以外,還應(yīng)和用戶討論,提出一些建議,使用合適的工具幫助客戶提出需求。在需求分析時,盡量多的召集需求研討會,邀請開發(fā)人員和客戶共同協(xié)商探討,在研討會上允許任意的提出需求,并將這些需求整理成檔后由客戶代表和需求分析人員共同商議可選的功能,這樣能夠盡量使得需求完備。在需求開發(fā)時,開發(fā)人員采用原型的方法啟發(fā)客戶思考功能需求也不失為一個好辦法。
雖然需求不可能是完備的,但是在項目開始設(shè)計時盡量使得需求完備還是應(yīng)該的,也是值得的。
3。規(guī)范文檔
需求文檔作為客戶和開發(fā)人員的接口在整個項目開發(fā)過程中起著舉足輕重的作用。需求文檔應(yīng)該按照一定的格式和規(guī)范書寫,而且應(yīng)該具備完整性、一致性、基線控制、歷史記錄等特性。文檔書寫完畢以后應(yīng)該交給客戶審閱,在客戶滿意的基礎(chǔ)上確定基線。一個完整規(guī)范的需求文檔不僅能夠有助于設(shè)計人員和編碼人員完成項目開發(fā),更重要的是它作為一個階段性的成果可以供軟件需求變更時參考。
需求變更發(fā)生后,也應(yīng)該生成相應(yīng)的文檔,并且這些文檔的書寫也應(yīng)該采用規(guī)范的形式書
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html