或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等。有權(quán)作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因為開發(fā)人員通常只有等客戶做出決定才能行動,而這種等待會延誤項目的進展。
15、 尊重開發(fā)人員的需求可行性及成本評估
所有的軟件功能都有其成本??蛻羲M哪承┊a(chǎn)品特性可能在技術(shù)上行不通,或者實現(xiàn)它要付出極高的代價,而某些需求試圖達到在操作環(huán)境中不可能達到的性能,或試圖得到一些根本得不到的數(shù)據(jù)。開發(fā)人員會對此作出負(fù)面的評價,客戶應(yīng)該尊重他們的意見。
16、 劃分需求的優(yōu)先級
絕大多數(shù)項目沒有足夠的時間或資源實現(xiàn)功能性的每個細(xì)節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級,因為開發(fā)者不可能按照客戶的觀點決定需求優(yōu)先級;開發(fā)人員將為您確定優(yōu)先級提供有關(guān)每個需求的花費和風(fēng)險的信息。 在時間和資源限制下,關(guān)于所需特性能否完成或完成多少應(yīng)尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項目中未被實現(xiàn),但畢竟是要面對現(xiàn)實,業(yè)務(wù)決策有時不得不依據(jù)優(yōu)先級來縮小項目范圍或延長工期,或增加資源,或在質(zhì)量上尋找折衷。
17、 評審需求文檔和原型
客戶評審需求文檔,是給分析人員帶來反饋信息的一個機會。如果客戶認(rèn)為編寫的“需求分析報告”不夠準(zhǔn)確,就有必要盡早告知分析人員并為改進提供建議。更好的辦法是先為產(chǎn)品開發(fā)一個原型。這樣客戶就能提供更有價值的反饋信息給開發(fā)人員,使他們更好地理解您的需求;原型并非是一個實際應(yīng)用產(chǎn)品,但開發(fā)人員能將其轉(zhuǎn)化、擴充成功能齊全的系統(tǒng)。
18、 需求變更要立即聯(lián)系
不斷的需求變更,會給在預(yù)定計劃內(nèi)完成的質(zhì)量產(chǎn)品帶來嚴(yán)重的不利影響。變更是不可避免的,但在開發(fā)周期中,變更越在晚期出現(xiàn),其影響越大;變更不僅會導(dǎo)致代價極高的返工,而且工期將被延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時。所以,一旦客戶發(fā)現(xiàn)需要變更需求時,請立即通知分析人員。
19、 遵照開發(fā)小組處理需求變更的過程
為將變更帶來的負(fù)面影響減少到最低限度,所有參與者必須遵照項目變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進行分析、綜合考慮,最后做出合適的決策,以確定應(yīng)將哪些變更引入項目中。
20、 尊重開發(fā)人員采用的需求分析過程
軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認(rèn)為收集需求的過程不太劃算,但請相信花在需求開發(fā)上的時間是非常有價值的;如果您理解并支持分析人員為收集、編寫需求文檔和確保其質(zhì)量所采用的技術(shù),那么整個過程將會更為順利。
“需求確認(rèn)”意味著什么
在“需求分析報告”上簽字確認(rèn),通常被認(rèn)為是客戶同意需求分析的標(biāo)志行為,然而實際操作中,客戶往往把“簽字”看作是毫無意義的事情。“他們要我在需求文檔的最后一行下面簽名,于是我就簽了,否則這些開發(fā)人員不開始編碼?!?
這種態(tài)度將帶來麻煩,譬如客戶想更改需求或?qū)Ξa(chǎn)品不滿時就會說:“不錯,我是在需求分析報告上簽了字,但我并沒有時間去讀完所有的內(nèi)容,我是相信你們的,是你們非讓我簽字的?!?
同樣問題也會發(fā)生在僅把“簽字確認(rèn)”看作是完成任務(wù)的分析人員身上,一旦有需求變更出現(xiàn),他便指著“需求分析報告”說:“您已經(jīng)在需求上簽字了,所以這些就是我們所開發(fā)的,如果您想要別的什么,您應(yīng)早些告訴我們。”
這兩種態(tài)度都是不對的。因為不可能在項目的早期就了解所有的需求,而且毫無疑問地需求將會出現(xiàn)變更,在“需求分析報告”上簽字確認(rèn)是終止需求分析過程的正確方法,所以我們必須明白簽字意味著什么。