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