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