對商業(yè)用戶來說,他們后面是成百上千個(gè)供應(yīng)商,前面是成千上萬個(gè)消費(fèi)顧客。怎樣利用軟件管理錯(cuò)綜復(fù)雜的供應(yīng)商和消費(fèi)顧客,如何做好精細(xì)到一個(gè)小小調(diào)料包的進(jìn)、銷、調(diào)、存的商品流通工作,這些都是商業(yè)企業(yè)需要信息管理系統(tǒng)的理由。軟件開發(fā)的意義也就在于此。而弄清商業(yè)用戶如此復(fù)雜需求的真面目,正是軟件開發(fā)成功的關(guān)鍵所在。
經(jīng)理:“我們要建立一套完整的商業(yè)管理軟件系統(tǒng),包括商品的進(jìn)、銷、調(diào)、存管理,是總部-門店的連鎖經(jīng)營模式。通過通信手段門店自動(dòng)訂貨,供應(yīng)商自動(dòng)結(jié)算,賣場通過掃條碼實(shí)現(xiàn)銷售,管理人員能夠隨時(shí)查詢門店商品銷售和庫存情況。另外,我們也得為政府部門提供關(guān)于商品營運(yùn)的報(bào)告?!?/P>
分析員:“我已經(jīng)明白這個(gè)項(xiàng)目的大體結(jié)構(gòu)框架,這非常重要,但在制定計(jì)劃之前,我們必須收集一些需求?!?/P>
經(jīng)理覺得奇怪:“我不是剛告訴你我的需求了嗎?”
分析員:“實(shí)際上,您只說明了整個(gè)項(xiàng)目的概念和目標(biāo)。這些高層次的業(yè)務(wù)需求不足以提供開發(fā)的內(nèi)容和時(shí)間。我需要與實(shí)際將要使用系統(tǒng)的業(yè)務(wù)人員進(jìn)行討論,然后才能真正明白達(dá)到業(yè)務(wù)目標(biāo)所需功能和用戶要求,了解清楚后,才可以發(fā)現(xiàn)哪些是現(xiàn)有組件即可實(shí)現(xiàn)的,哪些是需要開發(fā)的,這樣可節(jié)省很多時(shí)間?!?/P>
經(jīng)理:“業(yè)務(wù)人員都在招商。他們非常忙,沒有時(shí)間與你們詳細(xì)討論各種細(xì)節(jié)。你能不能說明一下你們現(xiàn)有的系統(tǒng)?”
分析員盡量解釋從用戶處收集需求的合理性:“如果我們只是憑空猜想用戶的要求,結(jié)果不會(huì)令人滿意。我們只是軟件開發(fā)人員,而不是采購專家、營運(yùn)專家或是財(cái)務(wù)專家,我們并不真正明白您這個(gè)企業(yè)內(nèi)部運(yùn)營需要做些什么。我曾經(jīng)嘗試過,未真正明白這些問題就開始編碼,結(jié)果沒有人對產(chǎn)品滿意?!?/P>
經(jīng)理堅(jiān)持道:“行了,行了,我們沒有那么多的時(shí)間。讓我來告訴您我們的需求。實(shí)際上我也很忙。請馬上開始開發(fā),并隨時(shí)將你們的進(jìn)展情況告訴我?!?/P>
客戶與開發(fā)人員交流需要好的方法。下面建議20條法則,客戶和開發(fā)人員可以通過評審以下內(nèi)容并達(dá)成共識。如果遇到分歧,將通過協(xié)商達(dá)成對各自義務(wù)的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求)。
1、 分析人員要使用符合客戶語言習(xí)慣的表達(dá)
需求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語。客戶應(yīng)將有關(guān)術(shù)語(例如:采價(jià)、印花商品等采購術(shù)語)教給分析人員,而客戶不一定要懂得計(jì)算機(jī)行業(yè)的術(shù)語。
2、分析人員要了解客戶的業(yè)務(wù)及目標(biāo)
只有分析人員更好地了解客戶的業(yè)務(wù),才能使產(chǎn)品更好地滿足需要。這將有助于開發(fā)人員設(shè)計(jì)出真正滿足客戶需要并達(dá)到期望的優(yōu)秀軟件。為幫助開發(fā)和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統(tǒng),那么開發(fā)和分析人員應(yīng)使用一下目前的舊系統(tǒng),有利于他們明白目前系統(tǒng)是怎樣工作的,其流程情況以及可供改進(jìn)之處。
3、 分析人員必須編寫軟件需求報(bào)告
分析人員應(yīng)將從客戶那里獲得的所有信息進(jìn)行整理,以區(qū)分業(yè)務(wù)需求及規(guī)范、功能需求、質(zhì)量目標(biāo)、解決方法和其他信息。通過這些分析,客戶就能得到一份“需求分析報(bào)告”,此份報(bào)告使開發(fā)人員和客戶之間針對要開發(fā)的產(chǎn)品內(nèi)容達(dá)成協(xié)議。報(bào)告應(yīng)以一種客戶認(rèn)為易于翻閱和理解的方式組織編寫??蛻粢u審此報(bào)告,以確保報(bào)告內(nèi)容準(zhǔn)確完整地表達(dá)其需求。一份高質(zhì)量的“需求分析報(bào)告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品。
4、 要求得到需求工作結(jié)果的解釋說明
分析人員可能采用了多種圖表作為文字性“需求分析報(bào)告”的補(bǔ)充說明,因?yàn)楣ぷ鲌D表能很清晰地描述出系統(tǒng)行為的某些方面,所以報(bào)告中各種圖表有著極高的價(jià)值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因此客戶可以要求分析人員解釋說明每個(gè)圖表的作用、符號的