軟件工程-軟件目的需求開發(fā)與管理[2]

字號:

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