需求分析的重要性,筆者相信已經(jīng)深入人心。如何做好需求調(diào)研,大家說起來也已經(jīng)一套一套了。筆者這里從另一個層面來談?wù)勑枨蠓治?,即如何來判斷你需求是否可以過關(guān)。筆者試圖通過三個問題,來檢驗(yàn)?zāi)阈枨蠓治龅馁|(zhì)量是否可以站得住腳。
問題一:需求是否已經(jīng)考慮到了所有的應(yīng)用場景?
CIO在需求調(diào)研時,務(wù)必要根據(jù)企業(yè)的實(shí)際情況來進(jìn)行需求的描述。也就是說,在需求報告中,不要只簡單的描述用戶所需要達(dá)到的結(jié)果,而是還要定義清楚實(shí)際的應(yīng)用場景,而且要全面。因?yàn)橥煌膽?yīng)用場景會導(dǎo)致不同的解決方案。
如CIO通過調(diào)查發(fā)現(xiàn),員工需要根據(jù)銷售訂單來對物料進(jìn)行追蹤。也就是說,員工希望能夠在系統(tǒng)中看到,某帳銷售訂單是否已經(jīng)下了采購訂單;采購訂單上的預(yù)計(jì)交期是多少;現(xiàn)在到料的情況如何,等等。
這個需求描述是否夠詳細(xì)了呢?筆者以前認(rèn)為,這已經(jīng)非常的詳細(xì)。因?yàn)槲野盐覀冃枰裁礃拥慕Y(jié)果都一一列舉出來。但是,隨著幾年CIO工作下來,現(xiàn)在再回頭看看,才發(fā)現(xiàn)這個需求描述很難過關(guān)。因?yàn)槠潆m然描述了我們所需要達(dá)到的目標(biāo),但是,他沒有反應(yīng)出企業(yè)的實(shí)際應(yīng)用場景。筆者認(rèn)為,在這個需求描述中,我們至少還需要說明如下問題。
一是當(dāng)企業(yè)正常下采購訂單,即從銷售訂單生成采購訂單,然后再從采購訂單生成收貨單。在這種應(yīng)用場景下,那么該如何來收集統(tǒng)計(jì)這一連串的信息。因?yàn)樗麄儽舜酥g是前后有關(guān)聯(lián)的,實(shí)現(xiàn)起來比較方便。
二是若企業(yè)存在手工下訂單的情況,該如何來顯示這個關(guān)聯(lián)特性。如企業(yè)在維護(hù)采購訂單的時候,因?yàn)椴恍⌒陌涯硰埐少徲唵蝿h除了;后來又手工補(bǔ)了一張采購訂單。此時,手工補(bǔ)的采購訂單與銷售訂單就會失去聯(lián)系。根據(jù)銷售訂單就無法追蹤到這種采購訂單的信息。CIO在收集需求的時候,也要把這種情況反饋給軟件實(shí)施顧問或者程序員,讓其能夠預(yù)先找到措施來應(yīng)對這個問題。其實(shí),只需要在采購訂單單頭設(shè)立一個字段。當(dāng)用戶手工開立采購訂單的時候,去關(guān)聯(lián)銷售訂單即可。實(shí)現(xiàn)起來很發(fā)現(xiàn)。但是,若CIO不把這個企業(yè)會實(shí)際碰到的情況告訴給他人的話,則他們就不會尋找可行的解決方案。那么當(dāng)企業(yè)實(shí)際遇到這個問題時,企業(yè)就束手無策了。
三是是否會存在不下采購訂單的情況。如可能某個物料有庫存,所以系統(tǒng)在考慮物料需求計(jì)劃的時候,就沒有考慮到這個物料。所以,在生成采購訂單的時候,當(dāng)然也不會把這個物料考慮進(jìn)去。此時,就會引發(fā)另外一個問題。因?yàn)楦鶕?jù)上面的需求描述,這個需求是按照銷售訂單、采購訂單、物料收貨單這個鏈條下去的。若沒有采購訂單的話,這個中間的鏈條就斷裂了。那么當(dāng)用戶去查詢的時候,就會有這個疑問:為什么沒有這個物料呢?是否是采購?fù)浵虏少徲唵瘟四??不少企業(yè)出于安全生產(chǎn)的需要,往往會備有安全庫存。當(dāng)安全庫存沒有降低到采購點(diǎn)的話,則就不會發(fā)采購訂單。CIO在需求分析的時候,若沒有把這個應(yīng)用情景描述出來,則這個需求分析仍然是不健全的。到時候程序開發(fā)人員設(shè)計(jì)的解決方案,仍然不能夠涵蓋企業(yè)所有的應(yīng)用場景。
所以,除非CIO能夠拍拍胸脯自信的說,所有已知的應(yīng)用場景都已經(jīng)在需求描述中一一列舉出來。否則的話,筆者勸各位CIO,還是暫時不要把這份需求報告拿出來丟人現(xiàn)眼為好。
問題二:需求描述會給其它人帶來歧義嗎?
若CIO收集的需求描述,給不同的人看會有不同的結(jié)論,那么這個需求描述就不會有多大的實(shí)用價值?;蛘哒f,這些需求分析還是不要做的好。因?yàn)榇藭r別人若按照你的需求描述去編寫解決方案,那么反而是在做無用功。
那該如何減少這個需求描述所帶來的歧義呢?筆者認(rèn)為,各位CIO,可以借鑒以下的做法。
一是盡量從用戶的角度來考慮問題。當(dāng)我們從用戶那邊把需求收集過來,然后需要利用自己的語言來對問題進(jìn)行描述。若在這個描述的過程中,CIO站在自己的角度去思考,則往往會引起一些不必要的歧義。筆者認(rèn)為,CIO在整理需求的時候,最好能夠站在用戶的角度去思考問題。同時,需求整理好后,最好能夠把自己整理的需求再讓用戶去確認(rèn)一遍。讓他們審核一下,看看書面需求分析與他們的想法是否有出入。
二是在需求描述中,最好能夠配有實(shí)際案例。有時候,有些需求確實(shí)很難描述清楚?;蛘咭?yàn)檎Z言組織的不好,以及文化、工作背景的不同,不同的人看需求報告確實(shí)會產(chǎn)生不同的理解。為此,筆者認(rèn)為,最好能夠在需求中配上具體的案例。通過案例描述來把需求認(rèn)識的歧義降至到最低。如當(dāng)CIO描述“銷售訂單來對物料進(jìn)行追蹤”這個需求時,可以配上具體的案例。例如企業(yè)有一張銷售訂單,分別生成四張采購訂單,需要購買A、B、C、D四個物料。其中,A物料因?yàn)閭}庫中有庫存,所以采購沒有下采購訂單。而第二張采購訂單因?yàn)椴少徣藛T操作不小心刪除了,其后來手工補(bǔ)了一張采購訂單。C物料一半用庫存,一半采購。D物料后來利用其他物料來代替。把企業(yè)用戶碰到的實(shí)際情況一一利用案例描述出來。如此的話,無論是誰,看到這個案例也就明白了需求中具體描述了什么內(nèi)容。很明顯,通過這個案例描述可以在很大程度上消除CIO與程序員或者外部實(shí)施顧問認(rèn)識上的分歧。
所以,筆者建議,CIO在巴自己的需求報告拿給別人看的時候,先要捫心自問,看看這份需求報告會不會十個人看得出十個不同的結(jié)果。若不幸真的是如此的話,那么CIO就應(yīng)該想出一些可行的措施,把這個歧義降低到最低。
問題三:是否詳細(xì)定義了可靠性?
在考慮需求分析報告是否可以過關(guān)的時候,還需要考慮一個問題,就是要衡量一下這個需求的可靠性問題。如這個需求執(zhí)行過程中會不會失敗,以及失敗會否給其他業(yè)務(wù)帶來什么樣的不利后果。同時,當(dāng)失敗時系統(tǒng)以何種形式來告知管理員這個失敗的結(jié)果,等等。
如仍然是上面這個需求?,F(xiàn)在在根據(jù)銷售訂單生成采購訂單的時候,由于一些原因可能銷售訂單無法按物料清單展開而正確生成采購訂單。如可能系統(tǒng)中某個物料有庫存,所以某個物料就沒有發(fā)生采購;又如可能某個原材料沒有定義供應(yīng)商,所以系統(tǒng)無法為這個供應(yīng)商生成采購訂單等等。
CIO在需求分析的時候,應(yīng)該預(yù)見這些情況可能會發(fā)生。那么,CIO就需要從程序的可靠性出發(fā),想出一些應(yīng)對的措施。如因?yàn)橛袔齑娑鴽]有下采購訂單,這是屬于正常的作業(yè)。但是,此時系統(tǒng)應(yīng)該以某種形式來告知用戶這種情況。如在生成采購單的時候通過日志信息記錄等等都是可以的。而因?yàn)闆]有定義供應(yīng)商而導(dǎo)致采購訂單無法下達(dá),此時,就需要系統(tǒng)通過非常明顯的方式告知企業(yè)用戶因?yàn)槭裁词裁丛蚨鴮?dǎo)致采購訂單無法下達(dá)??傊?,當(dāng)因?yàn)橐恍┮馔馇闆r,導(dǎo)致某個流程被意外中斷時,無論是合法的還是不合法的,系統(tǒng)都要能過以明文的形式告知用戶。否則的話,根據(jù)這個需求開發(fā)的解決方案的可靠性就會受到質(zhì)疑。
同時,這個提示信息業(yè)要盡量的讓人看的明白。如筆者發(fā)現(xiàn)有些系統(tǒng)在設(shè)計(jì)上確實(shí)也考慮到了這個可靠性問題,但是他們沒有更進(jìn)一步,讓用戶頭疼不已。如因?yàn)闆]有供應(yīng)商而導(dǎo)致無法正常生成采購訂單的時候,系統(tǒng)只提示“采購訂單無法生成”。即沒有告訴用戶因?yàn)槭裁丛驅(qū)е虏少徲唵螣o法生成;同時也沒有告訴用戶哪些原材料無法生成采購訂單。如此的話,用戶就需要從頭開始去查找錯誤的原因。其實(shí),到底為什么無法生成采購訂單的原因,在后臺程序判斷中都會有所體現(xiàn)。只需要用戶把判斷的參數(shù),如某個編號的零件供應(yīng)商ID為空等等信息反饋到前臺。那么系統(tǒng)管理人員憑借這條信息就可以非常容易的定位錯誤信息。并在最短時間內(nèi)把問題解決掉。
所以筆者認(rèn)為,CIO在做需求分析的時候,除了要做好具體的需求描述之外,最好還要從這個可靠性出發(fā),考慮發(fā)生意外事故時所需要傳遞的故障信息、錯誤檢測以及恢復(fù)策略等等。并且,這些信息要能夠幫助用戶迅速定位并且解決問題。即要反映出問題發(fā)生的原因而不能夠只是結(jié)果。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |