在APP開發過程中,最為讓人頭疼和煩惱的,大概就是開發需求的變更了,在開發過程中,客戶往往一個新的想法,就會把原來的想法覆蓋掉,或者改變掉,正常情況下,可能不是大改,也有會需要大改的情況發生,而軟件開發過程中是漸進式的,是產品到UI到開發,是一個項目落地的過程,一個較長的過程,在這個過程中,客戶的想法發生新的碰撞,產生新的火花,其實也是再正常不過了,有新想法,需要變更,也是軟件開發過程中的家常便飯。
一、什麽叫軟件需求
軟件需求是(1)用戶解決問題或達到目標所需條件或權能。 (2)係統或係統部件要滿足合同、標準、規範或其它正式規定文檔所需具有的條件或權能。 (3)一種反映上麵(1)或(2)所述條件或權能的文檔說明。它包括功能性需求及非功能性需求,非功能性需求對設計和實現提出了限製,比如性能要求,質量標準,或者設計限製。
軟件需求分為三個層次,業務需求、用戶需求和功能需求—也包括非功能需求。
業務需求反映了組織機構或客戶對係統、產品高層次的目標要求,它們在項目視圖與範圍文檔中予以說明。
用戶需求 文檔描述了用戶使用產品必須要完成的任務,這在使用實例文檔或方案腳本說明中予以說明。
功能需求)定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。所謂特性是指邏輯上相關的功能需求的集合,給用戶提供處理能力並滿足業務需求。
二、作為APP軟件開發公司,該如何應對開發需求變更
1、對軟件需求進行有效管理
在項目簽訂之前,通過思維導圖、功能列表等多種方式幫助客戶進行功能梳理,最大限度的減少將來可能存在的需求變更。並將功能情況列入合同內,作為依據;
在項目開發過程中,對需求變更進行有效控製,一方麵,在產品原型設計階段,與客戶反複確認,以免進入後期開發再有新的變更。第二,減少過濾不合理的需求,從產品的功能和用戶的角度給客戶合理的建議;第三,對於UE開發過程中,實在需要修改的需求,較小的需求變更,可以接受的需求,可以幫助客戶實現,提高客戶滿意度;對於較大的變更,對整體開發有較大影響的需求,需要對軟件進行重新評估,看客戶是否接受在下一期開發,或者本次需要開發的話,需要對新功能的情況進行評估。第四,一旦UE確定後,UE將無法再次變更,因為後續開發都會以此為依據。
2、在係統開發完成後,客戶再次提出新的需求
這種情況下,基本上考慮是約定之外的新的開發需求,要分析客戶要改變的具體的是什麽內容,如果是一些小需求,可以在下次版本迭代時進行開發,在原來基礎上增加一些小的修改。如果是較大的基本的核心功能都需要更改的話,那麽可以在二期項目中,需要進行大的升級或者重構時,重新評估來滿足客戶的需求。而且要防止客戶濫用提需求的權力,對於一些不合理的需求,還要去引導客戶,讓他們理解這個功能的不合理的地方,從而重新修改需求或者放棄。
總的來說,軟件需求變更並不可怕,最重要的是需要合理的控製和應對,小修改,滿足客戶,提升客戶滿意度,大修改,重新評估,客戶也是可以理解自己的需求變更的。最無法把控的就是前期需求不清晰,或者客戶不認可需求的內容為新增需求的情況,所以,文檔化管理、前期約定,對雙方都是更好的保障。