前面我們討論了,,需求分析工作是一個(gè)迭代的過(guò)程:需求捕獲->需求整理->需求驗(yàn)證->再需求捕獲······需求捕獲是這個(gè)迭代過(guò)程的開(kāi)始,也是整個(gè)需求分析工作中最重要的部分,。沒(méi)有捕獲哪來(lái)后面的整理與驗(yàn)證工作,?但是,非常遺憾,,按照我以往的經(jīng)驗(yàn),,需求捕獲是我們最薄弱的環(huán)節(jié)。前面我提到的許許多多項(xiàng)目開(kāi)發(fā)的問(wèn)題都可以歸結(jié)為需求分析的問(wèn)題,,而許許多多需求分析的問(wèn)題又都可以歸結(jié)為需求捕獲不完整的問(wèn)題,。需求捕獲是整個(gè)需求分析工作中最難把握的一個(gè)部分,它不僅僅是一個(gè)技術(shù)的問(wèn)題,,還涉及到人際交往,、溝通、知識(shí)理解,,以及心理學(xué)等一系列問(wèn)題,。但更讓我感到遺憾的是,在我讀過(guò)的許許多多關(guān)于需求分析的書(shū)籍中,,討論需求分析與建模的書(shū)很多,,但討論需求捕獲的書(shū)籍卻寥寥無(wú)幾。確實(shí),,要討論這部分內(nèi)容,,真的已經(jīng)遠(yuǎn)遠(yuǎn)超出了軟件開(kāi)發(fā)這個(gè)知識(shí)領(lǐng)域。 那么,,在軟件需求捕獲過(guò)程中,,最根本、最容易犯錯(cuò)的問(wèn)題是什么呢,?我認(rèn)為是一個(gè)態(tài)度的問(wèn)題,,是采用主動(dòng)態(tài)度去捕獲需求,還是采用被動(dòng)的態(tài)度去捕獲需求,。如果需求分析人員總是諾諾諾,,客戶(hù)說(shuō)什么,我們就記什么,??蛻?hù)處于非常強(qiáng)勢(shì)的地位,,給我們提出了非常多變態(tài)、技術(shù)難于實(shí)現(xiàn)的需求,,而我們的需求分析人員卻成為記錄員,埋頭記錄客戶(hù)說(shuō)的每一句話(huà),,不加分析地就直接扔給了開(kāi)發(fā)人員,。這就是采用被動(dòng)的態(tài)度去捕獲業(yè)務(wù)需求的方式。毫無(wú)疑問(wèn),,這樣的需求分析必然將給項(xiàng)目開(kāi)發(fā)的后期帶來(lái)巨大的風(fēng)險(xiǎn),。 為什么會(huì)出現(xiàn)這樣的情況呢?經(jīng)過(guò)深入分析我們會(huì)發(fā)現(xiàn),,從客戶(hù)嘴中說(shuō)出來(lái)的需求,,只是整個(gè)軟件需求中的冰山一角,還有兩類(lèi)需求需要我們自己去挖掘:客戶(hù)嘴中沒(méi)有說(shuō)出來(lái)的需求,,和客戶(hù)壓根兒就沒(méi)有想到的需求,。 什么是客戶(hù)嘴中沒(méi)有說(shuō)出來(lái)的需求,并不是客戶(hù)故意賣(mài)弄官子不愿說(shuō)出來(lái),,而是在客戶(hù)所在業(yè)務(wù)領(lǐng)域已經(jīng)約定俗稱(chēng),,在他們看來(lái)已經(jīng)是天經(jīng)地義,根本就不用說(shuō)出來(lái)的業(yè)務(wù)規(guī)則,。然而,,作為剛剛涉足該領(lǐng)域的需求人員,他們是不了解這些規(guī)則的,。如果采用被動(dòng)的方式去僅僅記錄客戶(hù)說(shuō)出來(lái)的需求,,毫無(wú)疑問(wèn)會(huì)遺失這部分需求,這就是為什么直到項(xiàng)目后期,,軟件被研發(fā)出來(lái)即將交付使用,,客戶(hù)才提出說(shuō)這不是我想要的軟件,并提出大量變更需求的原因,。這時(shí),,我們常常問(wèn)客戶(hù),你們?yōu)槭裁床辉缯f(shuō)呢,?而客戶(hù)卻十分委屈,,這么簡(jiǎn)單的道理還需要我說(shuō)出來(lái)嗎? 舉例說(shuō)明吧:在我從事的稅務(wù)行業(yè)中,,對(duì)納稅人征收的稅種包括增值稅,、企業(yè)所得稅。增值稅通常是按月征收的,,而企業(yè)所得稅是按季或者按年征收的,。就拿增值稅來(lái)說(shuō)吧,,稅款所屬期是開(kāi)票日期的上個(gè)月,為什么呢,?納稅人往往是在上個(gè)月產(chǎn)生銷(xiāo)售收入,,然后在下個(gè)月完成申報(bào)和繳納稅款。這些知識(shí)對(duì)于稅務(wù)人員來(lái)說(shuō)是太基本的常識(shí)了,,所以在他們看來(lái)就是天經(jīng)地義而不需要說(shuō)出來(lái)的業(yè)務(wù)規(guī)則,。但作為軟件開(kāi)發(fā)人員的我們卻常常因?yàn)椴恢蓝鴮I(yè)務(wù)弄錯(cuò)。 如何破解這樣的問(wèn)題呢,?那就是要求我們?cè)谛枨蠓治龅恼麄€(gè)過(guò)程,,不斷進(jìn)行業(yè)務(wù)領(lǐng)域知識(shí)的學(xué)習(xí)。在我做需求訪(fǎng)談的初期,,我往往不是跟客戶(hù)談需求,,而是先跟客戶(hù)談業(yè)務(wù),。你們是怎樣操作的,?都經(jīng)過(guò)些什么流程,?誰(shuí)來(lái)完成這些操作的?為什么這樣操作,?注意,,在所有這些問(wèn)題中,最后一個(gè)問(wèn)題是最重要的,??蛻?hù)業(yè)務(wù)領(lǐng)域中的所有操作、所有流程都是有它存在的意義的,,它體現(xiàn)了其內(nèi)部的原因與作用,。多問(wèn)為什么,可以讓我們深入地理解這些領(lǐng)域知識(shí),,站在客戶(hù)的視角去思考問(wèn)題,,進(jìn)而深入地理解客戶(hù)為什么要提出他們的那些業(yè)務(wù)需求。當(dāng)一個(gè)需求分析員能達(dá)到這樣的水平,,客戶(hù)嘴中沒(méi)有說(shuō)出來(lái)的需求就會(huì)被源源不斷地被發(fā)掘出來(lái),,最終做出來(lái)的需求分析才是完整的、準(zhǔn)確的,。 |
|
來(lái)自: 愛(ài) 虎 > 《我的圖書(shū)館》