我現(xiàn)在是在公司做內(nèi)部IT項目,開發(fā)的系統(tǒng)是公司內(nèi)部使用的系統(tǒng),因此user就是內(nèi)部user,這樣的項目沒有所謂的合同,也不會涉及到money。做過類似項目的朋友應(yīng)該都知道,這樣的項目,需求變更頻繁就是一個非常讓人頭痛也很無奈的問題,至少在我們公司是這樣。
有時候系統(tǒng)已經(jīng)架構(gòu)好了,PM又收到了可愛的用戶提出的需求變更,這樣有可能會導(dǎo)致系統(tǒng)架構(gòu)師需要重新架構(gòu)系統(tǒng),在開發(fā)階段、測試階段、UAT階段等用戶都會提出各種需求變更,小到增加一些小功能,大到變更整個系統(tǒng)的架構(gòu)(這簡直是一個災(zāi)難性的變更)。因為不會涉及到money,所以他們在提需求和變更需求時也不會手下留情,能提多少就提多少,能怎么變就怎么變。這樣無疑會增加項目的成本,拖延項目的進(jìn)度,這是任何PM都不想看到的。但是用戶是上帝,我們只能順應(yīng)上帝(oh,God!)。
我們公司做軟件開發(fā)項目正常的流程是:PM收集需求--開發(fā)部門架構(gòu)和開發(fā)系統(tǒng)--QC部門測試系統(tǒng)--用戶測試系統(tǒng)(UAT)--系統(tǒng)上線。但是用戶在任何時候都可能會提出新需求,或變更之前的需求。
若是外部項目,大家都知道,用戶提出任何需求變更,幾乎都會增加自己的成本,所以用戶在提需求的時候也會很慎重,能不變則盡量不變??纪關(guān)MP,我知道如果客戶提出需求變更,首先是要求客戶開立新合同(新合同=更多的money,嘿嘿。。。),可是對于像我們這樣的內(nèi)部項目,沒的合同開怎么辦呢?我們有時候根本無法拒絕用戶的需求變更,這其中包括有企業(yè)文化的因素和政治因素(有一次,我們拒絕用戶的需求,結(jié)果用戶跟我們說,我們強迫他們接受他們不喜歡的東西......真是無語......)。
我總結(jié)了一下,我們公司的需求變更大概有以下幾個原因:
1.用戶自己對業(yè)務(wù)內(nèi)容和流程不熟悉,在需求收集階段提出的需求與實際業(yè)務(wù)需求和流程不符合,在系統(tǒng)開發(fā)階級或者測試階段發(fā)現(xiàn)了自己的錯誤,所以提出需求變更,希望開發(fā)出的系統(tǒng)滿足業(yè)務(wù)需求和業(yè)務(wù)流程;
2.上頭的領(lǐng)導(dǎo)(包括用戶部門的領(lǐng)導(dǎo)和IT部門的領(lǐng)導(dǎo))就自己的習(xí)慣和看法,提出需求變更;
3. 貌似正常的需求變更,如增強系統(tǒng)功能,或者減少一些不必要的功能以滿足業(yè)務(wù)需求;
4.系統(tǒng)可以以A種方式運行,也可以以B種方式運行,在需求收集階段用戶A提出以A種方式運行,可是用戶A離職后由用戶B接手該系統(tǒng),但是用戶B卻希望以B種方式運行,所以需求變更又這么誕生了。