對商業(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)告?!?
分析員:“我已經(jīng)明白這個(gè)項(xiàng)目的大體結(jié)構(gòu)框架,這非常重要,但在制定計(jì)劃之前,我們必須收集一些需求。”
經(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í)間。”
經(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)品滿意?!?BR>
經(jīng)理堅(jiān)持道:“行了,行了,我們沒有那么多的時(shí)間。讓我來告訴您我們的需求。實(shí)際上我也很忙。請馬上開始開發(fā),并隨時(shí)將你們的進(jìn)展情況告訴我?!?BR>
風(fēng)險(xiǎn)躲在需求的迷霧之后
以上我們看到的是某客戶項(xiàng)目經(jīng)理與系統(tǒng)開發(fā)小組的分析人員討論業(yè)務(wù)需求。在項(xiàng)目開發(fā)中,所有的項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者都對需求分析階段備感興趣。這里所指的風(fēng)險(xiǎn)承擔(dān)者包括客戶方面的項(xiàng)目負(fù)責(zé)人和用戶,開發(fā)方面的需求分析人員和項(xiàng)目管理者。這部分工作做得到位,能開發(fā)出很優(yōu)秀的軟件產(chǎn)品,同時(shí)也會(huì)令客戶滿意。若處理不好,則會(huì)導(dǎo)致誤解、挫折、障礙以及潛在的質(zhì)量和業(yè)務(wù)價(jià)值上的威脅。因此可見——需求分析奠定了軟件工程和項(xiàng)目管理的基礎(chǔ)。
撥開需求分析的迷霧
像這樣的對話經(jīng)常出現(xiàn)在軟件開發(fā)的過程中??蛻繇?xiàng)目經(jīng)理的需求對分析人員來講,像“霧里看花”般模糊并令開發(fā)者感到困惑。那么,我們就撥開霧影,分析一下需求的具體內(nèi)容:
·業(yè)務(wù)需求——反映了組織機(jī)構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,通常在項(xiàng)目定義與范圍文檔中予以說明。
·用戶需求——描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例或方案腳本中予以說明。
·功能需求——定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使用戶利用系統(tǒng)能夠完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
·非功能性的需求——描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等,它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和約束,操作界面的具體細(xì)節(jié)和構(gòu)造上的限制。
·需求分析報(bào)告——報(bào)告所說明的功能需求充分描述了軟件系統(tǒng)所應(yīng)具有的外部行為?!靶枨蠓治鰣?bào)告”在開發(fā)、測試、質(zhì)量保證、項(xiàng)目管理以及相關(guān)項(xiàng)目功能中起著重要作用。
前面提到的客戶項(xiàng)目經(jīng)理通常闡明產(chǎn)品的高層次概念和主要業(yè)務(wù)內(nèi)容,為后繼工作建立了一個(gè)指導(dǎo)性的框架。其他任何說明都應(yīng)遵循“業(yè)務(wù)需求”的規(guī)定,然而“業(yè)務(wù)需求”并不能為開發(fā)人員提供開發(fā)所
項(xiàng)目經(jīng)理勝任力免費(fèi)測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html