需求分析一點(diǎn)心得
需求分析一點(diǎn)心得
201*年8月15日,我休假回到公司,四川分支crm行業(yè)部進(jìn)行了四維分工,我分在了需求組。組長(zhǎng)徐茜之前已經(jīng)與我溝通過(guò)需求組具體的工作明細(xì),但自己心里還是很擔(dān)心,是否能做好這份新工作,畢竟自己以前都是做的開(kāi)發(fā)工作,接觸的都是代碼,很少編寫文檔;不過(guò)我還是很高興,新的工作具有挑戰(zhàn)性,可以更好的鍛煉自己各方面的能力;
首先我查看了一些以前同事寫的需求分析文檔,從中積累一些好的經(jīng)驗(yàn),比如如何描述需求要點(diǎn),如何繪制流程圖等;
然后給自己制定了工作要求,明確用戶需求、不遺漏需求點(diǎn)、對(duì)需求進(jìn)行分析、提出自己的意見(jiàn)和建議、輸出需求規(guī)格說(shuō)明書給開(kāi)發(fā)人員;就這樣我井井有序的開(kāi)展著自己的新工作,本以為自己已經(jīng)做的夠細(xì)致了,幾周下來(lái)還是出現(xiàn)了不少問(wèn)題。需求規(guī)格說(shuō)明書寫的不夠細(xì)、自己寫的需求規(guī)格說(shuō)明書開(kāi)發(fā)人員看后理解的與需求原意不一致、測(cè)試上線開(kāi)發(fā)點(diǎn)不齊全、設(shè)計(jì)需求時(shí)未考慮到后期的維護(hù)使維護(hù)工作增多、需求不能按照之前與用戶指定的時(shí)間上線等;對(duì)于這些問(wèn)題,自己進(jìn)行了深入的思考,如何避免這些問(wèn)題的出現(xiàn);深思后發(fā)現(xiàn)大家好像缺乏溝通,需求的每一個(gè)環(huán)節(jié)沒(méi)有貫穿起來(lái),每個(gè)環(huán)節(jié)似乎都斷開(kāi)了,不像以前一個(gè)需求自己與用戶溝通、自己開(kāi)發(fā)、自己測(cè)試、上線,整個(gè)環(huán)節(jié)都在同一個(gè)人的掌控中,時(shí)間也是由自己安排;
作為需求分析負(fù)責(zé)人,自己是不是應(yīng)該貫穿整個(gè)需求,而不僅僅只是把輸出需求規(guī)格說(shuō)明書作為一個(gè)需求分析工作完成的目標(biāo)呢?
首先溝通,與用戶溝通,明確需求要點(diǎn),不僅需要聆聽(tīng)用戶的需求說(shuō)明,還要懂得在用戶已說(shuō)明的基礎(chǔ)上進(jìn)行拓展,發(fā)掘客戶沒(méi)有講出來(lái)的潛在需求。在已有業(yè)務(wù)的基礎(chǔ)上進(jìn)行模擬業(yè)務(wù)流程,分析業(yè)務(wù)是否走的通并且有無(wú)邏輯上不合理的地方。發(fā)現(xiàn)問(wèn)題,及時(shí)與用戶溝通,及時(shí)修改需求;與開(kāi)發(fā)組長(zhǎng)溝通,明確開(kāi)發(fā)人員和上線完成時(shí)間;與開(kāi)發(fā)人員溝通,使開(kāi)發(fā)人員知曉需求要點(diǎn),自己更好的完善需求分析規(guī)格說(shuō)明書;與測(cè)試人員溝通,需求測(cè)試要點(diǎn),判斷需求上線的標(biāo)準(zhǔn);與維護(hù)人員溝通,對(duì)應(yīng)需求的維護(hù)工作如何開(kāi)展等;
其次就是協(xié)調(diào),開(kāi)發(fā)時(shí)間的協(xié)調(diào),如果用戶同時(shí)有幾個(gè)需求都要求比較緊急,那么需要我們協(xié)調(diào)用戶是否能將這些都很緊急的需求排一個(gè)優(yōu)先級(jí);需求要點(diǎn)協(xié)調(diào),如果兩個(gè)需求都要修改同一個(gè)模塊的代碼,那么為了保障程序版本問(wèn)題,需要協(xié)調(diào)將兩個(gè)需求開(kāi)發(fā)時(shí)間錯(cuò)開(kāi);以及當(dāng)維護(hù)人員發(fā)現(xiàn)模塊BUG時(shí),需要協(xié)調(diào)用戶發(fā)起對(duì)該BUG的優(yōu)化;
有時(shí)還需要引導(dǎo),引導(dǎo)用戶走向有利于系統(tǒng)開(kāi)發(fā)的軌道上,用戶的一些需求,有些對(duì)整個(gè)業(yè)務(wù)其實(shí)可有可無(wú),如果在實(shí)現(xiàn)起來(lái)很麻煩的話,可以引導(dǎo)用戶取消這個(gè)需求,避免對(duì)系統(tǒng)大的改造影響了其他正常的業(yè)務(wù),也浪費(fèi)了開(kāi)發(fā)人員的時(shí)間。如果系統(tǒng)本來(lái)就已經(jīng)具備的功能,那么就要引導(dǎo)用戶復(fù)用該功能,使系統(tǒng)可以最大程度的復(fù)用原來(lái)的功能。提高系統(tǒng)的代碼的使用率,同時(shí)提高我們的工作效率。
最后就是完善,完善我們編寫的需求規(guī)格說(shuō)明書,可以使用需求用例、業(yè)務(wù)邏輯圖、辦理流程圖、表格、界面圖片等對(duì)需求進(jìn)行說(shuō)明,使需求規(guī)格說(shuō)明書簡(jiǎn)單易懂,避免歧義;
這一年的需求分析工作,使自己對(duì)該工作有了更多、更深的認(rèn)識(shí);不僅要認(rèn)真,還要有細(xì)心、耐心、有責(zé)任感;不僅要考慮當(dāng)前的需求,還要分析系統(tǒng)已經(jīng)具備的和將來(lái)需要支撐的;希望通過(guò)自己的努力,能將需求分析工作做的更好;
擴(kuò)展閱讀:做需求分析一點(diǎn)心得
1、需求分析前的準(zhǔn)備
在軟件開(kāi)發(fā)過(guò)程中,需求分析可以說(shuō)是核心任務(wù)之一,就像一支將要遠(yuǎn)航的船隊(duì),要在指定時(shí)間內(nèi)到達(dá)目錄地,他們需要一條正確的航線,才能到達(dá)目的地,如果航線有誤,他們將會(huì)誤時(shí)到達(dá),或是不回到原位將永遠(yuǎn)到達(dá)不了,這么重要的東西,但在國(guó)內(nèi)很多團(tuán)隊(duì)中缺少,雖然我也做了一些,但在項(xiàng)目完成的時(shí)候,回頭看看,其實(shí)我們做了很多不必要的事,浪費(fèi)了很多時(shí)間、人力和物力,為保證在今后的開(kāi)發(fā)中減少這些錯(cuò)誤的發(fā)生,現(xiàn)將一些問(wèn)題記錄下來(lái)。
為了了解系統(tǒng)需求,先可以從概要式的需求著手,再細(xì)化需求,需求分析必須擬定文檔,在寫文檔之前我們必須做好尋求分析的范圍,總結(jié)為以下幾點(diǎn):1.1要做一個(gè)什么樣的系統(tǒng)
這個(gè)不說(shuō),我想做軟件開(kāi)發(fā)的人都知道,擬定這個(gè)后,一切才可以擴(kuò)展開(kāi),比如我們要做一個(gè)B2C的商城,要賣母嬰用品,知道了這些,我們就可以找現(xiàn)在網(wǎng)站有的B2C網(wǎng)站做參考,分析系統(tǒng)構(gòu)架,系統(tǒng)功能等。
1.2系統(tǒng)將要在什么樣的環(huán)境下進(jìn)行
我上次經(jīng)歷的一個(gè)系統(tǒng),就是要用asp.net重新發(fā)一個(gè)B2C商城,但有一些前提條件,以前公司有網(wǎng)站,是用java+MYSQL開(kāi)發(fā)的,但我們開(kāi)發(fā)的新系統(tǒng)必須兼容以前的數(shù)據(jù),如客戶信息,商品信息,還有一些資源信息,并且還要兼容Google,baidu收錄的地址路徑,還有與原ERP的通訊等條件,這樣讓我們的開(kāi)發(fā)很受限制,這些需求就是這樣,你無(wú)法改變,所以在設(shè)計(jì)新系統(tǒng)的同時(shí)你必須考慮,要花時(shí)間去了解以前系統(tǒng)的功能,接口等,如果不了解,等你把新系統(tǒng)開(kāi)發(fā)完了才發(fā)現(xiàn)系統(tǒng)脫離了公司原有的業(yè)務(wù)流程,讓公司無(wú)法運(yùn)作,那就代表你開(kāi)發(fā)的系統(tǒng)根本沒(méi)有價(jià)值,我想這不是我們想要的結(jié)果。
1.3要解決哪些問(wèn)題
開(kāi)發(fā)出來(lái)軟件系統(tǒng)就是為了解決客戶需求的,一個(gè)B2C網(wǎng)站就是賣商品,主要由客戶、商品、購(gòu)物車、定單組成,將這些核心的功能定義好,我想其它的意外都不會(huì)太影響到整個(gè)系統(tǒng)的進(jìn)程。
1.4將來(lái)可能會(huì)有哪些變化
面對(duì)將來(lái)的發(fā)展,我們也許不能完全考慮到,但與公司的戰(zhàn)略發(fā)展,可以提前考慮些,能想到多少就想多少,多多益善,我們開(kāi)發(fā)一個(gè)系統(tǒng)不是只滿足當(dāng)前的需求,如果眼光只放在眼前,那么你這個(gè)系統(tǒng)很快就會(huì)被淘汰,功能也許不需要現(xiàn)在實(shí)現(xiàn),但接口總得留下吧,不然想改進(jìn)都是很困難的事,如果一個(gè)稍微的小需求都要?jiǎng)酉到y(tǒng)構(gòu)架,我想這個(gè)系統(tǒng)會(huì)越來(lái)越不穩(wěn)定,作為系統(tǒng)分析師,這塊也是至關(guān)重要的。
1.5系統(tǒng)可以維持任務(wù)的周期是多少
系統(tǒng)周期與公司戰(zhàn)略發(fā)展是緊扣的,一個(gè)系統(tǒng)的功能不可能隨著社會(huì)的變化,能一直滿足市場(chǎng)需要的,在設(shè)計(jì)系統(tǒng)的時(shí)候,可以了解一下公司的戰(zhàn)略發(fā)展,比如公司三年之內(nèi)要做成什么樣,客戶多少,網(wǎng)站瀏量,可以做下評(píng)估,這樣就考慮系統(tǒng)構(gòu)架的問(wèn)題,你開(kāi)始就準(zhǔn)備構(gòu)架一個(gè)大胖子,但現(xiàn)在需求簡(jiǎn)單,在實(shí)際的運(yùn)行中,速度緩慢,其實(shí)你構(gòu)架越復(fù)雜,系統(tǒng)運(yùn)行就越緩慢,雖說(shuō)現(xiàn)在很多大系統(tǒng)運(yùn)行的都很好,但要想想,人家服務(wù)器,網(wǎng)絡(luò)構(gòu)架是什么樣的,你不可能讓你的系統(tǒng)一線就有這么好的環(huán)境,就算有,那成本也太大了,一般的公司也吃不消。
1.6系統(tǒng)分幾個(gè)階段實(shí)施
在開(kāi)發(fā)初期,我們不可能將系統(tǒng)所有的功能都能完成的很好,為了加快開(kāi)進(jìn)度,為了系統(tǒng)能盡早上線,我們得像建樓一樣,分階段進(jìn)行,分段實(shí)施,如果我們現(xiàn)在只是要在網(wǎng)上賣商品,那我們就得把客戶管理、商品管理、購(gòu)物車、定單管理這幾大塊實(shí)現(xiàn),把一個(gè)系統(tǒng)根基打好,誰(shuí)都想讓自己的系統(tǒng)變成最強(qiáng)大的系統(tǒng),但這個(gè)想法幾乎是不可能完成的,如果我們把根基打好了,再在上面加以改進(jìn),添磚添瓦,根據(jù)客戶或市場(chǎng)的需要來(lái)完善,我想這個(gè)系統(tǒng)就會(huì)慢慢變成一個(gè)成功的系統(tǒng),對(duì)于B2C網(wǎng)站來(lái)說(shuō),能完成商業(yè)的需要,能讓公司的流程走順,那就是個(gè)好系統(tǒng),沒(méi)有最好的系統(tǒng),只有最適合的系統(tǒng)。分階段實(shí)施,可以有節(jié)約成本,也可以加快實(shí)施速度,不管是作為公司的管理人員還是開(kāi)發(fā)人員,能盡快看到成果,會(huì)提高信心,可以舉個(gè)例子,在設(shè)計(jì)一個(gè)B2C商城的時(shí)候,我們除了客戶管理、商品管理、購(gòu)物車、定單管理外,還要加入廣告管理、促銷管理、CPS、統(tǒng)計(jì)管理、用戶積分、虛擬幣、禮品、物流、接口等一些功能,如果開(kāi)發(fā)周期只給兩個(gè)月,四個(gè)人,從系統(tǒng)設(shè)計(jì)到系統(tǒng)上線,怎么做?怎樣如期完成呢?如果你的團(tuán)隊(duì)都沒(méi)接觸過(guò)B2C這樣的系統(tǒng),開(kāi)發(fā)起來(lái)是很難度的,在這樣的情況下,我們必須分段實(shí)施,抓主干,把核心的東西完成了,系統(tǒng)可以上線,雖然沒(méi)有理想的那么強(qiáng)大,但最少它能賺錢,再一個(gè)兩個(gè)月可以把客戶管理、商品管理、購(gòu)物車、定單管理這幾塊主要的功能完善,公司業(yè)務(wù)可以進(jìn)行,后面的功能雖然很有必要,但也可以分個(gè)先后,系統(tǒng)上線了,能給大家看到東西,能用用,建議也會(huì)多些,對(duì)于系統(tǒng)的優(yōu)化改進(jìn),這個(gè)是無(wú)止盡的,如果沒(méi)有這些基本的東西,天天都會(huì)有人在你耳邊叫,你們什么時(shí)候上線呀,做了這么久,做的怎么樣了,讓你的團(tuán)隊(duì)心里承受著很大的壓力,就算你在兩個(gè)月內(nèi)把開(kāi)發(fā)任務(wù)完成了,那你的測(cè)試通的過(guò)嗎,功能越多,問(wèn)題越多,在后期維護(hù)問(wèn)題越多,最后煩了,沒(méi)辦法,重構(gòu),那樣不是虧大了。
1.7確認(rèn)第一階段解決那些問(wèn)題
在一個(gè)新的環(huán)境中,一個(gè)新的團(tuán)隊(duì),你說(shuō)要在某一時(shí)間段里完成什么樣的系統(tǒng),你怎樣做到讓領(lǐng)導(dǎo)相信你,讓公司相信你,一個(gè)大一點(diǎn)的軟件系統(tǒng),少則幾個(gè)月,再多一點(diǎn)就一年半載,他們能等嗎,再說(shuō)了他們不懂代碼,不會(huì)天天跟你的屁股后面問(wèn)你,系統(tǒng)怎么樣了,做了哪些,就算這樣,我想你也進(jìn)了瘋?cè)嗽毫,所以我們做系統(tǒng)要打好第一槍,這樣才會(huì)得到更多人的支持和理解,如果你不能理解,可以去看看商殃變法中的《徒木立信》的典故。
至于軟件第一開(kāi)發(fā)第一階段要做哪些事,這個(gè)要根據(jù)一個(gè)系統(tǒng)的核心功能去了解,只有建立好了框架,不要太急于求成,沒(méi)什么好處,把根基打好了,再想怎么包裝,都不是件難事。
1.8系統(tǒng)開(kāi)發(fā)團(tuán)隊(duì)由哪些人組成
一個(gè)好的團(tuán)隊(duì),必定是發(fā)揮了團(tuán)隊(duì)中每個(gè)人的優(yōu)勢(shì),在開(kāi)發(fā)團(tuán)隊(duì)中,不是你技術(shù)能力強(qiáng),你就是最有價(jià)值的人,我相信在開(kāi)發(fā)團(tuán)隊(duì)里沒(méi)有一個(gè)從頭到尾都能支持的能人,不是不沒(méi),是我是覺(jué)得不可能存在,也許我么說(shuō)有些人不服,其實(shí)我這么說(shuō)也有我的理由,一個(gè)人也許有機(jī)會(huì)經(jīng)歷團(tuán)隊(duì)中的每個(gè)環(huán)節(jié),并且都能深入,但絕對(duì)不是一個(gè)機(jī)會(huì),如果有,那就是一個(gè)人的開(kāi)發(fā),一個(gè)人的開(kāi)發(fā)我想也不能叫團(tuán)隊(duì),有時(shí)候,一個(gè)人什么都能做,多了一個(gè)人,什么都做不好,但面對(duì)大的項(xiàng)目,不得不進(jìn)行團(tuán)隊(duì)合作。
我所在的公司,我進(jìn)去的時(shí)候,接到項(xiàng)目任務(wù),我開(kāi)始還有些心虛,因?yàn)橛行┕ぷ魑乙矝](méi)接觸過(guò),但又不得不去做,但我很意外的時(shí)候,我們的團(tuán)隊(duì)中有一位項(xiàng)目助理,她的出現(xiàn)讓我們的團(tuán)隊(duì)協(xié)調(diào)管理得到了很好的實(shí)施,計(jì)劃任務(wù),可以做到很好的按排,但跟蹤管理,我能收集分配,但指定到人后,我很難看到進(jìn)展的情況,因?yàn)樽陨磉有很多的工作,開(kāi)始我部署了項(xiàng)目管理系統(tǒng)的,收集需求和BUG,也指定到人,但反饋往往不及時(shí),因?yàn)槲矣袝r(shí)候隔一天才上去看,后來(lái)我將這項(xiàng)目工作交給了項(xiàng)目助理,讓她去管理這些,我發(fā)現(xiàn)她做的很好,她每天和我只花幾分鐘的時(shí)間做核對(duì),出現(xiàn)意外情況我就出現(xiàn)解決,她的出現(xiàn)把我和團(tuán)隊(duì)中的每個(gè)開(kāi)發(fā)人員的工作連接起來(lái),讓項(xiàng)目管理得以順利的實(shí)施。開(kāi)發(fā)團(tuán)隊(duì)具體由哪些人組成,這是要根據(jù)公司實(shí)力,項(xiàng)目進(jìn)度和項(xiàng)目大小來(lái)定的,現(xiàn)在說(shuō)幾個(gè)工作職則,可來(lái)靈活分配一下:
項(xiàng)目經(jīng)理:對(duì)項(xiàng)目的決策性問(wèn)題進(jìn)行定位,一個(gè)功能做與不做,領(lǐng)導(dǎo)說(shuō)的算
構(gòu)架師:控制技術(shù)問(wèn)題,解決技術(shù)難題,對(duì)分配下來(lái)的任務(wù)進(jìn)行分析、評(píng)估,反饋給項(xiàng)目經(jīng)理,再進(jìn)行確定
項(xiàng)目助理:記錄團(tuán)隊(duì)會(huì)議內(nèi)容,協(xié)調(diào)工作中的日常事務(wù)
開(kāi)發(fā)組長(zhǎng):調(diào)配開(kāi)發(fā)組員,輔助組內(nèi)開(kāi)發(fā)人員并對(duì)成員工作進(jìn)行監(jiān)管,一般由主程擔(dān)任開(kāi)發(fā)人員:負(fù)責(zé)編寫代碼,按需求完成任務(wù)測(cè)試人員:對(duì)功能進(jìn)行測(cè)試
如果這里的每項(xiàng)目工作按排到個(gè)人,我想開(kāi)發(fā)團(tuán)隊(duì)的協(xié)調(diào)管理最好。1.9系統(tǒng)運(yùn)行環(huán)境是什么樣的
在系統(tǒng)構(gòu)架時(shí),根據(jù)需要定義好,系統(tǒng)構(gòu)架、程序環(huán)境、網(wǎng)絡(luò)環(huán)境,如考慮分布式存儲(chǔ),日均訪問(wèn)量、系統(tǒng)安全、成本預(yù)算等。
asp.net的開(kāi)發(fā)成本是要比java的開(kāi)成本低的。
Sqlserver的運(yùn)營(yíng)成本是要oracle低的,但oracle在大型數(shù)據(jù)處理上要優(yōu)于SQLServer,如果是SNS站我覺(jué)得上Oracle會(huì)好些。
選擇什么樣的環(huán)境,在沒(méi)有特定要求的情況下,根據(jù)團(tuán)隊(duì)的現(xiàn)狀去考慮我覺(jué)得就差不多了。我們有了目的地將要遠(yuǎn)航,那么就得需要航海圖、船、船長(zhǎng)、舵手、水手、水和食物,雖然這樣我們能保證100%完成任務(wù),因?yàn)榇蠛V械囊馔庹l(shuí)也不會(huì)知曉,但我們理想的是我們能安全到達(dá),如果條件不允許,就算我們知道目的地在哪,出了海,我們將面對(duì)是一場(chǎng)艱辛冒險(xiǎn)旅程。
2、收集需求
需求的收集是個(gè)很繁瑣的過(guò)程,收集的不夠,開(kāi)發(fā)過(guò)程中變化會(huì)很多,特別是你上了一個(gè)演示版本后,開(kāi)始別人一點(diǎn)意見(jiàn)都沒(méi),一看你的演示,你就意見(jiàn)一大堆,這樣的問(wèn)題我想在很多項(xiàng)目中都出現(xiàn)過(guò),所以先在收集需求的時(shí)候要和客戶或相關(guān)部門一一確認(rèn),我們考慮需求要從種兩種角度去考慮,一種是用戶角度,另一種是開(kāi)發(fā)者角度,所以在談需求時(shí),必須邊聊邊記,把所談的話記錄整理,如果怕遺漏,可以錄音,然后將采用文檔的方式表達(dá)出來(lái),將提出的需求加以分析,做下技術(shù)評(píng)估,如果有特別的難題可以提前讓開(kāi)發(fā)人員做技術(shù)預(yù)研,在做評(píng)估后,需要分段實(shí)施的,就做好規(guī)劃,然后和提需求的人員確認(rèn),需求文檔的功能可以多寫點(diǎn),根據(jù)企業(yè)的發(fā)展,能考慮的都考慮,這樣可以在系統(tǒng)構(gòu)架時(shí),定位系統(tǒng)的生命周期時(shí),給以更多的參考,在需求定出階段后,我們得把要馬上實(shí)施的功能放在當(dāng)前,加以強(qiáng)化、細(xì)化,反復(fù)的進(jìn)行,條件允許的時(shí)候應(yīng)該做些Demo來(lái)確認(rèn)。
友情提示:本文中關(guān)于《需求分析一點(diǎn)心得》給出的范例僅供您參考拓展思維使用,需求分析一點(diǎn)心得:該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。