如何練就需求分析的火眼金晴?
話說(shuō)小P剛剛加入到一個(gè)項(xiàng)目組里面,項(xiàng)目經(jīng)理安排他做需求分析,小P一聽需求分析就有點(diǎn)不樂(lè)意,心里嘀咕:“需求有什么分析的???客戶要什么給什么唄,簡(jiǎn)直是浪費(fèi)我這個(gè)人才!”
雖然不樂(lè)意,但畢竟工作還是要做,很快小P接到了的第一個(gè)需求,客戶打電話來(lái)說(shuō)“我要一只羊”,小P一聽就覺得太簡(jiǎn)單了,簡(jiǎn)單的寫了一下需求“XXX客戶需要一只羊”,然后就交給同樣是新手的小Q去處理,小Q也覺得很簡(jiǎn)單,直接抓了一只羊就送過(guò)去了!
結(jié)果客戶的投訴很快就來(lái)了,項(xiàng)目經(jīng)理找到小P,黑著臉訓(xùn)斥小P,但小P還覺得委屈,因?yàn)樗X得自己就是按照客戶要求做的。還好訓(xùn)斥歸訓(xùn)斥,經(jīng)理最后安排了項(xiàng)目組老蝦指導(dǎo)小P。
老蝦是老員工了,處理過(guò)幾年的客戶需求了。小P誠(chéng)惶誠(chéng)恐的向老蝦請(qǐng)教如何分析客戶需求,沒想到老蝦簡(jiǎn)單的給出了一個(gè)出人意料的答案“5W + 1H + 8C,簡(jiǎn)稱就是518,我要發(fā):)”
小P很好奇:“什么是5W + 1H + 8C?”
老蝦開始侃侃而談:
“5W就是 Who、When、Where、What、Why”
“1H就是 How”
“8C指的是8個(gè)約束和限制,即Constraints,包括性能Performance、成本Cost、時(shí)間Time、可靠性Reliability、安全性Security、合規(guī)性Compliance、技術(shù)性Technology、兼容性Compatibility”
小P一聽這么多的英文單詞,雖然頭有點(diǎn)暈,但更加好奇了:“能否詳細(xì)解釋一下,下次請(qǐng)你吃巴西燒烤。”小P已經(jīng)開始使出糖衣炮彈了。
老蝦笑道:“你小子就開始向我發(fā)糖衣炮彈了,巴西燒烤就算了,可口可樂(lè)一瓶吧”,于是老蝦開始傳授他的獨(dú)門秘笈。
1) 5W
老蝦侃侃而談:
“Who:就是需求利益相關(guān)人,我們按照需求的生命周期流程來(lái)分類,包括購(gòu)買者->管理者->使用者->評(píng)估者,注意評(píng)估者一般是政府機(jī)構(gòu)、第三方咨詢公司、各類組織等”;
“When:就是指需求相關(guān)的時(shí)間,這里可以指季節(jié),如春夏秋冬;也可以指作息時(shí)間,例如白天晚上,所有和時(shí)間相關(guān)的信息都屬于此類”;
“Where:就是需求相關(guān)的地點(diǎn),這里可以指國(guó)家,如美國(guó)和中國(guó);也可以指場(chǎng)所,例如室內(nèi)、街道等”;
“What:就是需求的最終輸出,即客戶希望得到什么東西,例如一份文件、一個(gè)報(bào)表、一輛車”;
“Why:就是需求的驅(qū)動(dòng)力,即客戶為什么提這個(gè)需求,客戶的問(wèn)題在哪里”;
“哇塞”,小P驚嘆道:“老蝦就是老蝦哈,想不到一個(gè)需求處理還有這么多的學(xué)問(wèn)!”不過(guò)驚嘆歸驚嘆,小P還是不是很明白,于是問(wèn)道:“了解這些W有什么用么?”
老蝦喝了一口茶,笑道:“直接說(shuō)有什么用你可能不是很好理解,我給你講個(gè)笑話吧。有一個(gè)建筑公司的需求分析人員收到了一個(gè)客戶需求‘給我建一棟很大的房子’,于是建筑公司就建了房子,房子是歐式風(fēng)格,又大又寬敞,全套宜家家居,全木地板,進(jìn)口電器。。。。。簡(jiǎn)直是應(yīng)有盡有,結(jié)果客戶來(lái)收房子的時(shí)候說(shuō)了一句話,讓建筑公司吐血,你知道是什么話么?”
小P想了想,搖了搖頭。老蝦繼續(xù):“客戶說(shuō)‘先生們,我是要一棟房子給我們的長(zhǎng)頸鹿住!’”
“哈哈哈。。。。。”小P忍不住大笑起來(lái):“真有趣,我大概明白了。”
“哦”,老蝦也笑著問(wèn):“那你說(shuō)說(shuō)其它的W是怎么理解的?”
小P也開始侃侃而談:“還是以長(zhǎng)頸鹿的房子為例子吧”
“Who:這套房子的購(gòu)買者是動(dòng)物園、管理者是動(dòng)物園的飼養(yǎng)員、使用者是長(zhǎng)頸鹿、評(píng)估者可能是動(dòng)物管理協(xié)會(huì)、衛(wèi)生局等政府部門”
“When:這個(gè)可能要求一年四季了,如果長(zhǎng)頸鹿知識(shí)運(yùn)來(lái)展覽一下,那么就是展覽的這幾個(gè)月。”
“Where:這個(gè)房子要建在動(dòng)物園,而不是其它居民小區(qū),那么動(dòng)物園肯定有一些相關(guān)的規(guī)定”
“What:要求一套房子,但不是簡(jiǎn)單意義上的房子,而是長(zhǎng)頸鹿住的房子,這就需要考慮高度、圍欄等”
“Why: 這個(gè)就可能動(dòng)物園要臨時(shí)展覽,也可能要引進(jìn)長(zhǎng)頸鹿,也有可能是原來(lái)的長(zhǎng)頸鹿房子破舊了”
“嗯,不錯(cuò)”,老蝦贊賞的點(diǎn)點(diǎn)頭“小伙子悟性不錯(cuò),不過(guò)我要提醒你一點(diǎn),這5個(gè)W中有一個(gè)是最重要的,如果這個(gè)W錯(cuò)了,那么即使其它W都正確了,那么也是一個(gè)完美的錯(cuò)誤需求,你猜猜是那個(gè)W?”
“是Who?”小P試探性的答道。
“不是,而是Why這個(gè)W”,老蝦說(shuō)道:“這個(gè)是最重要的,因?yàn)檫@才是需求的驅(qū)動(dòng)力,也是需求的價(jià)值所在。”
“我明白了”,小P若有所悟的說(shuō):“需求最終就是要解決客戶的問(wèn)題的,而Why就是真正的問(wèn)題所在”
“不錯(cuò),看來(lái)5W部分你已經(jīng)基本掌握了,以后多多實(shí)踐就能夠提高這部分的分析水平了”老蝦贊道。“接下來(lái)給你講講How”
2) 1H
老蝦正準(zhǔn)備開講,小P卻急急的插嘴說(shuō):“這個(gè)簡(jiǎn)單,就是指需求怎么實(shí)現(xiàn)吧?”
“不對(duì),”老蝦道:“你的這個(gè)想法是很多人常犯的錯(cuò)誤,需求分析階段的How不是指如何實(shí)現(xiàn)需求,而是指需求本身的流程,如何實(shí)現(xiàn)需求那是設(shè)計(jì)階段的事情!”
小P為自己的錯(cuò)誤而感到有點(diǎn)不好意思,虛心請(qǐng)教老蝦:“需求本身還有什么流程?”
老蝦道:“有的需求可能很簡(jiǎn)單,客戶想要的東西也很明確;但有的需求比較復(fù)雜,涉及到多次交互,或者多個(gè)狀態(tài)變化等,這種情況就要把需求的流程描述清楚。舉個(gè)例子吧,取款是一個(gè)需求,但取款本身包含多次交互,要插卡、輸入密碼、輸入金額、打印賬單、取錢這些步驟,How就是用來(lái)描述這整個(gè)流程是如何運(yùn)行的。”
“哦,”小P若有所悟的點(diǎn)點(diǎn)頭:“也就是說(shuō)涉及多個(gè)動(dòng)作、多個(gè)步驟、多個(gè)狀態(tài)、多個(gè)處理的需求要寫清楚How !”
“對(duì),”老蝦贊賞的點(diǎn)點(diǎn)頭:“看你學(xué)的還挺快,我們今天就一鼓作氣講完,接下來(lái)我們來(lái)看看8C。”
3) 8C
老蝦喝了口茶潤(rùn)了潤(rùn)嗓子,繼續(xù)講道:
“性能Performance:主要包括響應(yīng)時(shí)間和吞吐量”
“成本Cost:就是客戶愿意為這個(gè)需求花多少錢”
“時(shí)間Time:指客戶要求什么時(shí)候交付需求”
“可靠性Reliability:指系統(tǒng)長(zhǎng)時(shí)間正確運(yùn)行的能力,銀行、證券、電信這些公司,對(duì)宕機(jī)時(shí)間要求很嚴(yán)格的”
“安全性Security:指對(duì)信息安全的保護(hù)能力,涉及到錢、身份證、社會(huì)保險(xiǎn)號(hào)等需求對(duì)這個(gè)要求很高”
“合規(guī)性Compliance:指滿足各種行業(yè)標(biāo)準(zhǔn)、法律法規(guī)、規(guī)范等,例如3C、SOX、3GPP、ITUT等”
“技術(shù)性Technology:有的客戶可能要求我們采用某種技術(shù),例如客戶現(xiàn)在都是Windows的機(jī)器,那么就可能要求我們基于Windows平臺(tái)開發(fā)”
“兼容性Compatibility:指我們的產(chǎn)品與系統(tǒng)與客戶其它已有的產(chǎn)品或者系統(tǒng)的兼容能力,要知道現(xiàn)在很少有產(chǎn)品是孤立運(yùn)行的,特別是在大企業(yè)、大公司中,多個(gè)系統(tǒng)都是互相交互、互相配合的”
“哇塞,”小P再一次驚嘆于老蝦的厲害:“老蝦果然是老蝦啊,厲害!”
“不要忙著怕我馬屁哈,”老蝦笑道:“知道為什么要考慮這些嗎?”
小P想了想說(shuō):“不滿足這些約束,那么即使需求做出來(lái)了也是不符合要求的。”
老蝦接道:“你說(shuō)的沒錯(cuò),更專業(yè)的說(shuō)法是需求分為功能屬性和質(zhì)量屬性,前面的5W+1H是屬于功能屬性,而8C是屬于質(zhì)量屬性,一個(gè)需求最終是否被正確的實(shí)現(xiàn)了,既要看功能屬性是否正確,也要看質(zhì)量屬性是否正確,兩者缺一不可!”
“明白,”經(jīng)過(guò)老蝦的一番講解和點(diǎn)拔之后,小P覺得如醍醐灌頂,終于基本掌握了需求分析的理論方法,心里恨不得立刻就開始處理需求了!
老蝦看到小P躍躍欲試的樣子,提醒他說(shuō):“不要以為知道518就可以處理好需求了,要想處理好需求,既要知道這些方法論,也要在實(shí)踐中多練習(xí)。”
“知道了,非常感謝老蝦!”小P高興的說(shuō):“我這就去按照你剛才教我的方法把關(guān)于‘羊’的需求重新分析一遍!”
后來(lái),小P同志把“羊”的需求又分析了一遍,這次受到了老蝦、項(xiàng)目經(jīng)理、甚至客戶的贊揚(yáng),親愛的讀者朋友,你能按照上面的方法也幫小P重新分析一遍么?
原文鏈接:http://www.cnblogs.com/ylqmf/archive/2011/12/19/2293759.html
【編輯推薦】
- 淺談軟件開發(fā)項(xiàng)目中的需求分析
- 項(xiàng)目經(jīng)理的力量應(yīng)該從哪里來(lái)?
- 軟件項(xiàng)目管理總體流程設(shè)計(jì)
- 新手軟件項(xiàng)目經(jīng)理之最后期限的迷局
- 軟件項(xiàng)目經(jīng)理該不該多一些人情味