在軟件項目中,需求分析是最開始的工作,同時也是最重要的工作。需求分析如果做得不夠詳細或者是偏離用戶需求或者是存在缺陷的話,往往會給項目帶來滅絕性的災難,不重視需求過程的項目團隊將自食其果。因此,如何保證需求分析的正確、準確性,成了決定軟件項目成敗的關(guān)鍵因素。
建議一:分層次評審
我們知道用戶的需求是可以分層次的,一般而言可以分成如下的層次:
目標性需求:定義了整個系統(tǒng)需要達到的目標;
功能性需求:定義了整個系統(tǒng)必須完成的任務;
? 操作性需求:定義了完成每個任務的具體的人機交互;
目標性需求是企業(yè)的高層管理人員所關(guān)注的,功能性需求是企業(yè)的中層管理人員所關(guān)注的,操作性需求是企業(yè)的具體操作人員所關(guān)注的。對不同層次的需求,其描述形式是有區(qū)別的,參與評審的人員也是不同的。如果讓具體的操作人員去評審目標性需求,可能會很容易地導致“撿了芝麻,丟了西瓜”的現(xiàn)象,如果讓高層的管理人員也去評審那些操作性需求,無疑是一種資源的浪費或者就會出現(xiàn)案例三的情形。
建議二:正式評審與非正式評審結(jié)合
正式評審是指通過開評審會的形式,組織多個專家,將需求涉及到的人員集合在一起,并定義好參與評審人員的角色和職責,對需求進行正規(guī)的會議評審。而非正式的評審并沒有這種嚴格的組織形式,一般也不需要將人員集合在一起評審,而是通過電子郵件、文件匯簽甚至是網(wǎng)絡聊天等多種形式對需求進行評審。2種形式各有利弊,但往往非正式的評審比正式的評審效率更高,更容易發(fā)現(xiàn)問題。因此在評審時,應該更靈活地利用這2種方式。
建議三:分階段評審
應該在需求形成的過程中進行分階段的評審,而不是在需求最終形成后再進行評審。分階段評審可以將原本需要進行的大規(guī)模評審拆分成各個小規(guī)模的評審,降低了需求返工的風險,提高了評審的質(zhì)量。比如可以在形成目標性需求后進行一次評審,在形成系統(tǒng)的初次概要需求后進行一次評審,當對概要需求細分成幾個部分,對每個部分進行各個評審,最終再對整體的需求進行評審。
建議四:精心挑選評審員
需求評審可能涉及的人員包括:需方的高層管理人員、中層管理人員、具體操作人員、IT主管、采購主管;供方的市場人員、需求分析人員、設(shè)計人員、測試人員、質(zhì)量保證人員、實施人員、項目經(jīng)理以及第三方的領(lǐng)域?qū)<业鹊?。在這些人員中由于大家所處的立場不同,對同一個問題的看法是不相同的,有些觀點是和系統(tǒng)的目標有關(guān)系的,有些是關(guān)系不大的,不同的觀點可能形成互補的關(guān)系。為了保證評審的質(zhì)量和效率,需要精心挑選評審員。首先要保證使不同類型的人員的都要參與進來,否則很可能會漏掉了很重要的需求。其次在不同類型的人員中要選擇那些真正和系統(tǒng)相關(guān)的,對系統(tǒng)有足夠了解的人員參與進來,否則很可能使評審的效率降低或者最終不切實際的修改了系統(tǒng)的范圍。
建議五:對評審員進行培訓
在很多情況下,評審員是領(lǐng)域?qū)<叶皇沁M行評審活動的專家,他們沒有掌握進行評審的方法、技巧、過程等,因此需要對評審員進行,同樣對于主持評審的管理者也需要進行培訓,以便于參與評審的人員能夠緊緊圍繞評審的目標來進行,能夠控制評審活動的節(jié)奏,提高評審效率,避免發(fā)生案例一和案例二中出現(xiàn)的現(xiàn)象。對評審員的培訓也可以區(qū)分為簡單培訓與詳細培訓2種。簡單培訓可能需要十幾分鐘或者幾十分鐘,需要將在評審過程中的需要把握的基本原則,需要注意的常見問題說清楚。詳細培訓則可能要需要對評審的方法、技巧、過程進行正式的培訓,需要花費較長的時間,是