,當(dāng)達(dá)到一定層度時(shí),雙方才驀然回首,發(fā)現(xiàn)已經(jīng)物是人非,換了一番天地。
控制需求漸變需要注意以下幾點(diǎn):
(1)需求一定要與投入有顯示的聯(lián)系,否則如果需求變更的成本由開發(fā)方來承擔(dān),則項(xiàng)目需求的變更就成為必然了。人們常說世上沒有免費(fèi)的午餐,同樣也不應(yīng)該有免費(fèi)的需求變更。但是,接受需求變更目前卻是軟件開發(fā)商不得不咽下的苦果。所以,在項(xiàng)目的開始無論是開發(fā)方還是出資方都要明確這一條:需求變,軟件開發(fā)的投入也要變。
(2)需求的變更要經(jīng)過出資者的認(rèn)可,需求的變更引起投入的變化,所以要通過出資者的認(rèn)可,這樣才會(huì)對(duì)需求的變更有成本的概念,能夠慎重地對(duì)待需求的變更。一個(gè)項(xiàng)目,為了避免項(xiàng)目的風(fēng)險(xiǎn),我們請(qǐng)了用戶代表全程參與了開發(fā)過程,結(jié)果此用戶代表在開發(fā)過程提出了大量小"的需求變更,當(dāng)開發(fā)人員按此需求變更修改了軟件時(shí),在項(xiàng)目進(jìn)入現(xiàn)場(chǎng)實(shí)施階段時(shí),卻有大量的這些變更需要改回去,問題就是出在我們的項(xiàng)目組成員視該用戶代表的需求為圣旨,卻忽略了需求是否經(jīng)過了客戶方真正有決策權(quán)的人員的認(rèn)可。
(3)小的需求變更也要經(jīng)過正規(guī)的需求管理流程,否則會(huì)積少成多。在實(shí)踐中,人們往往不愿意為小的需求變更去執(zhí)行正規(guī)的需求管理過程,認(rèn)為降低了開發(fā)效率,浪費(fèi)了時(shí)間。正式由于這種觀念才使需求的漸變不可控,最終導(dǎo)致項(xiàng)目的失敗。
(4)精確的需求與范圍定義并不會(huì)阻止需求的變更。并非對(duì)需求定義的越細(xì),越能避免需求的漸變,這是2個(gè)層面的問題。太細(xì)的需求定義對(duì)需求漸變沒有任何效果。因?yàn)樾枨蟮淖兓怯篮愕模⒎怯捎谛枨髮懠?xì)了,它就不會(huì)變化了。
注意溝通的技巧。實(shí)際情況是用戶、開發(fā)者都認(rèn)識(shí)了到了上面的幾點(diǎn)問題,但是由于需求的變更可能來自客戶方、也可能來自開發(fā)方,作為客戶他們可能不愿意為需求的變更付出更多的投資,開發(fā)方有可能是主動(dòng)的變更了需求,他們的目的可能是使軟件做的更"精致",于是作為需求管理者、項(xiàng)目經(jīng)理需要采用各種溝通技巧來使項(xiàng)目的各方各得其所。
軟件需求的復(fù)用問題
一位領(lǐng)域?qū)<?,他在?0多年的領(lǐng)域工程經(jīng)驗(yàn),積累了大量的領(lǐng)域需求,可是在其每進(jìn)行一次產(chǎn)品開發(fā)時(shí),他總是感到他所理解的需求無法為與他配合的分析人員、設(shè)計(jì)人員所接受。一個(gè)觀點(diǎn)就是:沒有對(duì)需求進(jìn)行有效的管理,已經(jīng)形成的需求文檔沒有很好的復(fù)用。所以需求管理一個(gè)很重要的目標(biāo)應(yīng)是提高軟件需求的復(fù)用率。
基于上述的問題,必須對(duì)需求進(jìn)行管理,使需求能夠真正成為軟件工程和管理的基線,使軟件計(jì)劃、活動(dòng)和工作產(chǎn)品同軟件需求保持一致,使需求可以復(fù)用。