需求的漸變"(Project Scope Creep)問題,這種漸變很可能是客戶與開發(fā)方都沒有意識到的,當達到一定層度時,雙方才驀然回首,發(fā)現(xiàn)已經物是人非,換了一番天地。 控制需求漸變需要注意以下幾點:
?。?)需求一定要與投入有顯示的聯(lián)系,否則如果需求變更的成本由開發(fā)方來承擔,則項目需求的變更就成為必然了。人們常說世上沒有免費的午餐,同樣也不應該有免費的需求變更。但是,接受需求變更目前卻是軟件開發(fā)商不得不咽下的苦果。所以,在項目的開始無論是開發(fā)方還是出資方都要明確這一條:需求變,軟件開發(fā)的投入也要變。
?。?)需求的變更要經過出資者的認可,需求的變更引起投入的變化,所以要通過出資者的認可,這樣才會對需求的變更有成本的概念,能夠慎重地對待需求的變更。筆者曾經經歷過一個項目,為了避免項目的風險,我們請了用戶代表全程參與了開發(fā)過程,結果此用戶代表在開發(fā)過程提出了大量?quot;小"的需求變更,當開發(fā)人員按此需求變更修改了軟件時,在項目進入現(xiàn)場實施階段時,卻有大量的這些變更需要改回去,問題就是出在我們的項目組成員視該用戶代表的需求為圣旨,卻忽略了需求是否經過了客戶方真正有決策權的人員的認可。
?。?)小的需求變更也要經過正規(guī)的需求管理流程,否則會積少成多。在實踐中,人們往往不愿意為小的需求變更去執(zhí)行正規(guī)的需求管理過程,認為降低了開發(fā)效率,浪費了時間。正式由于這種觀念才使需求的漸變不可控,最終導致項目的失敗。
(4)精確的需求與范圍定義并不會阻止需求的變更。并非對需求定義的越細,越能避免需求的漸變,這是2個層面的問題。太細的需求定義對需求漸變沒有任何效果。因為需求的變化是永恒的,并非由于需求寫細了,它就不會變化了。
注意溝通的技巧。實際情況是用戶、開發(fā)者都認識了到了上面的幾點問題,但是由于需求的變更可能來自客戶方、也可能來自開發(fā)方,作為客戶他們可能不愿意為需求的變更付出更多的投資,開發(fā)方有可能是主動的變更了需求,他們的目的可能是使軟件做的更"精致",于是作為需求管理者、項目經理需要采用各種溝通技巧來使項目的各方各得其所。
軟件需求的復用問題
筆者曾經遇到過一位領域專家,他在有20多年的領域工程經驗,積累了大量的領域需求,可是在其每進行一次產品開發(fā)時,他總是感到他所理解的需求無法為與他配合的分析人員、設計人員所接受。當我們一起來討論這個問題的時候,共同的一個觀點就是:沒有對需求進行有效的管理,已經形成的需求文檔沒有很好的復用。所以需求管理一個很重要的目標應是提高軟件需求的復用率。
基于上述的問題,必須對需求進行管理,使需求能夠真正成為軟件工程和管理的基線,使軟件計劃、活動和工作產品同軟件需求保持一致,使需求可以復用。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/dylanren/archive/2009/12/13/4965099.aspx