最近遇到個(gè)事情,因?yàn)闆](méi)做好需求分析和設(shè)計(jì)蛾茉,造成交付出來(lái)的APP就是個(gè)功能堆疊的產(chǎn)物讼呢,當(dāng)個(gè)demo看看還勉強(qiáng),實(shí)際使用全是問(wèn)題谦炬,而且很多問(wèn)題牽一發(fā)動(dòng)全身悦屏,根本沒(méi)法改,不如推到重做键思。
做了十幾年信息化軟件項(xiàng)目實(shí)施础爬,深知是否進(jìn)行了有效的需求分析,是一個(gè)項(xiàng)目能否順利實(shí)施落地吼鳞、項(xiàng)目成果能否真正滿足用戶業(yè)務(wù)應(yīng)用的重中之重看蚜。今天梳理下我對(duì)需求分析的認(rèn)識(shí)。
一赖条、需求是什么失乾?
需求 = 預(yù)期/目標(biāo) - 現(xiàn)狀常熙。這個(gè)說(shuō)法簡(jiǎn)單,但是有些抽象碱茁,再具體一些裸卫,需求是“業(yè)務(wù)場(chǎng)景+問(wèn)題列表+其他影響因素”。業(yè)務(wù)場(chǎng)景纽竣,包括了業(yè)務(wù)實(shí)體墓贿、業(yè)務(wù)規(guī)則、業(yè)務(wù)事件蜓氨;問(wèn)題列表聋袋,就是用戶在實(shí)際工作中遇到的困難障礙,也就是軟件系統(tǒng)需要解決的問(wèn)題穴吹;其他影響因素幽勒,是實(shí)現(xiàn)需求的一些限制條件,例如基礎(chǔ)軟硬件環(huán)境港令、用戶的特點(diǎn)等啥容。
這樣看來(lái),需求可以分為三個(gè)層次:業(yè)務(wù)需求顷霹、用戶需求咪惠、軟件需求。
1淋淀、業(yè)務(wù)需求
無(wú)論是項(xiàng)目可研報(bào)告遥昧、項(xiàng)目建議書(shū),還是招投標(biāo)文件朵纷、項(xiàng)目合同炭臭,開(kāi)頭的部分都是項(xiàng)目背景、建設(shè)目標(biāo)袍辞、建設(shè)內(nèi)容徽缚,這些實(shí)際上就是業(yè)務(wù)需求,反應(yīng)的是客戶對(duì)于軟件系統(tǒng)的高層次目標(biāo)要求革屠。業(yè)務(wù)需求通常是客戶單位的高層管理人員提出的凿试,從業(yè)務(wù)角度描述,用于指導(dǎo)軟件系統(tǒng)的建設(shè)方向似芝,通常隱含著高價(jià)值需求那婉,需要深入識(shí)別、分析党瓮、挖掘出來(lái)详炬。
2、用戶需求
用戶需求描述的是用戶要使用軟件系統(tǒng)做什么、怎么做呛谜、得到什么結(jié)果在跳。通常需要在業(yè)務(wù)需求的基礎(chǔ)上,通過(guò)需求調(diào)研隐岛,從實(shí)際使用部門(mén)/使用者獲取到猫妙。用戶需求來(lái)自不同部門(mén)、不同用戶聚凹,通常有兩個(gè)特點(diǎn):零散割坠、存在矛盾。所以妒牙,需要我們進(jìn)行分析彼哼、梳理用戶使用場(chǎng)景,形成更準(zhǔn)確的需求說(shuō)明湘今。
3敢朱、軟件需求
軟件需求,是在業(yè)務(wù)需求和用戶需求的基礎(chǔ)上摩瞎,進(jìn)一步分析蔫饰、提煉、整理形成的愉豺,用于指導(dǎo)開(kāi)發(fā)的、更精確的需求茫因。也就是說(shuō)軟件需求才是需求分析和建模的結(jié)果蚪拦。
二、需求如何獲榷逞骸驰贷?
需求調(diào)研是和人打交道的過(guò)程,考驗(yàn)需求人員的溝通能力洛巢,做好需求調(diào)研的重點(diǎn)在于計(jì)劃性和科學(xué)性括袒。計(jì)劃性體現(xiàn)在調(diào)研對(duì)象、時(shí)間稿茉、問(wèn)題的計(jì)劃锹锰,科學(xué)性是指如何有效選擇調(diào)研對(duì)象、確定適合的調(diào)研方法漓库。
1恃慧、選對(duì)調(diào)研對(duì)象、問(wèn)對(duì)問(wèn)題
不同層次的調(diào)研對(duì)象渺蒿,決定了獲取信息的方法和層次痢士。高層管理人員解決宏觀問(wèn)題,中層管理人員解決結(jié)構(gòu)問(wèn)題/脈絡(luò)問(wèn)題茂装,基層操作者/使用者解決細(xì)節(jié)問(wèn)題怠蹂。
也就是說(shuō)需要針對(duì)不同的業(yè)務(wù)環(huán)節(jié)善延,設(shè)計(jì)針對(duì)性的問(wèn)題,并且按照業(yè)務(wù)環(huán)節(jié)的執(zhí)行者去找適合回答問(wèn)題的人城侧。
2易遣、找到核心需求、識(shí)別隱藏需求赞庶、破除偽需求
用戶的需求就像隱藏在水面下的冰山训挡,客戶描述出來(lái)的、我們看到的歧强,只是浮出水面的部分澜薄,水面以下還隱藏著大量的需求,這里面就包含著客戶的核心訴求摊册、高價(jià)值需求肤京。
通常浮出水面的需求,是困擾用戶的問(wèn)題茅特、用戶設(shè)想的解決方案忘分,如果只接收這部分需求,就可能會(huì)造成本文開(kāi)頭說(shuō)的問(wèn)題白修,需求只是功能的羅列妒峦,并沒(méi)有從用戶的實(shí)際工作場(chǎng)景出發(fā),而且用戶提出的解決方案兵睛,很可能是個(gè)偽需求肯骇,并不能解決根本問(wèn)題,按下葫蘆起來(lái)瓢祖很。
所以需要我們?nèi)ネ诰蛩嬷碌谋降驯私庥脩舻膶?shí)際工作場(chǎng)景 、作業(yè)流程假颇,識(shí)別出隱藏需求胚鸯,從全局出發(fā),給出更適合的解決方案笨鸡。更進(jìn)一步姜钳,結(jié)合我們的技術(shù)優(yōu)勢(shì),給出超過(guò)客戶預(yù)期的解決方案(高價(jià)值需求)形耗。
三傲须、需求分析怎么做?
需求分析不是要分析系統(tǒng)如何實(shí)現(xiàn)需求趟脂,需求分析實(shí)際上是業(yè)務(wù)分析泰讽,以一根業(yè)務(wù)主線將零散的需求串起來(lái),形成一個(gè)體系完整、邏輯清晰已卸、內(nèi)容準(zhǔn)確的框架佛玄,來(lái)指導(dǎo)后續(xù)的設(shè)計(jì)和開(kāi)發(fā)工作。
1累澡、應(yīng)用場(chǎng)景與業(yè)務(wù)流程分析
通過(guò)分析用戶有哪些核心的應(yīng)用場(chǎng)景梦抢,涉及哪些用戶、哪些業(yè)務(wù)實(shí)體愧哟、哪些業(yè)務(wù)規(guī)則奥吩,梳理業(yè)務(wù)流程,從而理清需求的結(jié)構(gòu)框架和系統(tǒng)流程脈絡(luò)蕊梧。
2霞赫、數(shù)據(jù)與數(shù)據(jù)流轉(zhuǎn)分析
應(yīng)用場(chǎng)景與業(yè)務(wù)流程的分析,是從“事件”的角度出發(fā)肥矢,除此之外還需要從“內(nèi)容”的角度分析端衰,也就是業(yè)務(wù)中涉及哪些數(shù)據(jù)、數(shù)據(jù)的來(lái)源甘改、如何流轉(zhuǎn)變化旅东、產(chǎn)出哪些成果。
3十艾、功能結(jié)構(gòu)分析
功能結(jié)構(gòu)分析抵代,是軟件需求中最常用的,也是最基本的忘嫉,但是建議將功能結(jié)構(gòu)分析放在上述兩類(lèi)分析之后荤牍,以業(yè)務(wù)為主線梳理功能,否則容易出現(xiàn)軟件功能與業(yè)務(wù)的割裂榄融,或者軟件功能與業(yè)務(wù)問(wèn)題關(guān)聯(lián)性不強(qiáng)的問(wèn)題。
分析之后還需要進(jìn)行提煉救湖,抽出共性部分愧杯,并且消除需求間的矛盾和沖突部分。
最終輸出需求說(shuō)明書(shū)和系統(tǒng)原型設(shè)計(jì)鞋既,以此作為與客戶進(jìn)行確認(rèn)的需求階段成果力九。
只有扎實(shí)做好了需求分析工作,才能從業(yè)務(wù)實(shí)際出發(fā)邑闺,全局考慮跌前,利用我們的技術(shù)優(yōu)勢(shì),將客戶的業(yè)務(wù)需求陡舅、用戶需求提煉抵乓、整合、翻譯成軟件需求。這樣才能有效指導(dǎo)設(shè)計(jì)和開(kāi)發(fā)灾炭,交付符合客戶業(yè)務(wù)應(yīng)用的成果茎芋,解決客戶的實(shí)際問(wèn)題,甚至超出客戶預(yù)期蜈出。
最后推薦三本需求分析相關(guān)的書(shū)《軟件需求最佳實(shí)踐》田弥、《掌握需求過(guò)程》、《需求分析與系統(tǒng)設(shè)計(jì)》铡原。