錨點(diǎn)Q1: 如何了解和分析客戶(hù)需求?
1,首先要圈定明確的客戶(hù)群
只有明確的客戶(hù)群
才能讓我們很好去研究
2,學(xué)會(huì)用客戶(hù)的語(yǔ)言來(lái)描繪產(chǎn)品
3,學(xué)會(huì)理解客戶(hù)的多重身份
4,了解客戶(hù)的價(jià)值觀
5,理解客戶(hù)需求背后的深層次心理需求
6,像客戶(hù)一樣體驗(yàn),像客戶(hù)一樣感知他們的生活世界
1)像客戶(hù)一樣看
2)像客戶(hù)一樣用
3)像客戶(hù)一樣想
去體驗(yàn)客戶(hù)的生活世界,而不是客觀世界。只有這樣,才能像有經(jīng)驗(yàn)的銷(xiāo)售那樣,能見(jiàn)到什么人說(shuō)什么話。二,銷(xiāo)售員如何了解客戶(hù)的需求(如何了解客戶(hù)需求并做好分析)利用提問(wèn)來(lái)了解客戶(hù)需求通過(guò)傾聽(tīng)來(lái)了解客戶(hù)需求通過(guò)觀察來(lái)了解客戶(hù)需求客戶(hù)的需求是千差萬(wàn)別的,不了解客戶(hù)的需求,就無(wú)法提供有效的服務(wù),更不可能贏得客戶(hù)忠誠(chéng)。在實(shí)踐中,通??梢酝ㄟ^(guò)以下方法來(lái)了解客戶(hù)的需求。1.利用提問(wèn)來(lái)了解客戶(hù)的需求 要了解客戶(hù)的需求,提問(wèn)題是最直接、最簡(jiǎn)便有效的方式。通過(guò)提問(wèn)可以準(zhǔn)確而有效地了解到客戶(hù)的真正需求,為客戶(hù)提供他們所需要的服務(wù),在實(shí)際運(yùn)用中有以下幾種提問(wèn)方式可以供我們靈活選擇運(yùn)用: (1)提問(wèn)式問(wèn)題。單刀直入、觀點(diǎn)明確的提問(wèn)能使客戶(hù)詳述你所不知道的情況。例如,你可以問(wèn):“*,您打開(kāi)電腦時(shí),發(fā)生了什么情況?”這常常是為客戶(hù)服務(wù)時(shí)最先問(wèn)的問(wèn)題,提這個(gè)問(wèn)題可以獲得更多的細(xì)節(jié)。 (2)封閉式問(wèn)題。封閉式的問(wèn)題即讓客戶(hù)回答“是”或“否”,目的是確認(rèn)某種事實(shí)、客戶(hù)的觀點(diǎn)、希望或反映的情況。問(wèn)這種問(wèn)題可以更快地發(fā)現(xiàn)問(wèn)題,找出問(wèn)題的癥結(jié)所在。例如“*,當(dāng)電腦出現(xiàn)問(wèn)題時(shí),您是讓它開(kāi)著還是關(guān)著?”這個(gè)問(wèn)題是讓客戶(hù)回答是“開(kāi)”還是“關(guān)”。如果沒(méi)有得到回答,還應(yīng)該繼續(xù)問(wèn)一些其他的問(wèn)題,從而確認(rèn)問(wèn)題的所在。 (3)了解對(duì)方身份的問(wèn)題。在與客戶(hù)剛開(kāi)始談話時(shí),可以問(wèn)一些了解客戶(hù)身份的問(wèn)題,例如對(duì)方姓名、賬號(hào)、電話號(hào)碼等。目的是獲得解決問(wèn)題所需要的信息。(4)描述性問(wèn)題。讓客戶(hù)描述情況,談?wù)勊挠^點(diǎn),這有利于了解客戶(hù)的興趣和問(wèn)題所在。(5)澄清性問(wèn)題。在適當(dāng)?shù)臅r(shí)候詢(xún)問(wèn)、澄清客戶(hù)所說(shuō)的問(wèn)題,也可以了解到客戶(hù)的需求。(6)有針對(duì)性的問(wèn)題。例如要問(wèn)客戶(hù)對(duì)所提供的服務(wù)是否滿(mǎn)意,這有助于提醒客戶(hù)再次惠顧。 (7)詢(xún)問(wèn)其他要求的問(wèn)題。與客戶(hù)交流的最后,你還可以問(wèn)他還需要哪些服務(wù)。例如“先生,還有沒(méi)有其他我們能為您做的?”通過(guò)主動(dòng)詢(xún)問(wèn)客戶(hù)的其他要求,客戶(hù)會(huì)更容易記住你和你的公司。2、通過(guò)傾聽(tīng)客戶(hù)談話來(lái)了解客戶(hù)的需求 在與客戶(hù)進(jìn)行溝通時(shí),必須集中精力,認(rèn)真傾聽(tīng)客戶(hù)的回答,站在對(duì)方的角度盡力去理解對(duì)方所說(shuō)的內(nèi)容,了解對(duì)方在想些什么,對(duì)方的需要是什么,要盡可能多地了解對(duì)方的情況,以便為客戶(hù)提供滿(mǎn)意的服務(wù)。3.通過(guò)觀察來(lái)了解客戶(hù)的需求 要想說(shuō)服客戶(hù),就必須了解他當(dāng)前的需要,然后著重從這一層次的需要出發(fā),動(dòng)之以情,曉之以理。在與客戶(hù)溝通的過(guò)程中,你可以通過(guò)觀察客戶(hù)的非語(yǔ)言行為了解他的需要、欲望、觀點(diǎn)和想法??偠灾?,通過(guò)適當(dāng)?shù)貑?wèn)問(wèn)題,認(rèn)真傾聽(tīng),以及觀察他們的非語(yǔ)言行為,可以了解客戶(hù)的需求和想法,更好地為他們服務(wù)。 三,企業(yè)應(yīng)該如何了解客戶(hù)需求?(如何了解客戶(hù)需求并做好分析) 客戶(hù)總是有兩組需求,能明確說(shuō)出的是一組,可以稱(chēng)之為“有聲的需求”;另一組是沒(méi)有說(shuō)出來(lái)的,可以稱(chēng)之為“沉默的需求”。通常,有聲的需求是在任何一個(gè)行業(yè)中大多數(shù)商家試圖滿(mǎn)足的需求,了解這種需求并不困難。較為困難的是識(shí)別客戶(hù)沉默的需求。很多時(shí)候,企業(yè)能夠領(lǐng)先一步之處就在于了解到了客戶(hù)的更多需求。 把定期調(diào)研變?yōu)殡S時(shí)隨地 為什么產(chǎn)品功能與客戶(hù)的需求總是不一致?是不是要對(duì)客戶(hù)的每一個(gè)需求都說(shuō)“是”?如何把握客戶(hù)需求的層次來(lái)更好地實(shí)現(xiàn)客戶(hù)需求? 每當(dāng)出現(xiàn)這些問(wèn)題,就會(huì)有人說(shuō):需求的前期調(diào)研不足。其實(shí),客戶(hù)需求不是僅僅通過(guò)調(diào)研能夠了解的。單憑幾百個(gè)樣本并不能夠完全抽取出客戶(hù)的核心需求。了解客戶(hù)需求不能單依靠市場(chǎng)調(diào)研這一種方式,而是需要隨時(shí)隨地的關(guān)注客戶(hù)需求,行業(yè)變化會(huì)產(chǎn)生客戶(hù)需求,日常的銷(xiāo)售反饋就是客戶(hù)需求,客戶(hù)的抱怨也是需求,售后服務(wù)人員的電話記錄單中也有客戶(hù)需求,研發(fā)人員的創(chuàng)新也是客戶(hù)需求。其實(shí),無(wú)論是在市場(chǎng)之內(nèi)還是市場(chǎng)之外,客戶(hù)都在不斷地表達(dá)著他們的需求。因此,只有企業(yè)整體時(shí)刻保持對(duì)客戶(hù)的關(guān)注,才能真正做到了解客戶(hù)需求。 不提產(chǎn)品只問(wèn)問(wèn)題 有一個(gè)經(jīng)典的商業(yè)案例:一個(gè)中等規(guī)模的公司從通用電氣購(gòu)買(mǎi)了價(jià)值50萬(wàn)美元的個(gè)人電腦。通用電氣并不制造電腦。這家公司為什么不直接從制造商那里購(gòu)買(mǎi)電腦呢?答案是:制造商只賣(mài)電腦,而這種產(chǎn)品很多廠家都能生產(chǎn)。相反,通用電氣不僅向這家公司出售電腦,還提供自選配置、附件、服務(wù)和融資。這家公司與客戶(hù)的聯(lián)系是電子化的,公司需要電腦來(lái)支持對(duì)客戶(hù)的服務(wù),而融資提供了資金的來(lái)源,使企業(yè)能夠更好地匹配收入和支出,進(jìn)行一項(xiàng)為期三年的技術(shù)改造。通用電氣看到了這一系列需求,滿(mǎn)足了他們的需要,為他們提供了一個(gè)解決方案。 可能很多人說(shuō),通用電氣有實(shí)力做到這些。但請(qǐng)注意,這里重要的是他了解到了客戶(hù)需求,才可能去實(shí)現(xiàn)。通常情況下,客戶(hù)并不十分清楚或不能清晰地表述自己的問(wèn)題或需求,因此,在沒(méi)有完整、清楚地把握客戶(hù)的需求之前,即使將全球最好的產(chǎn)品和服務(wù)推薦給客戶(hù)也無(wú)濟(jì)于事。誰(shuí)能幫助客戶(hù)真正解決問(wèn)題,向客戶(hù)提供的是獲利的行動(dòng),誰(shuí)才能贏得客戶(hù)。與客戶(hù)“換位思考” 站在客戶(hù)的立場(chǎng)去了解需求,要能夠分配更多的時(shí)間去關(guān)注客戶(hù),更要能與客戶(hù)做“換位思考”?;叵胍幌略谏蟼€(gè)月中花了多少時(shí)間與你的5位最重要的客戶(hù)在一起?與他們的交談僅僅是禮貌的寒暄,還是關(guān)于客戶(hù)最重要需求的實(shí)質(zhì)性討論? 假設(shè)你是你的5個(gè)最重要客戶(hù)中某一家的首席執(zhí)行官,試著問(wèn)自己幾個(gè)問(wèn)題: ――你的總體目標(biāo)是什么? ――什么是你最關(guān)心的事情? ――為了幫助你達(dá)到自己的目標(biāo),供應(yīng)商應(yīng)該怎么做? ――目前的供應(yīng)商是否符合你的希望? ――他們?yōu)楹挝茨芊夏愕南M?作為企業(yè)來(lái)說(shuō),早就應(yīng)該結(jié)束想當(dāng)然制造客戶(hù)需求的階段了,只有企業(yè)整體重視起來(lái),從實(shí)際出發(fā),以客戶(hù)為本,才能真正達(dá)到對(duì)客戶(hù)需求的了解。任印泉
錨點(diǎn)Q2: 如何系統(tǒng)的進(jìn)行用戶(hù)需求分析
1.概念
需求的定義包括從用戶(hù)角度(系統(tǒng)的外部行為),以及從開(kāi)發(fā)者角度(一些內(nèi)部特性)來(lái)闡述需求.
關(guān)鍵的問(wèn)題是一定要編寫(xiě)需求文檔.我曾經(jīng)目睹過(guò)一個(gè)項(xiàng)目中途更換了所有的開(kāi)發(fā)者,客戶(hù)被迫與新的需求分析者坐到一起.系統(tǒng)的分析人員說(shuō):"我們想與你談?wù)勀愕男枨?"客戶(hù)的第一反應(yīng)便是:"我已經(jīng)將我的要求都告訴你們前任了,現(xiàn)在我要的就是給我編一個(gè)系統(tǒng)".
百事通
而實(shí)際上,UGGs,需求并未編寫(xiě)成文檔,因此新的分析人員不得不從頭做起.所以如果只有一堆郵件、會(huì)談?dòng)涗浕蛞恍┝闼榈奈凑淼膶?duì)話,你就確信你已明白用戶(hù)的需求,那完全是自欺欺人.
需求的另外一種定義認(rèn)為需求是"用戶(hù)所需要的并能觸發(fā)一個(gè)程序或系統(tǒng)開(kāi)發(fā)工作的說(shuō)明".有些需求分析專(zhuān)家拓展了這個(gè)概念:"從系統(tǒng)外部能發(fā)現(xiàn)系統(tǒng)所具有的滿(mǎn)足于用戶(hù)的特點(diǎn)、功能及屬性等".這些定義強(qiáng)調(diào)的是產(chǎn)品是什么樣的,而并非產(chǎn)品是怎樣設(shè)計(jì)、構(gòu)造的.而下面的定義則從用戶(hù)需要進(jìn)一步轉(zhuǎn)移到了系統(tǒng)特性:
需求是指明必須實(shí)現(xiàn)什么的規(guī)格說(shuō)明.它描述了系統(tǒng)的行為、特性或?qū)傩?是在開(kāi)發(fā)過(guò)程中對(duì)系統(tǒng)的約束.
從上面這些不同形式的定義不難發(fā)現(xiàn):并沒(méi)有一個(gè)清晰、毫無(wú)二義性的"需求"術(shù)語(yǔ)存在,真正的"需求"實(shí)際上在人們的腦海中,這個(gè)人們主要是指客戶(hù),但一般情況下,用戶(hù)并不能描述自己的需要,只就需要系統(tǒng)分析人員根據(jù)用戶(hù)的自己語(yǔ)言的描述整理出相關(guān)的需要再進(jìn)一步和客戶(hù)核對(duì).系統(tǒng)分析員和客戶(hù)需要確保所有項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者在描述需求的那些名詞的理解上務(wù)必達(dá)成共識(shí).
任何文檔形式的需求(例如如下將要描述的需求規(guī)格說(shuō)明書(shū))僅是一個(gè)模型,一種描述.
2.需求分析的任務(wù)
開(kāi)發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說(shuō)明開(kāi)發(fā)什么.最為困難的概念性工作便是編寫(xiě)出詳細(xì)技術(shù)需求,這包括所有面向用戶(hù)、面向機(jī)器和其它軟件系統(tǒng)的接口.同時(shí)這也是一旦做錯(cuò),將最終會(huì)給系統(tǒng)帶來(lái)極大損害的部分,并且以后再對(duì)它進(jìn)行修改也極為困難.
目前,國(guó)內(nèi)產(chǎn)品的龐雜,一家企業(yè)可能有幾個(gè)系統(tǒng)并立運(yùn)行,它們之間接口是系統(tǒng)開(kāi)發(fā)人員最頭痛的問(wèn)題.
對(duì)于商業(yè)最終用戶(hù)應(yīng)用程序,企業(yè)信息系統(tǒng)和軟件作為一個(gè)大系統(tǒng)的一部分的產(chǎn)品是顯而易見(jiàn)的.但是對(duì)于我們開(kāi)發(fā)人員來(lái)說(shuō),并沒(méi)有編寫(xiě)出客戶(hù)認(rèn)可的需求文檔,我們?nèi)绾沃理?xiàng)目于何時(shí)結(jié)束?而如果我們不知道什么對(duì)客戶(hù)來(lái)說(shuō)是重要的,那我們又如何能使客戶(hù)感到滿(mǎn)意呢?
然而,即便并非出于商業(yè)目的的軟件需求也是必須的.例如庫(kù)、組件和工具這些供開(kāi)發(fā)小組內(nèi)部使用的軟件.當(dāng)然你可能偶爾勿需文檔說(shuō)明就能與其他人意見(jiàn)較為一致,但更常見(jiàn)的是出現(xiàn)重復(fù)返工這種不可避免的后果,而重新編制代碼的代價(jià)遠(yuǎn)遠(yuǎn)超過(guò)重寫(xiě)一份需求文檔的代價(jià),這些血的教訓(xùn)正在國(guó)內(nèi)的軟件開(kāi)發(fā)者身上發(fā)生.
近來(lái),我遇到一個(gè)開(kāi)發(fā)小組開(kāi)發(fā)包括代碼編輯器在內(nèi)的一套內(nèi)部使用的計(jì)算機(jī)輔助軟件.不幸的是,當(dāng)他們開(kāi)發(fā)完這個(gè)工具后,發(fā)現(xiàn)這個(gè)工具不能打印出源代碼文件,使用者當(dāng)然希望有這個(gè)功能.結(jié)果這個(gè)小組只好手工抄寫(xiě)源代碼文檔以供代碼檢查.這說(shuō)明那怕需求明確無(wú)誤并構(gòu)思準(zhǔn)確,如果我們沒(méi)有編寫(xiě)文檔,軟件達(dá)不到期望目標(biāo)也只能是咎由自取了.
相反的情況,我曾見(jiàn)一個(gè)要集成到"錯(cuò)誤跟蹤系統(tǒng)"中的簡(jiǎn)單界面寫(xiě)了一頁(yè)需求說(shuō)明.而操作系統(tǒng)系統(tǒng)管理員在為處理腳本時(shí)發(fā)現(xiàn)簡(jiǎn)單的一張需求清單竟是如此有用.他們依據(jù)需求對(duì)系統(tǒng)進(jìn)行測(cè)試時(shí),此系統(tǒng)不僅非常清晰地實(shí)現(xiàn)了所有必需功能,而且未發(fā)現(xiàn)任何錯(cuò)誤.
事實(shí)上,需求文檔在開(kāi)發(fā)過(guò)程中一直起指導(dǎo)作用.
3.需求分析過(guò)程
可把整個(gè)軟件需求工程研究領(lǐng)域劃分為需求開(kāi)發(fā)和需求管理兩部分更合適,如圖4-1所示:
圖4-1 需求工程域的層次分解示意圖
需求開(kāi)發(fā)可進(jìn)一步分為:問(wèn)題獲取、分析、編寫(xiě)規(guī)格說(shuō)明和驗(yàn)證四個(gè)階段.這些子項(xiàng)包括軟件類(lèi)產(chǎn)品中需求收集、評(píng)價(jià)、編寫(xiě)文檔等所有活動(dòng).需求開(kāi)發(fā)活動(dòng)包括以下幾個(gè)方面:
確定產(chǎn)品所期望的用戶(hù)類(lèi)別.
獲取每個(gè)用戶(hù)類(lèi)的需求.
了解實(shí)際用戶(hù)任務(wù)和目標(biāo)以及這些任務(wù)所支持的業(yè)務(wù)需求.
分析源于用戶(hù)的信息以區(qū)別用戶(hù)任務(wù)需求、功能需求、業(yè)務(wù)規(guī)則、質(zhì)量屬性、建議解決方法和附加信息.
將系統(tǒng)級(jí)的需求分為幾個(gè)子系統(tǒng),并將需求中的一部份分配給軟件組件.
了解相關(guān)質(zhì)量屬性的重要性.
商討實(shí)施優(yōu)先級(jí)的劃分.
將所收集的用戶(hù)需求編寫(xiě)成文檔和模型.
評(píng)審需求規(guī)格說(shuō)明,確保對(duì)用戶(hù)需求達(dá)到共同的理解與認(rèn)識(shí),并在整個(gè)開(kāi)發(fā)小組接受說(shuō)明之前將問(wèn)題都弄清楚.
需求管理需要"建立并維護(hù)在軟件工程中同客戶(hù)達(dá)成的合同" .這種合同都包含在編寫(xiě)的需求文檔與模型中.客戶(hù)的接受僅是需求成功的一半,開(kāi)發(fā)人員也必須能夠接受他們,并真正把需求應(yīng)用到產(chǎn)品中.通常的需求管理活動(dòng)包括:
定義需求基線(迅速制定需求文檔的主體).
評(píng)審提出的需求變更、評(píng)估每項(xiàng)變更的可能影響從而決定是否實(shí)施它.
以一種可控制的方式將需求變更融入到項(xiàng)目中.
使當(dāng)前的項(xiàng)目計(jì)劃與需求一致.
估計(jì)變更需求所產(chǎn)生影響并在此基礎(chǔ)上協(xié)商新的承諾,這種承諾具體體現(xiàn)在項(xiàng)目解決方案上.
讓每項(xiàng)需求都能與其對(duì)應(yīng)的設(shè)計(jì)、源代碼和測(cè)試用例聯(lián)系起來(lái)以實(shí)現(xiàn)跟蹤.
在整個(gè)項(xiàng)目過(guò)程中跟蹤需求狀態(tài)及其變更情況.
以上幾點(diǎn)說(shuō)明是我總結(jié)了成功實(shí)施項(xiàng)目后系統(tǒng)分析人員的經(jīng)驗(yàn),同時(shí)也根據(jù)國(guó)內(nèi)外的其他系統(tǒng)實(shí)施的相關(guān)成功經(jīng)驗(yàn),進(jìn)行了總結(jié).
4.需求的類(lèi)型
下面這些定義是需求工程領(lǐng)域中常見(jiàn)術(shù)語(yǔ)的定義.
軟件需求包括三個(gè)不同的層次:業(yè)務(wù)需求、用戶(hù)需求和功能需求(也包括非功能需求).
1.業(yè)務(wù)需求(business requirement)反映了組織機(jī)構(gòu)或客戶(hù)對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明.
2.用戶(hù)需求(user requirement) 文檔描述了用戶(hù)使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例(use case)文檔或方案腳本說(shuō)明中予以說(shuō)明.
3.功能需求(functional requirement)定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶(hù)能完成他們的任務(wù),從而滿(mǎn)足了業(yè)務(wù)需求.
在軟件需求規(guī)格說(shuō)明書(shū) (SRS)中說(shuō)明的功能需求充分描述了軟件系統(tǒng)所應(yīng)具有的外部行為.軟件需求規(guī)格說(shuō)明在開(kāi)發(fā)、測(cè)試、質(zhì)量保證、項(xiàng)目管理以及相關(guān)項(xiàng)目功能中都起了重要的作用.對(duì)一個(gè)大型系統(tǒng)來(lái)說(shuō),軟件功能需求也許只是系統(tǒng)需求的一個(gè)子集,因?yàn)榱硗庖恍┛赡軐儆谧酉到y(tǒng)(或軟件部件).
作為功能需求的補(bǔ)充,軟件需求規(guī)格說(shuō)明還應(yīng)包括非功能需求,它描述了系統(tǒng)展現(xiàn)給用戶(hù)的行為和執(zhí)行的操作等.它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和合約;外部界面的具體細(xì)節(jié);性能要求;設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性.所謂約束是指對(duì)開(kāi)發(fā)人員在軟件產(chǎn)品設(shè)計(jì)和構(gòu)造上的限制.質(zhì)量屬性是通過(guò)多種角度對(duì)產(chǎn)品的特點(diǎn)進(jìn)行描述,從而反映產(chǎn)品功能.多角度描述產(chǎn)品對(duì)用戶(hù)和開(kāi)發(fā)人員都極為重要.
下面以一個(gè)字處理程序?yàn)槔齺?lái)說(shuō)明需求的不同種類(lèi).業(yè)務(wù)需求可能是:"用戶(hù)能有效地糾正文檔中的拼寫(xiě)錯(cuò)誤",該產(chǎn)品的包裝盒封面上可能會(huì)標(biāo)明這是個(gè)滿(mǎn)足業(yè)務(wù)需求的拼寫(xiě)檢查器.而對(duì)應(yīng)的用戶(hù)需求可能是"找出文檔中的拼寫(xiě)錯(cuò)誤并通過(guò)一個(gè)提供的替換項(xiàng)列表來(lái)供選擇替換拼錯(cuò)的詞".同時(shí),該拼寫(xiě)檢查器還有許多功能需求,如找到并高亮度提示錯(cuò)詞的操作;顯示提供替換詞的對(duì)話框以及實(shí)現(xiàn)整個(gè)文檔范圍的替換.
從以上定義可以發(fā)現(xiàn),需求并未包括設(shè)計(jì)細(xì)節(jié)、實(shí)現(xiàn)細(xì)節(jié)、項(xiàng)目計(jì)劃信息或測(cè)試信息.需求與這些沒(méi)有關(guān)系,它關(guān)注的是充分說(shuō)明你究竟想開(kāi)發(fā)什么.項(xiàng)目也有其它方面的需求,如開(kāi)發(fā)環(huán)境需求或發(fā)布產(chǎn)品及移植到支撐環(huán)境的需求.盡管這些需求對(duì)項(xiàng)目成功也至關(guān)重要,但它們并非本書(shū)所要討論的.
5.需求分析的原則
不重視需求過(guò)程的項(xiàng)目隊(duì)伍將自食其果.需求工程中的缺陷將給項(xiàng)目成功帶來(lái)極大風(fēng)險(xiǎn),這里的"成功"是指推出的產(chǎn)品能以合理的價(jià)格、及時(shí)地在功能、質(zhì)量上完全滿(mǎn)足用戶(hù)的期望.下面將討論一些需求風(fēng)險(xiǎn).
不適當(dāng)?shù)男枨筮^(guò)程所引起的一些風(fēng)險(xiǎn):
1. 無(wú)足夠用戶(hù)參與
客戶(hù)經(jīng)常不明白為什么收集需求和確保需求質(zhì)量需花費(fèi)那么多功夫,開(kāi)發(fā)人員可能也不重視用戶(hù)的參與.究其原因:一是因?yàn)殚_(kāi)發(fā)人員感覺(jué)與用戶(hù)合作不如編寫(xiě)代碼有意思;二是因?yàn)殚_(kāi)發(fā)人員覺(jué)得已經(jīng)明白用戶(hù)的需求了.在某些情況下,與實(shí)際使用產(chǎn)品的用戶(hù)直接接觸很困難,而客戶(hù)也不太明白自己的真正需求.但還是應(yīng)讓具有代表性的用戶(hù)在項(xiàng)目早期直接參與到開(kāi)發(fā)隊(duì)伍中,并一同經(jīng)歷整個(gè)開(kāi)發(fā)過(guò)程.
系統(tǒng)人員在實(shí)踐過(guò)程中,也有些感覺(jué),在實(shí)施一家公司的項(xiàng)目時(shí),若無(wú)足夠的用戶(hù)參與,系統(tǒng)人員獲得的需求是片面的,不完整的,這樣系統(tǒng)在需求之初就埋下風(fēng)險(xiǎn).
2. 用戶(hù)需求的不斷增加
在開(kāi)發(fā)中若不斷地補(bǔ)充需求,項(xiàng)目就越變?cè)烬嫶笠灾鲁^(guò)其計(jì)劃及預(yù)算范圍.計(jì)劃并不總是與項(xiàng)目需求規(guī)模與復(fù)雜性、風(fēng)險(xiǎn)、開(kāi)發(fā)生產(chǎn)率及需求變更實(shí)際情況相一致,這使得問(wèn)題更難解決.實(shí)際上,問(wèn)題根源在于用戶(hù)需求的改變和開(kāi)發(fā)者對(duì)新需求所作的修改.
要想把需求變更范圍控制到最小,必須一開(kāi)始就對(duì)項(xiàng)目視圖、范圍、目標(biāo)、約束限制和成功標(biāo)準(zhǔn)給予明確說(shuō)明,并將此說(shuō)明作為評(píng)價(jià)需求變更和新特性的參照框架.說(shuō)明中包括了對(duì)每種變更進(jìn)行變更影響因素分析的變更控制過(guò)程,有助于所有風(fēng)險(xiǎn)承擔(dān)者明白業(yè)務(wù)決策的合理性,即為何進(jìn)行某些變更,相應(yīng)消耗的時(shí)間、資源或特性上的折中.
產(chǎn)品開(kāi)發(fā)中不斷延續(xù)的變更會(huì)使其整體結(jié)構(gòu)日漸紊亂,補(bǔ)丁代碼也使得整個(gè)程序難以理解和維護(hù).插入補(bǔ)丁代碼使模塊違背強(qiáng)內(nèi)聚、松耦合的設(shè)計(jì)原則,特別是如果項(xiàng)目配置管理工作不完善的話,收回變更和刪除特性會(huì)帶來(lái)問(wèn)題.如果你盡早地區(qū)別這些可能帶來(lái)變更的特性,你就能開(kāi)發(fā)一個(gè)更為健壯的結(jié)構(gòu),并能更好地適應(yīng)它.這樣設(shè)計(jì)階段需求變更不會(huì)直接導(dǎo)致補(bǔ)丁代碼,同時(shí)也有利于減少因變更導(dǎo)致質(zhì)量的下降.
3. 模棱兩可的需求
模棱兩可是需求規(guī)格說(shuō)明中最為可怕的問(wèn)題.它的一層含義是指諸多讀者對(duì)需求說(shuō)明產(chǎn)生了不同的理解;另一層含義是指單個(gè)讀者能用不止一個(gè)方式來(lái)解釋某個(gè)需求說(shuō)明.
模棱兩可的需求會(huì)使不同的風(fēng)險(xiǎn)承擔(dān)者產(chǎn)生不同的期望,它會(huì)使開(kāi)發(fā)人員為錯(cuò)誤問(wèn)題而浪費(fèi)時(shí)間,并且使測(cè)試者與開(kāi)發(fā)者所期望的不一致.一位系統(tǒng)測(cè)試人員曾告訴我,她所在的測(cè)試組經(jīng)常對(duì)需求理解有誤,以致不得不重寫(xiě)許多測(cè)試用例并重做許多測(cè)試.
處理模棱兩可需求的一種方法是組織好負(fù)責(zé)從不同角度審查需求的隊(duì)伍.僅僅簡(jiǎn)單瀏覽一下需求文檔是不能解決模棱兩可問(wèn)題的.如果不同的評(píng)審者從不同的角度對(duì)需求說(shuō)明給予解釋,但每個(gè)評(píng)審人員都真正了解需求文檔,這樣二義性就不會(huì)直到項(xiàng)目后期才被發(fā)現(xiàn),那時(shí)再發(fā)現(xiàn)的話會(huì)使得更正代價(jià)很大.
4. 不必要的特性
"畫(huà)蛇添足"是指開(kāi)發(fā)人員力圖增加一些"用戶(hù)欣賞"但需求規(guī)格說(shuō)明中并未涉及的新功能.經(jīng)常發(fā)生的情況是用戶(hù)并不認(rèn)為這些功能性很有用,以致在其上耗費(fèi)的努力"白搭"了.開(kāi)發(fā)人員應(yīng)當(dāng)為客戶(hù)構(gòu)思方案并為他們提供一些具有創(chuàng)新意識(shí)的思路,具體提供哪些功能要在客戶(hù)所需與開(kāi)發(fā)人員在允許時(shí)限內(nèi)的技術(shù)可行性之間求得平衡,開(kāi)發(fā)人員應(yīng)努力使功能簡(jiǎn)單易用,而不要未經(jīng)客戶(hù)同意,擅自脫離客戶(hù)要求,自作主張.
同樣,客戶(hù)有時(shí)也可能要求一些看上去很"酷",但缺乏實(shí)用價(jià)值的功能,而實(shí)現(xiàn)這些功能只能徒耗時(shí)間和成本.為了將"畫(huà)蛇添足"的危害盡量減小,應(yīng)確信:你明白為什么要包括這些功能,以及這些功能的"來(lái)龍去脈",這樣使得需求分析過(guò)程始終是注重那些能使用戶(hù)完成他們業(yè)務(wù)任務(wù)的核心功能.
5. 過(guò)于精簡(jiǎn)的規(guī)格說(shuō)明
有時(shí),客戶(hù)并不明白需求分析有如此重要,于是只作一份簡(jiǎn)略之至的規(guī)格說(shuō)明,僅涉及了產(chǎn)品概念上的內(nèi)容,然后讓開(kāi)發(fā)人員在項(xiàng)目進(jìn)展中去完善,結(jié)果很可能出現(xiàn)的是開(kāi)發(fā)人員先建立產(chǎn)品的結(jié)構(gòu)之后再完成需求說(shuō)明.這種方法可能適合于尖端研究性的產(chǎn)品或需求本身就十分靈活的情況.但在大多數(shù)情況下,這會(huì)給開(kāi)發(fā)人員帶來(lái)挫折(使他們?cè)诓徽_的假設(shè)前提和極其有限的指導(dǎo)下工作),也會(huì)給客戶(hù)帶來(lái)煩惱(他們無(wú)法得到他們所設(shè)想的產(chǎn)品).
6. 忽略了用戶(hù)分類(lèi)
大多數(shù)產(chǎn)品是由不同的人使用其不同的特性,使用頻繁程度也有所差異,使用者受教育程度和經(jīng)驗(yàn)水平也不盡相同.如果你不能在項(xiàng)目早期就針對(duì)所有這些主要用戶(hù)進(jìn)行分類(lèi)的話,必然導(dǎo)致有的用戶(hù)對(duì)產(chǎn)品感到失望.例如,菜單驅(qū)動(dòng)操作對(duì)高級(jí)用戶(hù)太低效了,但含義不清的命令和快捷鍵又會(huì)使不熟練的用戶(hù)感到困難.
7. 不準(zhǔn)確的計(jì)劃
據(jù)統(tǒng)計(jì),導(dǎo)致需求過(guò)程中軟件成本估計(jì)極不準(zhǔn)確的原因主要有以下五點(diǎn):頻繁的需求變更、遺漏的需求、與用戶(hù)交流不夠、質(zhì)量低下的需求規(guī)格說(shuō)明和不完善的需求分析.
對(duì)不準(zhǔn)確的要求所提問(wèn)題的正確響應(yīng)是"等我真正明白你的需求時(shí),我就會(huì)來(lái)告訴你".基于不充分信息和未經(jīng)深思的對(duì)需求不成熟的估計(jì)很容易為一些因素左右.要作出估計(jì)時(shí),最好還是給出一個(gè)范圍.未經(jīng)準(zhǔn)備的估計(jì)通常是作為一種猜測(cè)給出的,聽(tīng)者卻認(rèn)為是一種承諾.因此我們要盡力給出可達(dá)到的目標(biāo)并堅(jiān)持完成它.
6.需求分析人員和用戶(hù)的合作關(guān)系
優(yōu)秀的軟件產(chǎn)品是建立在優(yōu)秀的需求基礎(chǔ)之上的.而高質(zhì)量的需求來(lái)源于客戶(hù)與開(kāi)發(fā)人員之間有效的交流與合作.通常,開(kāi)發(fā)人員與客戶(hù)或客戶(hù)代理人,如市場(chǎng)人員間的關(guān)系反而會(huì)成為一種對(duì)立關(guān)系.雙方的管理者都只想自己的利益而擱置用戶(hù)提供的需求從而產(chǎn)生摩擦,在這種情況下,不會(huì)給雙方帶來(lái)一點(diǎn)益處.
只有當(dāng)雙方參與者都明白要成功自己需要什么,同時(shí)也應(yīng)知道要成功合作方需要什么時(shí),才能建立起一種合作關(guān)系.由于項(xiàng)目壓力與日漸增,所有風(fēng)險(xiǎn)承擔(dān)者有著一個(gè)共同的目標(biāo)這一點(diǎn)容易被遺忘.其實(shí)大家都想開(kāi)發(fā)出一個(gè)既能實(shí)現(xiàn)商業(yè)價(jià)值,又能滿(mǎn)足用戶(hù)需要,還能使開(kāi)發(fā)者感到滿(mǎn)足的優(yōu)秀軟件產(chǎn)品.
軟件客戶(hù)需求權(quán)利書(shū)列出了十條關(guān)于客戶(hù)在項(xiàng)目需求工程實(shí)施中與分析人員、開(kāi)發(fā)人員交流時(shí)的合法要求.每一項(xiàng)權(quán)利都對(duì)應(yīng)著軟件開(kāi)發(fā)人員、分析人員的義務(wù).而軟件客戶(hù)需求義務(wù)書(shū)也列出了十條關(guān)于客戶(hù)在需求過(guò)程中應(yīng)承擔(dān)的義務(wù).如果愿意,可以將其作為開(kāi)發(fā)人員的權(quán)利書(shū).
客戶(hù)有如下權(quán)利:
1:要求分析人員使用符合客戶(hù)語(yǔ)言習(xí)慣的表達(dá)
需求討論應(yīng)集中于業(yè)務(wù)需要和任務(wù),故要使用業(yè)務(wù)術(shù)語(yǔ),你應(yīng)將其教給分析人員,而你 不一定要懂得計(jì)算機(jī)的行業(yè)術(shù)語(yǔ).
2:要求分析人員了解客戶(hù)的業(yè)務(wù)及目標(biāo)
通過(guò)與用戶(hù)交流來(lái)獲取用戶(hù)需求、分析人員才能更好地了解你的業(yè)務(wù)任務(wù)和怎樣才能使產(chǎn)品更好地滿(mǎn)足你的需要.這將有助于開(kāi)發(fā)人員設(shè)計(jì)出真正滿(mǎn)足你的需要并達(dá)到你期望的優(yōu)秀軟件.為幫助開(kāi)發(fā)人員和分析人員,可以考慮邀請(qǐng)他們觀察你或你的同事是怎樣工作的.如果新開(kāi)發(fā)系統(tǒng)是用來(lái)替代已有的系統(tǒng),那么開(kāi)發(fā)人員應(yīng)使用一下目前的系統(tǒng),這將有利于他們明白目前系統(tǒng)是怎樣工作的,其工作流程的情況,以及可供改進(jìn)之處.
3:要求分析人員編寫(xiě)軟件需求規(guī)格說(shuō)明
分析人員要把從你和其他客戶(hù)那里獲得的所有信息進(jìn)行整理,以區(qū)分開(kāi)業(yè)務(wù)需求及規(guī)范、功能需求、質(zhì)量目標(biāo)、解決方法和其它信息.通過(guò)這些分析就能得到一份軟件需求規(guī)格說(shuō)明.而這份軟件需求規(guī)格說(shuō)明便在開(kāi)發(fā)人員和客戶(hù)之間針對(duì)要開(kāi)發(fā)的產(chǎn)品內(nèi)容達(dá)成了協(xié)議.軟件需求規(guī)格說(shuō)明書(shū)可以用一種你認(rèn)為易于翻閱和理解的方式組織編寫(xiě).要評(píng)審編寫(xiě)出的規(guī)格說(shuō)明以確保它們準(zhǔn)確而完整地表達(dá)了你的需求.一份高質(zhì)量的軟件需求規(guī)格說(shuō)明能有助于開(kāi)發(fā)人員開(kāi)發(fā)出真正需要的產(chǎn)品.
4:要求得到需求工作結(jié)果的解釋說(shuō)明
分析人員可能采用了多種圖表作為文字性軟件需求規(guī)格說(shuō)明的補(bǔ)充.因?yàn)槿绻ぷ髁鞒虉D那樣的圖表能很清楚地描述出系統(tǒng)行為的某些方面.所以需求說(shuō)明中的各種圖表有著極高的價(jià)值.雖然它們不太難于理解,但是你很可能對(duì)此并不熟悉.因此可以要求分析人員解釋說(shuō)明每張圖表的作用或其它的需求開(kāi)發(fā)工作結(jié)果和符號(hào)的意義,及怎樣檢查圖表有無(wú)錯(cuò)誤及不一致等.
5:要求開(kāi)發(fā)人員尊重你的意見(jiàn)
如果用戶(hù)與開(kāi)發(fā)人員之間不能相互理解,那關(guān)于需求的討論將會(huì)有障礙,共同合作能使大家"兼聽(tīng)則明".參與需求開(kāi)發(fā)過(guò)程的客戶(hù)有權(quán)要求開(kāi)發(fā)人員尊重他們并珍惜他們?yōu)轫?xiàng)目成功所付出的時(shí)間.同樣,客戶(hù)也應(yīng)對(duì)開(kāi)發(fā)人員為項(xiàng)目成功這一共同目標(biāo)所作出的努力表示尊重與感激.
6:要求開(kāi)發(fā)人員對(duì)需求及產(chǎn)品實(shí)施提供建議,拿出主意
通常,客戶(hù)所說(shuō)的"需求"已是一種實(shí)際可能的實(shí)施解決方案,分析人員將盡力從這些解決方法中了解真正的業(yè)務(wù)及其需求,同時(shí)還應(yīng)找出已有系統(tǒng)不適合當(dāng)前業(yè)務(wù)之處,以確保產(chǎn)品不會(huì)無(wú)效或低效.在徹底弄清業(yè)務(wù)領(lǐng)域內(nèi)的事情后,分析人員有時(shí)就能提出相當(dāng)好的改進(jìn)方法.有經(jīng)驗(yàn)且富有創(chuàng)造力的分析人員還能提出增加一些用戶(hù)并未發(fā)現(xiàn)的很有價(jià)值的系統(tǒng)特性.
7:描述產(chǎn)品易使用的特性
你可以要求分析人員在實(shí)現(xiàn)功能需求的同時(shí)還要注重軟件的易用性.因?yàn)檫@些易用特性或質(zhì)量屬性能使你更準(zhǔn)確、高效地完成任務(wù).例如,客戶(hù)有時(shí)要求產(chǎn)品要"用戶(hù)友好"或"健壯"或"高效率",但這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),太主觀了并無(wú)實(shí)用價(jià)值.正確的應(yīng)是:分析人員通過(guò)詢(xún)問(wèn)和調(diào)查了解客戶(hù)所要的友好、健壯、高效所包含的具體特性.
8:調(diào)整需求,允許重用已有的軟件組件
需求通常要有一定的靈活性.分析人員可能發(fā)現(xiàn)已有的某個(gè)軟件組件與你描述的需求很相符.在這種情況下,分析人員應(yīng)提供一些修改需求的選擇以便開(kāi)發(fā)人員能夠在新系統(tǒng)開(kāi)發(fā)中重用一些已有的軟件.如果有可重用的機(jī)會(huì)出現(xiàn),同時(shí)你又能調(diào)整你的需求說(shuō)明,那就能降低成本和節(jié)省時(shí)間,而不必嚴(yán)格按原有的需求說(shuō)明開(kāi)發(fā).所以說(shuō),如果想在產(chǎn)品中使用一些已有的商業(yè)常用組件,而它們并不完全適合你所需的特性,這時(shí)一定程度上的需求靈活性就顯得極為重要了.
9:獲得滿(mǎn)足客戶(hù)功能和質(zhì)量要求的系統(tǒng)
每個(gè)人都希望項(xiàng)目獲得成功.但這不僅要求你要清晰地告知開(kāi)發(fā)人員關(guān)于系統(tǒng)"做什么"所需的所有信息,而且還要求開(kāi)發(fā)人員能通過(guò)交流了解清楚取舍與限制.一定要明確說(shuō)明你的假設(shè)和潛在的期望.否則,開(kāi)發(fā)人員開(kāi)發(fā)出的產(chǎn)品很可能無(wú)法讓你滿(mǎn)意.
客戶(hù)有下列義務(wù):
1:給分析人員講解你的業(yè)務(wù)
分析人員要依靠你給他們講解的業(yè)務(wù)概念及術(shù)語(yǔ).但你不能指望分析人員會(huì)成為該領(lǐng)域的專(zhuān)家,而只能讓他們真正明白你的問(wèn)題和目標(biāo).不要期望分析人員能把握你們業(yè)務(wù)的細(xì)微與潛在之處,他們很可能并不知道那些對(duì)于你和你的同事來(lái)說(shuō)理所當(dāng)然的"常識(shí)".
2:抽出時(shí)間清楚地說(shuō)明并完善需求
客戶(hù)很忙,經(jīng)常在最忙的時(shí)候還得參與需求開(kāi)發(fā).但無(wú)論如何,你有義務(wù)抽出時(shí)間參與"頭腦風(fēng)暴"會(huì)議的討論,接受采訪或其它獲取需求的活動(dòng).有時(shí)分析人員可能先以為明白了你的觀點(diǎn),而過(guò)后發(fā)現(xiàn)還需要你的講解.這時(shí),請(qǐng)耐心一些對(duì)待需求和需求的精化工作過(guò)程中的反復(fù),因?yàn)樗侨藗兘涣髦械暮茏匀坏默F(xiàn)象,何況這對(duì)軟件產(chǎn)品的成功極為重要.
3:準(zhǔn)確而詳細(xì)地說(shuō)明需求
編寫(xiě)一份清晰、準(zhǔn)確的需求文檔是很困難的.由于處理細(xì)節(jié)問(wèn)題不但煩人而且又耗時(shí),故很容易留下模糊不清的需求.但是,在開(kāi)發(fā)過(guò)程中,必須得解決這種模糊性和不準(zhǔn)確性.而你恰是為解決這些問(wèn)題作出決定的*人選.不然的話,你就只好靠開(kāi)發(fā)人員去正確猜測(cè)了.在需求規(guī)格說(shuō)明中暫時(shí)加上待定(to be determined, TBD也可采用漢語(yǔ)拼音略寫(xiě)"DQD:待確定")的標(biāo)志是個(gè)不錯(cuò)的辦法.用該標(biāo)志可指明了哪些需要進(jìn)一步探討、分析或增加信息的地方.不過(guò),有時(shí)也可能因?yàn)槟硞€(gè)特殊需求難以解決或沒(méi)有人愿意處理它而注上TBD標(biāo)志.盡量將每項(xiàng)需求的內(nèi)容都闡述清楚,以便分析人員能準(zhǔn)確的將其寫(xiě)進(jìn)軟件需求規(guī)格說(shuō)明中.如果你一時(shí)不能準(zhǔn)確表述,那就得允許獲取必要的準(zhǔn)確信息這樣一個(gè)過(guò)程.通常使用所謂的原型技術(shù).通過(guò)開(kāi)發(fā)的原型,你可以同開(kāi)發(fā)人員一起反復(fù)修改,不斷完善需求定義.
4:及時(shí)地作出決定
正如一位建筑師為你修建房屋,分析人員將要求你做出一些選擇和決定.這些決定包括來(lái)自多個(gè)用戶(hù)提出的處理方法或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等.有權(quán)做出決定的客戶(hù)必須積極地對(duì)待這一切,盡快做處理、做決定.因?yàn)殚_(kāi)發(fā)人員通常只有等你做出了決定才能行動(dòng),而這種等待會(huì)延誤項(xiàng)目的進(jìn)展.
5:尊重開(kāi)發(fā)人員的需求可行性及成本評(píng)估
所有的軟件功能都有其成本價(jià)格,開(kāi)發(fā)人員最適合預(yù)算這些成本(盡管許多開(kāi)發(fā)人員并不擅長(zhǎng)評(píng)估預(yù)測(cè)).你所希望的某些產(chǎn)品特性可能在技術(shù)上行不通,或者實(shí)現(xiàn)它要付出極為高昂的代價(jià).而某些需求試圖在操作環(huán)境中要求不可能達(dá)到的性能或試圖得到一些根本得不到的數(shù)據(jù),開(kāi)發(fā)人員會(huì)對(duì)此作出負(fù)面的評(píng)價(jià)意見(jiàn),你應(yīng)該尊重他們的意見(jiàn).有時(shí),你可以重新給出一個(gè)在技術(shù)上可行、實(shí)現(xiàn)上便宜的需求,例如,要求某個(gè)行為在"瞬間"發(fā)生是不可行的,但換種更具體的時(shí)間需求說(shuō)法("在50ms以?xún)?nèi)",但若沒(méi)有準(zhǔn)確的技術(shù)分析不能輕易下結(jié)論),這就可以實(shí)現(xiàn)了.
6: 劃分需求優(yōu)先級(jí)別
大多數(shù)項(xiàng)目沒(méi)有足夠的時(shí)間或資源來(lái)實(shí)現(xiàn)功能性的每個(gè)細(xì)節(jié).決定哪些特性是必要的,哪些是重要的,哪些是好的,是需求開(kāi)發(fā)的主要部分.只能由你來(lái)負(fù)責(zé)設(shè)定需求優(yōu)先級(jí),因?yàn)殚_(kāi)發(fā)者并不可能按你的觀點(diǎn)決定需求優(yōu)先級(jí).開(kāi)發(fā)者將為你確定優(yōu)先級(jí)提供有關(guān)每個(gè)需求的花費(fèi)和風(fēng)險(xiǎn)的信息.當(dāng)你設(shè)定優(yōu)先級(jí)時(shí),你幫助開(kāi)發(fā)者確保在適當(dāng)?shù)臅r(shí)間內(nèi)用最小的開(kāi)支取得最好的效果.在時(shí)間和資源限制下,關(guān)于所需特性能否完成或完成多少應(yīng)該尊重開(kāi)發(fā)人員的意見(jiàn).盡管沒(méi)有人愿意看到自己所希望的需求在項(xiàng)目中未被實(shí)現(xiàn),但畢竟是要面對(duì)這種現(xiàn)實(shí)的.業(yè)務(wù)決策有時(shí)不得不依據(jù)優(yōu)先級(jí)來(lái)縮小項(xiàng)目范圍或延長(zhǎng)工期,或增加資源,或在質(zhì)量上尋找折衷.
7:評(píng)審需求文檔和原型
正如我們將在第1 4章討論的,無(wú)論是正式的還是非正式的方式,對(duì)需求文檔進(jìn)行評(píng)審都會(huì)對(duì)軟件質(zhì)量提高有所幫助.讓客戶(hù)參與評(píng)審才能真正鑒別需求文檔是否的確完整、正確說(shuō)明了期望的必要特性.評(píng)審也給客戶(hù)代表提供一個(gè)機(jī)會(huì),給需求分析人員帶來(lái)反饋信息以改進(jìn)他們的工作.如果你認(rèn)為編寫(xiě)的需求文檔不夠準(zhǔn)確,就有義務(wù)盡早告訴分析人員并為改進(jìn)提供建議.通過(guò)閱讀需求規(guī)格說(shuō)明,很難想象實(shí)際的軟件是什么樣子的.更好的方法是先為產(chǎn)品開(kāi)發(fā)一個(gè)原型.這樣你就能提供更有價(jià)值的反饋信息給開(kāi)發(fā)人員,幫助他們更好地理解你的需求.必須認(rèn)識(shí)到:原型并非是一個(gè)實(shí)際產(chǎn)品,但開(kāi)發(fā)人員能將其轉(zhuǎn)變、擴(kuò)充成功能齊全的系統(tǒng).
8:需求出現(xiàn)變更要馬上聯(lián)系
不斷的需求變更會(huì)給在預(yù)定計(jì)劃內(nèi)完成高質(zhì)量產(chǎn)品帶來(lái)嚴(yán)重的負(fù)面影響.變更是不可避免的,但在開(kāi)發(fā)周期中變更越在晚期出現(xiàn),其影響越大.變更不僅會(huì)導(dǎo)致代價(jià)極高的返工,而且工期也會(huì)被迫延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時(shí).所以一旦你發(fā)現(xiàn)需要變更需求時(shí),請(qǐng)一定立即通知分析人員.
9:應(yīng)遵照開(kāi)發(fā)組織處理需求變更的過(guò)程
為了將變更帶來(lái)的負(fù)面影響減少到*限度,所有的參與者必須遵照項(xiàng)目的變更控制過(guò)程.這要求不放棄所有提出的變更,對(duì)每項(xiàng)要求的變更進(jìn)行分析、綜合考慮,最后作出合適的決策以確定將某些變更引入項(xiàng)目中.
10:尊重開(kāi)發(fā)人員采用的需求工程過(guò)程
軟件開(kāi)發(fā)中*挑戰(zhàn)性的莫過(guò)于收集需求并確定其正確性.分析人員采用的方法有其合理性.也許你認(rèn)為需求過(guò)程不太劃算,但請(qǐng)相信花在需求開(kāi)發(fā)上的時(shí)間是"很有價(jià)值"的.如果你理解并支持分析人員為收集、編寫(xiě)需求文檔和確保其質(zhì)量所采用的技術(shù),那么整個(gè)過(guò)程將會(huì)更為順利.盡管去詢(xún)問(wèn)分析人員為什么他們要收集某些信息,或參與與需求有關(guān)的活動(dòng).
系統(tǒng)分析人員在開(kāi)發(fā)過(guò)程中可能會(huì)遇到以下問(wèn)題,一些很忙的客戶(hù)可能不愿意積極參與需求過(guò)程,而缺少客戶(hù)參與將很可能導(dǎo)致不理想的產(chǎn)品.故一定要確保需求開(kāi)發(fā)中的主要參與者都了解并接受他們的義務(wù).如果遇到分歧,通過(guò)協(xié)商以達(dá)成對(duì)各自義務(wù)的相互理解,這樣能減少今后的摩擦.
7.需求文檔
需求開(kāi)發(fā)的最終成果是:客戶(hù)和開(kāi)發(fā)小組對(duì)將要開(kāi)發(fā)的產(chǎn)品達(dá)成一致協(xié)議.協(xié)議綜合了業(yè)務(wù)需求、用戶(hù)需求和軟件功能需求.就像我們?cè)缦人吹降?項(xiàng)目視圖和范圍文檔包含了業(yè)務(wù)需求,而使用實(shí)例文檔則包含了用戶(hù)需求.你必須編寫(xiě)從使用實(shí)例派生出的功能需求文檔,還要編寫(xiě)產(chǎn)品的非功能需求文檔,包括質(zhì)量屬性和外部接口需求.只有以結(jié)構(gòu)化和可讀性方式編寫(xiě)這些文檔,并由項(xiàng)目的風(fēng)險(xiǎn)承擔(dān)者評(píng)審?fù)ㄟ^(guò)后,各方面人員才能確信他們所贊同的需求是可靠的.
你可以使用以下三種方法編寫(xiě)軟件需求規(guī)格說(shuō)明:
用好的結(jié)構(gòu)化和自然語(yǔ)言編寫(xiě)文本型文檔.
建立圖形化模型,這些模型可以描繪轉(zhuǎn)換過(guò)程、系統(tǒng)狀態(tài)和它們之間的變化、數(shù)據(jù)關(guān)系、邏輯流或?qū)ο箢?lèi)和它們的關(guān)系.
編寫(xiě)形式化規(guī)格說(shuō)明,這可以通過(guò)使用數(shù)學(xué)上*的形式化邏輯語(yǔ)言來(lái)定義需求.
由于形式化規(guī)格說(shuō)明具有很強(qiáng)的嚴(yán)密性和*度,因此,所使用的形式化語(yǔ)言只有極少數(shù)軟件開(kāi)發(fā)人員才熟悉,更不用說(shuō)客戶(hù)了.雖然結(jié)構(gòu)化的自然語(yǔ)言具有許多缺點(diǎn),但在大多數(shù)軟件工程中,它仍是編寫(xiě)需求文檔最現(xiàn)實(shí)的方法.包含了功能和非功能需求的基于文本的軟件需求規(guī)格說(shuō)明已經(jīng)為大多數(shù)項(xiàng)目所接受.圖形化分析模型通過(guò)提供另一種需求視圖,增強(qiáng)了軟件需求規(guī)格說(shuō)明.
如果解決了您的問(wèn)題請(qǐng)采納!
如果未解決請(qǐng)繼續(xù)追問(wèn):
錨點(diǎn)Q3: 如何抓住人性,如何分析客戶(hù)需求
一、顧客貪利的心理:
人性的弱點(diǎn)每個(gè)人都有只是略有差異而已,古往今來(lái)的人概莫能免每個(gè)人都有貪利的想法。例如打折可以吸引更多顧客,讓利會(huì)讓老顧客更動(dòng)心,贈(zèng)品豐富會(huì)增加新顧客的數(shù)量,原價(jià)多少錢(qián)現(xiàn)價(jià)多少錢(qián)絕大多數(shù)的顧客都感興趣,一折起三者起的海報(bào)絕大多數(shù)人都要去看看,這就是人愛(ài)貪利的消費(fèi)心理。
二、顧客好奇的心理:
其實(shí)顧客的好奇心理與從眾心理很相似,在馬路上看到圍著一堆人就忍不住過(guò)去看看,好奇是人之本性。對(duì)自己不了解的事物總是想了解但是又怕冒風(fēng)險(xiǎn),這就是人的本能想法。因?yàn)槿颂焐邆浜闷嫘睦聿艖?yīng)運(yùn)而生“商不厭奇”說(shuō)法,所以商家的促銷(xiāo)活動(dòng)也設(shè)計(jì)的離棄古怪越來(lái)越新奇,激發(fā)人們的好奇心理增加客源數(shù)量,促銷(xiāo)活動(dòng)形式花樣百出曾出不窮。
三、顧客的恐懼(擔(dān)心)心理:
一個(gè)裝修非常豪華富麗堂皇的店鋪,即使店鋪的商品價(jià)格并不昂貴,工薪階層的顧客還是有顧慮不敢去光顧,這就是恐懼心理??謶中睦韥?lái)自信息的不對(duì)稱(chēng),因?yàn)樯碳沂切畔?yōu)勢(shì)一方顧客是弱勢(shì)的一方,顧客害怕被宰害怕傷自尊沒(méi)面子,顧客的恐懼心理?yè)?dān)心價(jià)格昂貴買(mǎi)不起,商品價(jià)格太貴自己財(cái)力不能承受,擔(dān)心產(chǎn)品質(zhì)量有問(wèn)題售后服務(wù)問(wèn)題等等,擔(dān)心被營(yíng)業(yè)員纏住不放被強(qiáng)行推薦購(gòu)物,擔(dān)心服務(wù)質(zhì)量擔(dān)心有問(wèn)題解決不了等等。
四、顧客的逆反心理:
強(qiáng)買(mǎi)強(qiáng)賣(mài)的生意是沒(méi)有辦法成功的,很多店鋪的營(yíng)業(yè)員抓住顧客就喋喋不休的推薦,不考慮顧客的感受根本不在意顧客的感覺(jué),只有一個(gè)想法把產(chǎn)品推出去讓顧客把錢(qián)掏出來(lái),這樣的方式顧客不喜歡推薦也不會(huì)成功。
對(duì)于顧客要不失熱情又不讓顧客感覺(jué)到壓力,留有一定的空間又不能讓顧客感覺(jué)到受冷落,顧客是非常奇怪的你不理她顧客很不高興,你離顧客太近產(chǎn)生壓力她也不高興說(shuō)你老盯著她的錢(qián)包。對(duì)于顧客的逆反心理要把握非常好的尺度,既不冷也不熱不遠(yuǎn)也不近的方式真誠(chéng)服務(wù),讓顧客覺(jué)得你就在她身邊真誠(chéng)服務(wù)就可以了。
五、顧客的從眾心理:
賣(mài)東西有個(gè)奇怪的現(xiàn)象,如果沒(méi)有人買(mǎi)就誰(shuí)也不買(mǎi)生意無(wú)人問(wèn)津,如果看到一個(gè)購(gòu)買(mǎi)大家都跟著效仿這就是從眾心理。
當(dāng)我們面對(duì)客戶(hù)的挑剔,首先不是防衛(wèi)、排斥和拒絕,而是虛心傾聽(tīng),冷靜客觀地研究分析客戶(hù)挑剔的觀點(diǎn)。研究分析時(shí),還要站在客戶(hù)的立場(chǎng),就客觀的事實(shí)和主觀的感覺(jué)和情緒,去了解客戶(hù)為何挑剔。在面對(duì)最挑剔客戶(hù)時(shí),尤須如此。
WwwJIZhUba.coM
錨點(diǎn)Q4: 如何做需求分析
隨著技術(shù)的不斷發(fā)展和用戶(hù)對(duì)網(wǎng)站功能性的需求不斷提高,如今網(wǎng)站項(xiàng)目的設(shè)計(jì)已經(jīng)不能再僅僅簡(jiǎn)單地利用靜態(tài)Html文件來(lái)實(shí)現(xiàn),與前幾年網(wǎng)站設(shè)計(jì)由一兩名網(wǎng)頁(yè)設(shè)計(jì)師自由的創(chuàng)作相比,網(wǎng)站項(xiàng)目的設(shè)計(jì)和開(kāi)發(fā)越來(lái)越像一個(gè)軟件工程,也越來(lái)越復(fù)雜,網(wǎng)站項(xiàng)目的設(shè)計(jì)和開(kāi)發(fā)進(jìn)入了需要強(qiáng)調(diào)流程和分工的時(shí)代,建立規(guī)范的、有效的、健壯的開(kāi)發(fā)機(jī)制,才能適應(yīng)用戶(hù)不斷變化的需要,達(dá)到預(yù)期的計(jì)劃目標(biāo)。
網(wǎng)站項(xiàng)目管理(WPM)的含義為Web-based Project Management,即以Web 應(yīng)用程序?yàn)橹饕憩F(xiàn)方式的架構(gòu)來(lái)進(jìn)行的項(xiàng)目設(shè)計(jì)及管理,這樣的架構(gòu)中包含了瀏覽器、網(wǎng)絡(luò)和Web
服務(wù)器等關(guān)鍵主體,主要體現(xiàn)在網(wǎng)站設(shè)計(jì)、以瀏覽器為客戶(hù)端的Web應(yīng)用程序開(kāi)發(fā)(例如信息類(lèi)網(wǎng)站、網(wǎng)上商店、虛擬郵局、客戶(hù)關(guān)系管理。)等項(xiàng)目管理中。
按照筆者的經(jīng)驗(yàn),網(wǎng)站項(xiàng)目管理可以分為以下l六個(gè)階段進(jìn)行控制:
1. 需求分析及變更管理
2. 項(xiàng)目模型及業(yè)務(wù)流程分析
3. 系統(tǒng)分析及軟件建模
4. 界面設(shè)計(jì)、交互設(shè)計(jì)及程序開(kāi)發(fā)
5. 系統(tǒng)測(cè)試和文檔編寫(xiě)
6. 客戶(hù)培訓(xùn)、技術(shù)支持和售后服務(wù)
需要說(shuō)明的是,這些階段雖然具有一定的延續(xù)性,但是并非完全隔斷的,例如需求變更管理和測(cè)試工作、文檔編寫(xiě)都是貫穿整個(gè)項(xiàng)目過(guò)程的,許多工作時(shí)交叉進(jìn)行或同時(shí)進(jìn)行的。
(一)如何做好需求分析及變更管理?
業(yè)務(wù)員與客戶(hù)進(jìn)行的溝通,撰寫(xiě)需求分析報(bào)告是項(xiàng)目展開(kāi)的基礎(chǔ)。項(xiàng)目是以客戶(hù)的需求為中心,而不是為技術(shù)而遷就需求。
一:讓客戶(hù)暢所欲言,羅列出所有的需求
讓用戶(hù)將所有的想法盡可能的闡述清楚,并把所有的要求羅列出來(lái),不要遺漏。這時(shí)候不應(yīng)該害怕“勾引”起客戶(hù)的潛在需求而增加設(shè)計(jì)開(kāi)發(fā)的工作量,從而被今后客戶(hù)無(wú)止境的變更拖入泥潭,直接明白地跟客戶(hù)把問(wèn)題和要求一條條地列出來(lái),把條理、歸納、分析先都扔到一邊去,將用戶(hù)最原始、最完整的要求準(zhǔn)確地記錄下來(lái)就完成了第一步的工作。
很明顯,假如客戶(hù)的需求做的都不完整,隨時(shí)可能會(huì)產(chǎn)生意想之外的變更,甚至這個(gè)變更會(huì)破壞已經(jīng)做的模型及結(jié)構(gòu),那么這個(gè)項(xiàng)目從開(kāi)始就注定了會(huì)失??;比如站點(diǎn)所有的功能都實(shí)現(xiàn)了,本地測(cè)試起來(lái)也沒(méi)有什么問(wèn)題了,但是你卻不知道客戶(hù)的系統(tǒng)是要承受每天100萬(wàn)獨(dú)立IP的訪問(wèn),而你原來(lái)想當(dāng)然的以為了不起就是1萬(wàn)獨(dú)立IP訪問(wèn)的訪問(wèn)流量,稍微有經(jīng)驗(yàn)的開(kāi)發(fā)人員都會(huì)明白這樣的設(shè)計(jì)是個(gè)災(zāi)難,無(wú)論是應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)還是程序全部要重新開(kāi)發(fā)!
二:透過(guò)現(xiàn)象分析潛在的需求
很多情況下客戶(hù)并非專(zhuān)業(yè)人士,在他們滔滔不絕的描述中不能指望他們幫助我們整理出重點(diǎn)和技術(shù)難關(guān),這需要我們?nèi)榭蛻?hù)進(jìn)行分析、歸納和整理,尤其是客戶(hù)談的不多卻又是技術(shù)上實(shí)現(xiàn)難度和強(qiáng)度很高的地方特別值得注意。
客戶(hù)往往對(duì)需求的概念是非常模糊的,大多時(shí)候給出的需求都是籠統(tǒng)而且尺度難以控制的,這就要求業(yè)務(wù)人員在傾聽(tīng)了客戶(hù)的詳細(xì)說(shuō)明以后,幫助客戶(hù)進(jìn)行整理和分析,同時(shí)預(yù)測(cè)客戶(hù)在開(kāi)發(fā)過(guò)程中變更及今后應(yīng)用中可能進(jìn)行修改升級(jí)的潛在需求。
比如在為客戶(hù)設(shè)計(jì)辦公自動(dòng)化系統(tǒng)的時(shí)候,也許就要為客戶(hù)預(yù)留將來(lái)與他們的業(yè)務(wù)單位進(jìn)行交互的通道;在設(shè)計(jì)郵件系統(tǒng)的時(shí)候要考慮可能會(huì)需要廣告管理服務(wù)器;設(shè)計(jì)網(wǎng)絡(luò)電子商店時(shí)今后增加庫(kù)存產(chǎn)品進(jìn)銷(xiāo)存統(tǒng)計(jì)分析等等;限于時(shí)間財(cái)力的考慮,客戶(hù)通常能夠接受分階段實(shí)施的開(kāi)發(fā)過(guò)程,在需求分析時(shí),提早為客戶(hù)設(shè)想到今后的需求變更除了使項(xiàng)目開(kāi)發(fā)更加順利以外,也為今后業(yè)務(wù)的進(jìn)一步深入打下了更好的基礎(chǔ)。
筆者曾負(fù)責(zé)一個(gè)大型新聞網(wǎng)站的設(shè)計(jì),當(dāng)客戶(hù)拿著將近五十頁(yè)厚的一本設(shè)計(jì)要求報(bào)告時(shí),我發(fā)現(xiàn)有四十頁(yè)的內(nèi)容對(duì)程序開(kāi)發(fā)來(lái)說(shuō)都是重復(fù)的,而在其中一頁(yè)的角落卻畫(huà)了個(gè)“搜索其他網(wǎng)站相關(guān)新聞”的按鈕,并且沒(méi)有做任何說(shuō)明,僅僅這10個(gè)字所完成的工作量完全頂?shù)纳掀渌氖?yè)重復(fù)贅述所做的工作,客戶(hù)完全不知道這個(gè)要求引發(fā)的問(wèn)題實(shí)際就是一個(gè)搜索引擎的開(kāi)發(fā),通過(guò)協(xié)商,客人同意了修改成站內(nèi)搜索的引擎。
轉(zhuǎn)載:http://www.nywlwx.com/zixun_detail/109112.html