14、 及時(shí)作出決定 分析人員會(huì)要求客戶作出一些選擇和決定,這些決定包括來(lái)自多個(gè)用戶提出的處理方法或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等。有權(quán)作出決定的客戶必須積極地對(duì)待這一切,盡快做處理,做決定,因?yàn)殚_發(fā)人員通常只有等客戶做出決定才能行動(dòng),而這種等待會(huì)延誤項(xiàng)目的進(jìn)展。
15、 尊重開發(fā)人員的需求可行性及成本評(píng)估 所有的軟件功能都有其成本。客戶所希望的某些產(chǎn)品特性可能在技術(shù)上行不通,或者實(shí)現(xiàn)它要付出極高的代價(jià),而某些需求試圖達(dá)到在操作環(huán)境中不可能達(dá)到的性能,或試圖得到一些根本得不到的數(shù)據(jù)。開發(fā)人員會(huì)對(duì)此作出負(fù)面的評(píng)價(jià),客戶應(yīng)該尊重他們的意見。
16、 劃分需求的優(yōu)先級(jí) 絕大多數(shù)項(xiàng)目沒有足夠的時(shí)間或資源實(shí)現(xiàn)功能性的每個(gè)細(xì)節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級(jí),因?yàn)殚_發(fā)者不可能按照客戶的觀點(diǎn)決定需求優(yōu)先級(jí);開發(fā)人員將為您確定優(yōu)先級(jí)提供有關(guān)每個(gè)需求的花費(fèi)和風(fēng)險(xiǎn)的信息。 在時(shí)間和資源限制下,關(guān)于所需特性能否完成或完成多少應(yīng)尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項(xiàng)目中未被實(shí)現(xiàn),但畢竟是要面對(duì)現(xiàn)實(shí),業(yè)務(wù)決策有時(shí)不得不依據(jù)優(yōu)先級(jí)來(lái)縮小項(xiàng)目范圍或延長(zhǎng)工期,或增加資源,或在質(zhì)量上尋找折衷。
17、 評(píng)審需求文檔和原型 客戶評(píng)審需求文檔,是給分析人員帶來(lái)反饋信息的一個(gè)機(jī)會(huì)。如果客戶認(rèn)為編寫的“需求分析報(bào)告”不夠準(zhǔn)確,就有必要盡早告知分析人員并為改進(jìn)提供建議。更好的辦法是先為產(chǎn)品開發(fā)一個(gè)原型。這樣客戶就能提供更有價(jià)值的反饋信息給開發(fā)人員,使他們更好地理解您的需求;原型并非是一個(gè)實(shí)際應(yīng)用產(chǎn)品,但開發(fā)人員能將其轉(zhuǎn)化、擴(kuò)充成功能齊全的系統(tǒng)。
18、 需求變更要立即聯(lián)系 不斷的需求變更,會(huì)給在預(yù)定計(jì)劃內(nèi)完成的質(zhì)量產(chǎn)品帶來(lái)嚴(yán)重的不利影響。變更是不可避免的,但在開發(fā)周期中,變更越在晚期出現(xiàn),其影響越大;變更不僅會(huì)導(dǎo)致代價(jià)極高的返工,而且工期將被延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時(shí)。所以,一旦客戶發(fā)現(xiàn)需要變更需求時(shí),請(qǐng)立即通知分析人員。
19、 遵照開發(fā)小組處理需求變更的過(guò)程 為將變更帶來(lái)的負(fù)面影響減少到最低限度,所有參與者必須遵照項(xiàng)目變更控制過(guò)程。這要求不放棄所有提出的變更,對(duì)每項(xiàng)要求的變更進(jìn)行分析、綜合考慮,最后做出合適的決策,以確定應(yīng)將哪些變更引入項(xiàng)目中。
20、 尊重開發(fā)人員采用的需求分析過(guò)程 軟件開發(fā)中最具挑戰(zhàn)性的莫過(guò)于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認(rèn)為收集需求的過(guò)程不太劃算,但請(qǐng)相信花在需求開發(fā)上的時(shí)間是非常有價(jià)值的;如果您理解并支持分析人員為收集、編寫需求文檔和確保其質(zhì)量所采用的技術(shù),那么整個(gè)過(guò)程將會(huì)更為順利。
“需求確認(rèn)”意味著什么
在“需求分析報(bào)告”上簽字確認(rèn),通常被認(rèn)為是客戶同意需求分析的標(biāo)志行為,然而實(shí)際操作中,客戶往往把“簽字”看作是毫無(wú)意義的事情!八麄円以谛枨笪臋n的最后一行下面簽名,于是我就簽了,否則這些開發(fā)人員不開始編碼!
這種態(tài)度將帶來(lái)麻煩,譬如客戶想更改需求或?qū)Ξa(chǎn)品不滿時(shí)就會(huì)說(shuō):“不錯(cuò),我是在需求分析報(bào)告上簽了字,但我并沒有時(shí)間去讀完所有的內(nèi)容,我是相信你們的,是你們非讓我簽字的。”
同樣問(wèn)題也會(huì)發(fā)生在僅把“簽字確認(rèn)”看作是完成任務(wù)的分析人員身上,一旦有需求變更出現(xiàn),他便指著“需求分析報(bào)告”說(shuō):“您已經(jīng)在需求上簽字了,所以這些就是我們所開發(fā)的,如果您想要?jiǎng)e的什么,您應(yīng)早些告訴我們!
這兩種態(tài)度都是不對(duì)的。因?yàn)椴豢赡茉陧?xiàng)目的早期就了解所有的需求,而且毫無(wú)疑問(wèn)地需求將會(huì)出現(xiàn)變更,在“需求分析報(bào)告”上簽字確認(rèn)是終止需求分析過(guò)程的正確方法,所以我們必須明白簽字意味著什么。 對(duì)“需求分析報(bào)告”的簽名是建立在一個(gè)需求協(xié)議的基線上,因此我們對(duì)簽名應(yīng)該這樣理解:“我同意這份需求文檔表述了我們對(duì)項(xiàng)目軟件需求的了解,進(jìn)一步的變更可在此基線上通過(guò)項(xiàng)目定義的變更過(guò)程來(lái)進(jìn)行。我知道變更可能會(huì)使我們重新協(xié)商成本、資源和項(xiàng)目階段任務(wù)等事宜。”對(duì)需求分析達(dá)成一定的共識(shí)會(huì)使雙方易于忍受將來(lái)的摩擦,這些摩擦來(lái)源于項(xiàng)目的改進(jìn)和需求的誤差或市場(chǎng)和業(yè)務(wù)的新要求等。 需求確認(rèn)將迷霧撥散,顯現(xiàn)需求的真面目,給初步的需求開發(fā)工作畫上了雙方都明確的句號(hào),并有助于形成一個(gè)持續(xù)良好的客戶與開發(fā)人員的關(guān)系,為項(xiàng)目的成功奠定了堅(jiān)實(shí)的基礎(chǔ)。
六、點(diǎn)評(píng)需求分析誤區(qū)
要想說(shuō)什么是好的需求分析,不如說(shuō)什么是不好的需求分析,知道什么是不好的,自然也就知道了什么是好的。以下就是一些不好的情況:
(1)創(chuàng)意和求實(shí) 毋庸質(zhì)疑的,每個(gè)人都會(huì)為自己的一個(gè)新的Idea而激動(dòng)萬(wàn)分,特別是當(dāng)這個(gè)Idea受到一些根本不知道你原本要干嘛的人的驚贊時(shí)。但是請(qǐng)注意,當(dāng)你激動(dòng)得意的時(shí)候,你可能已經(jīng)忘了你原本是在描述一個(gè)需求,而不是在策劃一個(gè)創(chuàng)意、創(chuàng)造一個(gè)概念。很多剛開始做需求分析的人員都或多或少的會(huì)犯這樣的錯(cuò)誤,陶醉在自己的新想法和新思路中,卻違背了需求的原始客觀性和真實(shí)性原則。
永遠(yuǎn)別忘了:需求不是空中樓閣,是實(shí)實(shí)在在的一磚一瓦。
(2)解剖的快感 幾乎所有搞軟件的人,做需求分析的時(shí)候,一上來(lái)就會(huì)把用戶告訴你的要求,完完整整的作個(gè)解剖,切開分成幾個(gè)塊,再細(xì)分成幾個(gè)子塊,然后再條分縷析?墒钱(dāng)用戶迷惑的看著你辛辛苦苦做出來(lái)的分析結(jié)果問(wèn)你:我想作一個(gè)數(shù)據(jù)備份的任務(wù),怎么做?這時(shí),你會(huì)發(fā)現(xiàn),需要先后打開三個(gè)窗口才能完成這個(gè)任務(wù)。
永遠(yuǎn)別忘了:分解是必需的,但最終的目的是為了更好的組合,而不是為了分解。
(3)角度和思維 經(jīng)常聽到這樣的抱怨:“用戶怎么可以提出這樣苛刻的要求呢?”。細(xì)細(xì)一了解,你會(huì)發(fā)現(xiàn),用戶只不過(guò)是要求把一個(gè)需要兩次點(diǎn)擊的功能,改成只有一次點(diǎn)擊。這樣會(huì)導(dǎo)致需要改變需求、改變編碼、甚至重新測(cè)試,增加工作量。可是,如果換個(gè)角度來(lái)想想,這個(gè)功能,開發(fā)的時(shí)候只用了幾次、幾十次,可是用戶每天都要用幾百次甚 至幾千次幾萬(wàn)次,改動(dòng)一下就減少了一半的工作量,對(duì)他來(lái)說(shuō),這樣的需求難道會(huì)苛刻嗎?
永遠(yuǎn)別忘了:沒有任何需求是不對(duì)的,不對(duì)的只是你的需求分析。試著站在用戶的思維角度想想,你的需求分析就會(huì)更加的貼近用戶,更加的合理。軟件應(yīng)該是以人為本的。
(4)程序員邏輯 從程序員成長(zhǎng)為系統(tǒng)分析員是一個(gè)普遍的軌跡,但并不是一個(gè)好的程序員就必然能成為一個(gè)好的系統(tǒng)分析員。一些程序員的固化邏輯,使得他們?cè)谧鲂枨蠓治龅臅r(shí)候往往鉆進(jìn)了一些牛角里面。比如說(shuō)1/0邏輯(或者是說(shuō)黑白邏輯),認(rèn)為不是這樣就是那樣,沒有第三種情況?蓪(shí)際情況往往是,在一定的時(shí)候是這樣,其它時(shí)候是那樣。又比如窮舉邏輯,喜歡上來(lái)就把所有一二三可能的情況列舉出來(lái),然后一個(gè)一個(gè)分別處理,每個(gè)占用三分之一的時(shí)間;可是實(shí)際的情況往往是,三分之一的情況占了99%的比例,其它兩種情況一年都不會(huì)遇到一次。實(shí)際中還有很多這樣的例子,不一一列舉了。
永遠(yuǎn)別忘了:需求分析和程序設(shè)計(jì)不盡相同,合理、可行是才是重要的。跳出程序設(shè)計(jì)的圈子,站在系統(tǒng)的角度上來(lái)看問(wèn)題,你的結(jié)論會(huì)截然不同。
此文章共有4頁(yè) 上一頁(yè) 1 2 3 4
文章來(lái)源:中國(guó)項(xiàng)目管理資源網(wǎng)
軟件開發(fā)項(xiàng)目管理培訓(xùn)課程方案 |