也是我上面談到的先請(qǐng)行業(yè)專(zhuān)家的原因。畢竟,客戶是不可能給你系統(tǒng)地介紹業(yè)務(wù)的。只有你通曉了行業(yè)業(yè)務(wù),才能和用戶交流,并正確而有效地引導(dǎo)客戶,做好需求分析,你不能指望客戶能明確地說(shuō)出需求。當(dāng)然,這也是系統(tǒng)分析人員的職責(zé)所在。在開(kāi)始做需求的時(shí)候,你最后花一點(diǎn)時(shí)間搞清楚你接觸的客戶是不是做實(shí)際業(yè)務(wù)的客戶,如果你面對(duì)的客戶不是將來(lái)的系統(tǒng)的實(shí)際使用者。你就有點(diǎn)麻煩了??赡芩强蛻艄九蛇^(guò)來(lái)的IT部的人,他會(huì)提一大堆東西,而這些東西可能根本不是實(shí)際業(yè)務(wù)需要的功能,而他一般還會(huì)興致勃勃地給你一些技術(shù)實(shí)現(xiàn)的建議。這個(gè)時(shí)候你就要小心了,如果你聽(tīng)了他的話,你可能在最后才發(fā)現(xiàn),你花了大量精力解決的問(wèn)題,其實(shí)并不是客戶真正需要的。而你真正需要關(guān)注的,卻做得遠(yuǎn)遠(yuǎn)不夠。
? 參考其他類(lèi)似軟件和系統(tǒng)
在經(jīng)過(guò)與客戶的溝通,并形成初步的需求之后,不要急成正式的需求,請(qǐng)先參考一下以前的一些系統(tǒng),去理解一下了解到的需求與原先系統(tǒng)的差異,并去發(fā)現(xiàn)是否有些需求會(huì)產(chǎn)生錯(cuò)識(shí)需求。
? 業(yè)務(wù)建模
為需求建立模型,需求的圖形分析模型是軟件需求規(guī)格說(shuō)明極好的補(bǔ)充說(shuō)明。它們能提供不同的信息與關(guān)系以有助于找到不正確的、不一致的、遺漏的和冗余的需求。這樣的模型包括數(shù)據(jù)流圖、實(shí)體關(guān)系圖、狀態(tài)變換圖、對(duì)話框圖、對(duì)象類(lèi)及交互作用圖。
? 需求整理并形成需求規(guī)格說(shuō)明書(shū)
需求規(guī)格說(shuō)明書(shū)的模板我想每家公司都是不一樣的,也沒(méi)有必要都一樣,但我認(rèn)為每個(gè)需求規(guī)格說(shuō)明書(shū)至少應(yīng)包括
軟件需求一旦通過(guò)了評(píng)審,就應(yīng)該基線化,納入配置管理庫(kù)。而在配置管理庫(kù)中的文檔或代碼不能再輕易進(jìn)行修改。當(dāng)有需求要進(jìn)行變更的時(shí)候,就必須提出申請(qǐng),寫(xiě)需求變更計(jì)劃,審核通過(guò),才有權(quán)限進(jìn)行需求變更。然后配置管理員一定要做好需求的跟蹤。,凡是跟變更需求有牽連的開(kāi)發(fā)人員和測(cè)試人員都要同步的通知到和及時(shí)讓他們做好相應(yīng)部分的各類(lèi)文檔的修改。
? 需求變更管理
需求的變更管理我個(gè)人認(rèn)為是最容易出問(wèn)題,一般項(xiàng)目做不完也主要是由此產(chǎn)生。需求變更的出現(xiàn)主要是因?yàn)樵陧?xiàng)目的需求確定階段,用戶往往不能確切地定義自己需要什么。用戶常常以為自己清楚,但實(shí)際上他們提出的需求只是依據(jù)當(dāng)前的工作所需,而采用的新設(shè)備、新技術(shù)通常會(huì)改變他們的工作方式;或者要開(kāi)發(fā)的系統(tǒng)對(duì)用戶來(lái)說(shuō)也是個(gè)未知數(shù),他們以前沒(méi)有過(guò)相關(guān)的使用經(jīng)驗(yàn)。隨著開(kāi)發(fā)工作的不斷進(jìn)展,系統(tǒng)開(kāi)始展現(xiàn)功能的雛形,用戶對(duì)系統(tǒng)的了解也逐步深入。于是,他們可能會(huì)想到各種新的功能和特色,或?qū)σ郧疤岢龅囊筮M(jìn)行改動(dòng)。他們了解得越多,新的要求也就越多,需求變更因此不可避免地一次又一次出現(xiàn)。如何有效的管理需求變更,下面是我公司目前的做法。公司采用Test Director作為需求管理工具,需求人員每次與客戶溝通后形成需求調(diào)查表,統(tǒng)一錄入Test Director,并進(jìn)行綜合及整理后形成需求規(guī)格說(shuō)明書(shū), 之后由研發(fā)部、產(chǎn)品部、及銷(xiāo)售代表(如果有客戶參加就更好了)進(jìn)行需求評(píng)審,建立需求基線。制訂簡(jiǎn)單、有效的變更控制流程,并形成文檔。在建立了需求基線后提出的所有變更都必須遵循變更控制流程進(jìn)行控制,同時(shí)每一筆重要的需求變更都需要客戶簽字確認(rèn)才認(rèn)為需求變更生效。需求變更后,受影響的軟件計(jì)劃、產(chǎn)品、活動(dòng)都要進(jìn)行相應(yīng)的變更,以保持和更新的需求一致。因?yàn)門(mén)est Director提供了需求變更記錄,可以幫助我們形成良好的文檔,便于進(jìn)行管理。
2. 需求管理
首先要針對(duì)需求做出分析,隨后應(yīng)用于產(chǎn)品并提出方案。需求分析的模型正是產(chǎn)品的原型樣本,優(yōu)秀的需求管理提高了這樣的可能性:它使最終產(chǎn)品更接近于解決需求,提高了用戶對(duì)產(chǎn)品的滿意度,從而使產(chǎn)品成為真正優(yōu)質(zhì)合格