需求開發(fā)的主要困難與策略

字號:

1 知識技能
    問題:需求分析員缺乏應用域知識。應用域的知識是無邊無際的,任何人都不可能是“萬事通”。需求分析員可能是某一領域的專家,但一個企業(yè)要謀求發(fā)展,不能總在做老的業(yè)務,當他接手陌生的業(yè)務時,他可能是個“無知”者。
     策略:要勇于實踐,不要逃避。還應當趕緊補習應用域知識,不論是通過自學還是培訓的方式??赡艿脑挘谜埣榷浖侄畱糜蛑R的行家來幫忙。
    2 態(tài)度
    問題:很多開發(fā)人員習慣于被動地對待需求開發(fā)。每當遇到麻煩、挫折時,他們會找一堆用戶的毛病。很多開發(fā)人員錯誤地以為:
    需求是用戶的事情,不是我們的事情。我們?yōu)橛脩糸_發(fā)軟件,難道用戶不該告訴我們應當開發(fā)什么嗎?如果用戶說不清楚需求,或者經常變更需求,這類問題是用戶產生的,應當由他們自己負責。
    策略:用戶說不清楚需求或者需求發(fā)生變更都是常見的問題,人們可以設法解決的。開發(fā)人員不應該把這些問題當成借口。需求分析員的天職就是在有限的時間內獲取準確而細致的用戶需求,如果做不到就是失職,不要找借口。
    3 合作關系
    問題:需求分析員不能與用戶建立良好的合作關系。對于一些競標項目,在合同未簽訂之前的需求開發(fā)工作尤為困難。用戶未必會買你的產品,他不會投入很多精力來協(xié)助你。搞需求開發(fā)。用戶有他自己的想法:我回答了你們的問題,講了該講的。我們付錢給你們,你們自己想辦法把工作做好……
    策略:出色的需求分析員不僅要有過硬的專業(yè)知識,還要具備較強的交流、溝通能力。對于重大的、復雜的項目,不能完全期望雙方能夠自發(fā)地建立起良好地合作關系。 開發(fā)方和用戶方在開展需求開發(fā)之前,雙方協(xié)商并撰寫“用戶在需求工程中的權利與義務”,即以協(xié)議的方式確定合作關系。如果條件允許,開發(fā)方好為用戶舉辦關于需求工程的培訓,這樣的培訓將使用戶明白需求的重要性以及忽視需求的危害性,從而促使他們積極友善地參加需求工程中的各項活動。
    4 用戶說不清楚需求
    問題:用戶說不清楚需求。有些用戶真的不知道需求是什么,或者對需求只有朦朧的感覺,他當然說不清楚需求。有些用戶雖然心里明白想要什么,但卻說不清楚需求。
    策略:需求分析員不能以用戶說不清楚需求為借口而草率地對待需求開發(fā)工作,無論是什么原因導致用戶說不清楚需求,需求分析員必須設法搞清楚用戶真正的需求,這是需求分析員的職責,也是職業(yè)的挑戰(zhàn)。
    5 雙方誤解需求
    問題:人們在交流的時候,經常會發(fā)生“問非所求,答非所問”的事情。有時用戶會把開發(fā)人員的建議或答復給想歪了,而用戶表達的需求,不同的開發(fā)人員可能有不同的理解。
    策略:如果需求分析員誤解了需求,那會導致后續(xù)的不少開發(fā)人員將錯就錯、白干活。不論是復雜的項目還是簡單的項目,需求分析員和用戶都有可能誤解需求,所以應當做好需求確認工作。
    6 開發(fā)人員寫不好需求文檔
    問題:需求調查工作不充分,獲取的需求信息太少或者太亂,以至于寫不成需求文檔?;蛘唛_發(fā)人員寫作能力比較差,雖然在調查過程中已經獲得了不少需求信息,卻寫不出好的需求文檔來。
    策略:要想寫出好的需求文檔,前提條件是把需求調查工作做好。提高開發(fā)人員寫作能力,讓他們多練習寫文檔。另外,企業(yè)應當提供合適的文檔模板以及比較好的示例文檔,盡可能地降低寫作難度。
    7 用戶需求變更頻繁
    問題:在項目開發(fā)的初始階段,開發(fā)人員和用戶沒有搞清楚需求或者搞錯了需求,到了項目開發(fā)后期才將需求糾正過來,導致產品的部分內容需要重新開發(fā)?;蛘哂捎谑袌鲎兓鴮е庐a品需求發(fā)生變更。其實,
    策略:做好需求變更控制。需求變更通常會對項目的進度、人力資源、經費產生很大的影響,但需求變更并不可怕,可怕的是需求變更失去控制,導致項目混亂。