軟件系統(tǒng)開發(fā)過程中的需求變更問題
作為軟件開發(fā)人員或者軟件系統(tǒng)客戶,相信我們都遭遇過因?yàn)樾枨笞兏枰薷南到y(tǒng)的情況,一般說來客戶會(huì)要求改變界面,改變操作方式,甚至改變業(yè)務(wù),說,當(dāng)時(shí)我是那樣要求的,不過現(xiàn)在我們的業(yè)務(wù)調(diào)整了…這時(shí)需要中斷正在進(jìn)行的工作,需要查證以往的資料,需要修正計(jì)劃,需要…
需求包括業(yè)務(wù)需求、用戶需求和功能需求。業(yè)務(wù)需求(Business Requirement )反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,用戶需求(User Requirement )描述了用戶使用產(chǎn)品必須完成的任務(wù),功能需求(Functional Requirement )定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能。在軟件系統(tǒng)開發(fā)過程中,有很多問題都是由于在需求分析階段沒有正確地收集、編寫、協(xié)商、修改產(chǎn)品真實(shí)需求而產(chǎn)生的,造成這樣的狀況有幾方面的原因:
對(duì)需求的理解分歧
當(dāng)客戶向需求分析人員提出需求的時(shí)候往往是通過自然語言來表達(dá)的,這樣的表達(dá)對(duì)于真實(shí)的需求來說是一種描述(甚至只是某個(gè)角度的描述),遠(yuǎn)遠(yuǎn)不能保證這樣的描述可以得到百分之百的正確理解,也許在同客戶交流的第一時(shí)刻就埋下了理解分歧的種子,打一個(gè)比方說客戶說我要的是大象,身子象一堵墻,耳朵象扇子,四條腿象四根柱子,尾巴象繩子,分析人員想,哦,墻、扇子、柱子、繩子這些我都知道,但是真的畫出來的時(shí)候客戶當(dāng)然會(huì)跳起來了!這是理解分歧的問題,一般跟分析員的知識(shí)、背景,還有客戶表述的標(biāo)準(zhǔn)程度、雙方的交流情況有關(guān);
系統(tǒng)實(shí)施時(shí)間過長(zhǎng)
一個(gè)大中型系統(tǒng)的建設(shè)可能要延續(xù)一段時(shí)間,當(dāng)客戶提出要求之后,他當(dāng)時(shí)并不能看到系統(tǒng)的運(yùn)行情況,當(dāng)雙方認(rèn)為理解大概沒有分歧的時(shí)候(事實(shí)上還會(huì)有個(gè)Deadline ),開發(fā)方就開始工作了。當(dāng)客戶拿到差不多可以試用的產(chǎn)品時(shí)他可以實(shí)際操作,這時(shí)候他就會(huì)對(duì)系統(tǒng)的界面、操作、功能、性能等有一些切身的體會(huì),有可能提出需求變更要求;
客戶具體情況不一
當(dāng)前客戶的情況不一,有可能客戶行業(yè)的競(jìng)爭(zhēng)度高,需要隨時(shí)作出調(diào)整和反應(yīng),那么他們自然會(huì)經(jīng)常提出需求變更的要求;也有可能客戶所在的行業(yè)操作不規(guī)范,本身存在很多人為因素,這時(shí)候開發(fā)方更是需要隨時(shí)準(zhǔn)備應(yīng)變;
開發(fā)本身要求
有可能是來自開發(fā)方自身版本升級(jí)或性能改進(jìn)、設(shè)計(jì)修正的要求出現(xiàn)需求變更,這時(shí)更是無法繞開這個(gè)問題的了!
所以說就算分析人員和客戶之間不存在理解分歧,客戶對(duì)于實(shí)際的系統(tǒng)還是會(huì)提出一些個(gè)人意見,就算沒有個(gè)人意見,他們自己的業(yè)務(wù)會(huì)變化或環(huán)境發(fā)生變化,這些都是無法避免的,所以不要夢(mèng)想那么理想的需求分析,當(dāng)你開始一個(gè)項(xiàng)目的時(shí)候就應(yīng)該意識(shí)到,客戶需求變更一定會(huì)有的,那么對(duì)于這樣的現(xiàn)狀,我們?cè)撛趺崔k呢?客戶是上帝,難道我們就象以前一樣,跟著客戶的需求不停地修改軟件,到最后工期延長(zhǎng),員工疲憊,成本成倍增長(zhǎng),客戶滿意度降低,原來的設(shè)計(jì)也會(huì)改變得支離破碎,系統(tǒng)難以維護(hù)?
客觀面對(duì)需求變更
如果需求一定會(huì)變化,如果我們不得不面對(duì),如果我們已經(jīng)痛定思痛,想要變革,那么還有什么辦法可以改善我們的現(xiàn)狀
答案是有的。
加強(qiáng)人員培訓(xùn)
從客觀方面可以采取的措施來說,首先,我想不容置疑的是加強(qiáng)對(duì)需求分析人員的培訓(xùn),盡可能增強(qiáng)軟件系統(tǒng)、行業(yè)的背景知識(shí),提高與客戶的溝通能力,增強(qiáng)服務(wù)意識(shí)和責(zé)任感,因?yàn)閷⒁_發(fā)的系統(tǒng)直接建立在需求分析的基礎(chǔ)上;同時(shí)規(guī)范需求分析人員和客戶溝通的方式,以及規(guī)范需求說明的格式,如果可能的話,盡量采取象XP 的UserStory ,或者用戶可以理解的用例圖來對(duì)需求進(jìn)行標(biāo)準(zhǔn)、規(guī)范的描述,保證雙方在工具的協(xié)助下對(duì)需
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html