需求分析的重要性,筆者相信已經(jīng)深入人心。如何做好需求調(diào)研,大家說起來也已經(jīng)一套一套了。筆者這里從另一個(gè)層面來談?wù)勑枨蠓治?,即如何來判斷你需求是否可以過關(guān)。筆者試圖通過三個(gè)問題,來檢驗(yàn)?zāi)阈枨蠓治龅馁|(zhì)量是否可以站得住腳。
問題一:需求是否已經(jīng)考慮到了所有的應(yīng)用場(chǎng)景?
CIO在需求調(diào)研時(shí),務(wù)必要根據(jù)企業(yè)的實(shí)際情況來進(jìn)行需求的描述。也就是說,在需求報(bào)告中,不要只簡(jiǎn)單的描述用戶所需要達(dá)到的結(jié)果,而是還要定義清楚實(shí)際的應(yīng)用場(chǎng)景,而且要全面。因?yàn)橥煌膽?yīng)用場(chǎng)景會(huì)導(dǎo)致不同的解決方案。
如CIO通過調(diào)查發(fā)現(xiàn),員工需要根據(jù)銷售訂單來對(duì)物料進(jìn)行追蹤。也就是說,員工希望能夠在系統(tǒng)中看到,某帳銷售訂單是否已經(jīng)下了采購(gòu)訂單;采購(gòu)訂單上的預(yù)計(jì)交期是多少;現(xiàn)在到料的情況如何,等等。
這個(gè)需求描述是否夠詳細(xì)了呢?筆者以前認(rèn)為,這已經(jīng)非常的詳細(xì)。因?yàn)槲野盐覀冃枰裁礃拥慕Y(jié)果都一一列舉出來。但是,隨著幾年CIO工作下來,現(xiàn)在再回頭看看,才發(fā)現(xiàn)這個(gè)需求描述很難過關(guān)。因?yàn)槠潆m然描述了我們所需要達(dá)到的目標(biāo),但是,他沒有反應(yīng)出企業(yè)的實(shí)際應(yīng)用場(chǎng)景。筆者認(rèn)為,在這個(gè)需求描述中,我們至少還需要說明如下問題。
一是當(dāng)企業(yè)正常下采購(gòu)訂單,即從銷售訂單生成采購(gòu)訂單,然后再?gòu)牟少?gòu)訂單生成收貨單。在這種應(yīng)用場(chǎng)景下,那么該如何來收集統(tǒng)計(jì)這一連串的信息。因?yàn)樗麄儽舜酥g是前后有關(guān)聯(lián)的,實(shí)現(xiàn)起來比較方便。
二是若企業(yè)存在手工下訂單的情況,該如何來顯示這個(gè)關(guān)聯(lián)特性。如企業(yè)在維護(hù)采購(gòu)訂單的時(shí)候,因?yàn)椴恍⌒陌涯硰埐少?gòu)訂單刪除了;后來又手工補(bǔ)了一張采購(gòu)訂單。此時(shí),手工補(bǔ)的采購(gòu)訂單與銷售訂單就會(huì)失去聯(lián)系。根據(jù)銷售訂單就無法追蹤到這種采購(gòu)訂單的信息。CIO在收集需求的時(shí)候,也要把這種情況反饋給軟件實(shí)施顧問或者程序員,讓其能夠預(yù)先找到措施來應(yīng)對(duì)這個(gè)問題。其實(shí),只需要在采購(gòu)訂單單頭設(shè)立一個(gè)字段。當(dāng)用戶手工開立采購(gòu)訂單的時(shí)候,去關(guān)聯(lián)銷售訂單即可。實(shí)現(xiàn)起來很發(fā)現(xiàn)。但是,若CIO不把這個(gè)企業(yè)會(huì)實(shí)際碰到的情況告訴給他人的話,則他們就不會(huì)尋找可行的解決方案。那么當(dāng)企業(yè)實(shí)際遇到這個(gè)問題時(shí),企業(yè)就束手無策了。
三是是否會(huì)存在不下采購(gòu)訂單的情況。如可能某個(gè)物料有庫(kù)存,所以系統(tǒng)在考慮物料需求計(jì)劃的時(shí)候,就沒有考慮到這個(gè)物料。所以,在生成采購(gòu)訂單的時(shí)候,當(dāng)然也不會(huì)把這個(gè)物料考慮進(jìn)去。此時(shí),就會(huì)引發(fā)另外一個(gè)問題。因?yàn)楦鶕?jù)上面的需求描述,這個(gè)需求是按照銷售訂單、采購(gòu)訂單、物料收貨單這個(gè)鏈條下去的。若沒有采購(gòu)訂單的話,這個(gè)中間的鏈條就斷裂了。那么當(dāng)用戶去查詢的時(shí)候,就會(huì)有這個(gè)疑問:為什么沒有這個(gè)物料呢?是否是采購(gòu)?fù)浵虏少?gòu)訂單了呢?不少企業(yè)出于安全生產(chǎn)的需要,往往會(huì)備有安全庫(kù)存。當(dāng)安全庫(kù)存沒有降低到采購(gòu)點(diǎn)的話,則就不會(huì)發(fā)采購(gòu)訂單。CIO在需求分析的時(shí)候,若沒有把這個(gè)應(yīng)用情景描述出來,則這個(gè)需求分析仍然是不健全的。到時(shí)候程序開發(fā)人員設(shè)計(jì)的解決方案,仍然不能夠涵蓋企業(yè)所有的應(yīng)用場(chǎng)景。
所以,除非CIO能夠拍拍胸脯自信的說,所有已知的應(yīng)用場(chǎng)景都已經(jīng)在需求描述中一一列舉出來。否則的話,筆者勸各位CIO,還是暫時(shí)不要把這份需求報(bào)告拿出來丟人現(xiàn)眼為好。
問題二:需求描述會(huì)給其它人帶來歧義嗎?
若CIO收集的需求描述,給不同的人看會(huì)有不同的結(jié)論,那么這個(gè)需求描述就不會(huì)有多大的實(shí)用價(jià)值。或者說,這些需求分析還是不要做的好。因?yàn)榇藭r(shí)別人若按照你的需求描述去編寫解決方案,那么反而是在做無用功。
那該如何減少這個(gè)需求描述所帶來的歧義呢?筆者認(rèn)為,各位CIO,可以借鑒以下的做法。
一是盡量從用戶的角度來考慮問題。當(dāng)我們從用戶
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html