在開發(fā)項目過程中,用戶隨時會提出一些新的需求玷或,要求開發(fā)人員解決儡首,這些需求的提出,有時在開發(fā)階段中有時在開發(fā)階段后偏友。這種在需求分析的兩個相鄰子階段中蔬胯,或者在迭代周期的需求分析中,后一段或周期的需求分析結果與前一次不一致约谈,?我們把這種不一致稱為需求變更笔宿。產生需求變更的原因主要有以下幾個方面:
(1)在需求分析階段,開發(fā)人員與用戶的溝通不夠棱诱。在需求分析階段泼橘,開發(fā)方與用戶沒有很好的交流,開發(fā)方就根據(jù)用戶提供的大概信息迈勋,自己推導出用戶的需求炬灭。通過這種需求分析得出的需求往往會和用戶的實際需求相差甚遠,導致用戶提出更改需求靡菇。
(2)項目的實施周期過長重归。隨著時間的推移,用戶對整個系統(tǒng)的了解也越來越深入厦凤。他們會對模塊的界面鼻吮、功能和性能方面提出更高更多的要求。
(3)技術更新過快较鼓。由于技術的快速更新椎木,?企業(yè)可能引進一些新的設備,?而這些設備可能就會與我們的目標系統(tǒng)有直接的關系博烂,?由于這一變化可能發(fā)生在解決用戶原先問題之前或者之中香椎,?那么開發(fā)人員不得不加入這一新的需求。
解決頻繁變更的方法
1禽篱、不管商務情況如何畜伐,前期的技術協(xié)議一定要明確描述可以做到的功能;
2躺率、凡是與客戶溝通確認的變更要嚴格按照文檔備案流程操作玛界;
3万矾、隨時和技術協(xié)議核對,客戶的變更是否在協(xié)議范圍內慎框;
4勤众、有了資料,客戶不合理變更提出或是次數(shù)過多時鲤脏,可以就此和客戶交涉,討論追加費用還是不作如此變更還是引導此變更移至二期工程吕朵;
5猎醇、既然有商務因素導致頻繁變更,也可以利用商務因素減少頻繁的變更努溃,就看項目經理如何利用資源硫嘶;
6、實施中對客戶的需求引導非常重要梧税,要求現(xiàn)場實施人員發(fā)揮相應作用沦疾;
很多項目經理實在項目準備實施時參與進來,基本以技術性人員為主第队,應該對于項目的整體情況和相關資源盡量多了解哮塞,利用多方資源早早進行合理運用。
軟件開發(fā)過程中如何避免需求變更
為了盡可能地避免發(fā)生需求變更凳谦,以及保證需求分析的高穩(wěn)定性忆畅,可以采用以下方法:
(1)對開發(fā)人員進行專業(yè)培訓。因為尸执,開發(fā)人員對所開發(fā)系統(tǒng)的領域不一定了解家凯,為了開發(fā)人員能更好理解用戶的需求,在做需求分析的初始階段對開發(fā)人員進行該領域相關知識的培訓如失。
(2)開發(fā)方與用戶進行協(xié)作和交流绊诲。在用戶提出需求變更時開發(fā)人員應該認真聽取用戶的要求并加以整理和分析。分析需求變更的原因并提出可行的替代方案;同時向用戶說明這些需求變更會對整個項目的開發(fā)帶來的不良后果褪贵。
(3)合同約束掂之。由于需求變更可能會對整個項目產生影響,所以竭鞍,開發(fā)方和用戶在簽定項目合同時板惑,可以對需求變更增加一些相關的合同條款。
(4)建立需求文檔并進行版本控制偎快。需求分析的最終成果是一份客戶和開發(fā)人員對所開發(fā)的產品達成共識的文檔冯乘。有了這份文檔,即使開發(fā)人員的角色有所變動晒夹,也不會對需求分析的前期工作有所影響裆馒。對每次的需求變更都用一個新的版本來標識姊氓。
(5)需求評審和設立需求基線。為了讓開發(fā)方詳細了解用戶的需求喷好,讓不同人員從不同的角度對需求進行驗證翔横,作為需求的提出者,在需求評審過程中梗搅,用戶往往能提出許多有價值的意見禾唁。同時,也是用戶對需求進行最后確認的機會无切,可以有效減少需求變更的發(fā)生荡短。需求在通過正式評審和批準之后,應該確定需求基線哆键,進一步的需求變更將在此基線的基礎上掘托,依照項目定義的變更過程進行。設置需求基線可以將變更引起的麻煩減至最小籍嘹。