善需求,先建立系統(tǒng)結(jié)構(gòu)再完成需求說明,造成返工的可能性很大,會(huì)給開發(fā)人員帶來挫折感,降低他們完成項(xiàng)目的信心。
(5)需求的細(xì)化程度。需求到底描述到多細(xì),才算可以結(jié)束了?雖然國家標(biāo)準(zhǔn)有需求說明的編寫規(guī)范,但具體到某一個(gè)需求上,很難給出一個(gè)具體的指標(biāo),可謂仁者見仁,智者見智,并沒有定論。需求越細(xì),周期越長,可能的變化越多,對(duì)設(shè)計(jì)的限制越嚴(yán)格,對(duì)需求的共性提取要求也越高,相反,需求越粗,開發(fā)人員在技術(shù)設(shè)計(jì)時(shí)不清楚的地方就越多,影響技術(shù)設(shè)計(jì)。
(6)需求描述的多義性。需求描述的多義性一方面是指不同讀者對(duì)需求說明產(chǎn)生了不同的理解;另一方面是指同一讀者能用不同的方式來解釋某個(gè)需求說明。多義性會(huì)使用戶和開發(fā)人員等項(xiàng)目參與者產(chǎn)生不同的期望,也會(huì)使開發(fā)、測(cè)試人員為不同的理解而浪費(fèi)時(shí)間,帶來不可避免的后果便是返工重做。
(7)忽略了用戶的特點(diǎn)分析。分析人員往往容易忽略了系統(tǒng)用戶的特點(diǎn),系統(tǒng)是由不同的人使用其不同的特性,使用頻繁程度有所差異,使用者受教育程度和經(jīng)驗(yàn)水平不盡相同。如果忽略這些的話,將會(huì)導(dǎo)致有的用戶對(duì)產(chǎn)品感到失望。
(8)需求開發(fā)的時(shí)間保障。為了確保需求的正確性和完整性,項(xiàng)目負(fù)責(zé)人往往堅(jiān)持要在需求階段花費(fèi)較多的時(shí)間,但用戶和開發(fā)部門的領(lǐng)導(dǎo)卻會(huì)因?yàn)轫?xiàng)目遲遲看不到實(shí)際成果而焦慮,他們往往會(huì)強(qiáng)迫項(xiàng)目盡快往前推進(jìn),需求開發(fā)人員也會(huì)被需求的復(fù)雜和善變折騰的筋疲力盡,他們也希望盡快結(jié)束需求階段。
3 如何做好需求工作
需求分析是軟件項(xiàng)目開發(fā)中最困難的一項(xiàng)工作,它不僅要求分析人員具有豐富的需求分析經(jīng)驗(yàn)和良好的專業(yè)素質(zhì),還要求分析人員具有良好的學(xué)習(xí)能力、公關(guān)能力、語言能力和組織能力。在實(shí)際工作中分析人員要面對(duì)不同的單位、不同的部門、不同的人員、不同的文化、不同的關(guān)系、不同的管理水平等等不同的情況,面對(duì)如此紛繁復(fù)雜的環(huán)境,如何做好需求分析工作?首先需要建立一個(gè)有效的工作機(jī)制,只有建立了工作機(jī)制,才能保證需求工作按照既定方案執(zhí)行,需求開發(fā)和管理的參與者才會(huì)在一種有序的狀態(tài)下工作。其次才是充分運(yùn)用工作機(jī)制和個(gè)人能力去獲取問題、分析問題、編寫需求文檔和進(jìn)行需求管理。
3.1 建立需求分析工作機(jī)制需考慮的幾個(gè)因素
(1)抓住決策者最迫切和最關(guān)心的問題,引起重視。用戶方?jīng)Q策者對(duì)項(xiàng)目的關(guān)心重視程度是項(xiàng)目能否順利開展的關(guān)鍵,決策者的真實(shí)意圖也是用戶方的最終需求,因此,在開發(fā)過程中要利用一切機(jī)會(huì)了解決策者關(guān)心的問題,同時(shí)也要讓他們了解項(xiàng)目的情況。在諸如談判、專題匯報(bào)、協(xié)調(diào)會(huì)議、領(lǐng)導(dǎo)視察、階段性成果演示等過程中用簡短明確的語言或文字抓住領(lǐng)導(dǎo)最關(guān)心的問題,引導(dǎo)他們了解和重視項(xiàng)目的開發(fā),當(dāng)決策者認(rèn)識(shí)到項(xiàng)目的重要性時(shí),需求分析工作在人力、物力、時(shí)間上就有了保障。
(2)建立組織保障,明確的責(zé)任分工。項(xiàng)目開發(fā)一般都會(huì)成立相應(yīng)的項(xiàng)目組或工程組,目前,常見的組織形式是:產(chǎn)品管理組、質(zhì)量與測(cè)試組、程序開發(fā)組、用戶代表組和后勤保障組,各組的主要分工是:產(chǎn)品管理組負(fù)責(zé)確定和設(shè)置項(xiàng)目目標(biāo),根據(jù)需求的優(yōu)先級(jí)確定功能規(guī)范,向相關(guān)人員通報(bào)項(xiàng)目進(jìn)展。程序管理組負(fù)責(zé)系統(tǒng)分析,根據(jù)軟件開發(fā)標(biāo)準(zhǔn)協(xié)調(diào)日常開發(fā)工作確保及時(shí)交付開發(fā)任務(wù),控制項(xiàng)目進(jìn)度。程序開發(fā)組負(fù)責(zé)按照功能規(guī)范要求交付軟件系統(tǒng)。質(zhì)量與測(cè)試組負(fù)責(zé)保證系統(tǒng)符合功能規(guī)范的要求,測(cè)試工作與開發(fā)工作是獨(dú)立并行的。用戶代表組負(fù)責(zé)代表用戶方提出需求,負(fù)責(zé)軟件的用戶方測(cè)試。后勤保障組負(fù)責(zé)確保項(xiàng)目順利進(jìn)行的后勤保障工作。
(3)建立良好的溝通環(huán)境和氛圍。分析人員與用戶溝通的程度關(guān)系到需求分析的質(zhì)量,因此建立一個(gè)良好的溝通氛圍、處理好分析人員與用戶之間的關(guān)系顯得尤其重要,一般情