摘要
隨著it在現代生活起到越來越重要的作用,根據本人參與的專案管理、售前調研、系統開發的多年經驗結合最新的專案管理知識,我們就需求管理這個領域來討論it專案的需求管理,特別是如何建立完善的需求說明書,以及採用那些相關的需求管理模板檔案來實現需求變更控制。本**從技術工具、模板和經驗相結合的方法來討論現代it專案的需求管理(rm)。
關鍵字及關鍵字定義:頭腦風暴法、德爾菲法、要素加權法;rm:需求管理,ccb:變更控制委員會,qfd:質量功能調配,hoq:質量屋。
引用案例:某市網上審批專案。
1概述我們知道現代專案管理的六要素是:時間、成本、質量、組織、範圍、客戶滿意度,實際上,要滿足這六個要素,計畫乙個良好的需求分析是實現這六因素的前提,如果我們在專案生命週期的某些階段出了問題,而我們可能還不知道,這將影響整個專案週期,無論該計畫如何詳盡,如果需求有誤和需求分析不到位,專案的控制將沒有任何價值,it軟體專案中百分之四十至百分之六十的問題都是在需求分析階段埋下的「禍根」(leffingwell 1997),從某種意義來講,專案的成功基於專案的需求管理的成功。
2需求的定義及特點
根據ieee專案工程標準詞彙表(1997)年中對需求的描述如下:業主解決問題或達到目的所需的條件或權能,和系統或系統部件要滿足合同、標準、規範或其他正式規定文件所需具有的條件或權能。在pmbok中,專案需求就是在「專案範圍」約定的。
需求最顯著的特點是「隨著專案而改變、隨著專案而漸進明晰」,專案管理的特點是隨著進展而漸進明細化,可以看出需求管理和專案管理一樣,這就意味著需求在專案的整個生命週期都可能存在的,這樣專案管理的過程,也必不可少需求的管理。
需求在專案管理和專案實施中的地位是如此的重要,下面這個結構能比較清晰的反映這個關係:
從上圖可以看出需求分析在專案過程中是非常關鍵的,每個過程都要直接或間接地與需求關聯。
3如何獲取需求
獲得需求的方式可以有多種多樣:**詢問、現場考察、聆聽使用者講解、閱讀使用者編制的相關檔案(如招標書),其實這些方法都是get方式,我們可以通過以下兩類技術手段來達到:get(獲取)和push(引導、反饋、激發)相互結合的方式來得到我們真正的需求,而這兩個過程都是必須互動進行的,一般我們可以篩選一名非常有經驗(包括談判技巧、深厚的業務和技術背景、人緣很好、勤奮努力)的人士擔任需求工程師,長期在客戶那裡工作,他的工作主要是界定專案的範圍和需求變更管理,通過我們編制的各類模板文件來實現需求變更的控制;
一般來講it整合需求包含三個不同的層次-業務需求、使用者需求和功能需求-也包括非功能需求:業務需求提供給客戶和產品開發商的新系統的最初利益,反映了組織機構或客戶對系統、產品高層次的目標要求,它們在專案檢視與範圍文件中予以說明;使用者需求文件描述了使用者使用產品必須要完成的任務,這在使用例項文件或方案指令碼說明中予以說明;功能需求定義了開發人員必須實現的軟體功能,使得使用者能完成他們的任務,從而滿足了業務需求,必須具備一定的業務背景和技術背景,能從三個不同的層次發掘客戶的需求。
根據我們在某市網上審批專案中的經驗,我們採用如下方法,其中每項工作都記錄文件備案:如查閱了大量資料和病歷資料格式、各類應急防禦措施、統計分析報表、系統規劃書、舊系統業務狀況、歷史資料、還訪談了操作員的應用感受、多次技術交流、專題討論等多種形式的互動式討論和分析。這樣無論是業務、功能、使用者詳盡的期望我們都了解的比較透徹。
4需求管理
獲取了需求接著要作的的工作就是對需求分析、消化和評審、基線制定、需求說明書制定,這裡我們主要集中在需求分析和需求說明書兩方面來。
4.1需求分析
1)建立需求關聯圖:需求關聯圖是用於定義系統與系統外部實體間的界限和介面的簡單模型,同時它也明確了通過介面的資訊流和物質流,通過關聯圖,對使用者需求的約定和確認以及ccb的評審都是非常關鍵的。
2)建立開發原型:建立使用者介面原型可以在如下應用如下情況:如果開發人員或使用者不能確定需求時,開發乙個使用者介面原型,這樣使得許多概念和可能發生的事更為直觀明了。使用者通過評價原型將使專案參與者能更好地相互理解所要解決的問題。通過開發原形,業主和整合商都可以相互了解業務,發掘潛在的資訊,避免使用者需求的不必要變更。
3)分析可行性:分析需求可行性在允許的成本、效能要求下,分析每項需求實施的可行性,明確與每項需求實現相聯絡的風險,包括與其它需求的衝突,對外界因素的依賴和技術障礙,這個主要用於內部評審和制定技術線路提供依據,如在什麼情況下採用.***技術,什麼情況下採用j2ee技術,我們在2023年電子政務網上審批系統中充分對需求(業務、技術、使用者操作人員需求、現有系統需求等)做整體提取分析來確定技術線路的選型。
4)確定需求優先順序:確定需求的優先級別應用分析方法來確定使用例項、產品特性或單項需求實現的優先級別。以優先順序為基礎確定產品版本將包括哪些特性或哪類需求。當允許需求變更時,在特定的版本中加入每一項變更,並在那個版本計畫中作出需要的變更。
5)為需求建立模型:為需求建立模型需求的圖形分析模型是軟體需求規格說明極好的補充說明。它們能提供不同的資訊與關係以有助於找到不正確的、不一致的、遺漏的和冗餘的需求。這樣的模型包括資料流圖、實體關係圖、狀態變換圖、對話方塊圖、物件類及互動作用圖。
6)編寫資料字典:在需求階段,很難使團隊的思路一致,建立乙個合適的機制是完全必要的,這就是資料字典,資料字典是對系統用到的所有資料項和結構的定義,以確保開發人員使用統一的資料定義。在需求階段,資料字典至少應定義客戶資料項以確保客戶與開發小組是使用一致的定義和術語。分析和設計工具通常包括資料字典元件。
4.2建立需求與產品質量的關係模型
需求是專案正確實施的乙個前提,如果沒有抓住使用者的需求,那麼很可能是漏洞百出,最終產品將不是乙個真正的可交付物。我們知道,質量是乙個客戶滿意度的乙個主要因素,質量在專案中又有許多影響因素,這裡我們著重從需求的角度出發來討論需求與質量的關係,那麼如何來從需求的角度出發建立與質量的控制呢?
我們來建立乙個思路如下:客戶所有的期望 需求產生 轉換矩陣 產品開發 可交付物 客戶滿意。在這裡轉換矩陣就非常關鍵了,如何來實現需求與質量的關聯呢,可以通過質量功能調配(qfd)來實現,通過qfd可以把需求(使用者期望)、產品特性關聯起來,這裡要用到乙個工具:質量屋(house of quality),我現在用乙個案例來說明這個工具,在做某市網上審批專案中,我們從客戶**收集和整理了許多需求:審批專案、報表要求、認證方式、工作流要求、資料範圍及格式、操作介面、醫藥管理規範等等;我們通過建立質量屋完成了需求與如何去實現,如下圖所示:
在qfd技術中以三種形式來定性地描述工程特徵之間的相關影響關係,即正相關(向相同方向變化)、不相關和負相關(向相反方向變化)。對相關程度還可以進一步地細分為強相關、一般相關和弱相關幾種關係,並給以標度值來表達相關程度,這樣我們可以定義一些需求的強弱程度:如不確定需求、一般確定需求、強烈確定需求等,在這個hoq中,還要用到其他技術工具,如:要素加權法等,這樣做的好處是主次分明,可以把需求分析和管理做到隨時間的推進客戶的變更變限於固定的框架裡,符合如下曲線,而不至於走向極端。
4.3需求說明書編寫經驗談
目前需求說明書有固定的格式和要求,可以從專門介紹需求說明書的相關書籍中獲得,在本**中,我著重闡述需求說明書的經驗,編寫優秀的是沒有公式化的方法的,這需要大量的經驗,要從你在過去的文件中發現的問題學習。
1) 採用it專案需求規格說明模版,要注意的是很多人拿來需求說明書模板就套用,這就有很大的風險,例如:會出現需求不全、需求範圍界定不到位、需求分類不明確等因素,我們應該把需求規格說明書拿來後先羅列許多要點:約定、法律法規、需求分類、技術限制、採用的技術和工具等等全面考慮,與專案干係人特別是使用者進行溝通,然後討論,可以採用頭腦風暴法和德爾菲方法來討論,確定說明書大綱,而不能照本著書。
2) 附加文件的管理,值得注意的是需求說明書並非一成不變的,我們可以通過附加文件來跟蹤使用者的新的需求和需求變更,這樣必須建立乙個配套的文件集合,隨時跟蹤需求,保證開發團體步進統一,一般這些檔案是要考慮的:《需求(或功能)變更申請書》、《需求(或功能)變更規格書》、《需求清單一覽表》等。這樣做的好處是對需求時實監控,保證專案的安排,同時讓使用者知道變更是一件很嚴肅的事情,可以防止個別人提出無法界定的需求(因為現實it專案中,很多問題是其他系統的遺留而又超出本專案技術線路可以彌補的問題等)。
3) 編寫需求說明書的時候,可能還會遇到一些解決不了的需求,我們也一定用專門的章節要羅列出來,防止漏項,同時也利於我們在做實施計畫的時候來採取那種措施,採購其他裝置、投入相關人力或其他辦法。
4) 需求必須要客戶確認,許多專案,可能開發商為了保護自己的「利益」很多事情都沒有得到客戶的確認,其實在需求階段,我們的需求是要跟客戶確認的,比如資料字典、介面選型、技術線路、功能模組等,這樣做的好處是防止需求把握不得當,缺少了使用者必要的功能,另乙個就是防止了開發商需求鍍金,提供了不必要的功能。
5總結經過以上各個方面來討論需求管理在整個專案生命期所起到的作用,結合自身的經驗,和乙個案例《某市網上審批系統》綜合分析了需求管理的辦法和用到的工具,根據自身經驗提出編寫需求說明書要注意的地方。
如何做好IT專案管理的需求管理
摘 要 隨著it在現代生活起到越來越重要的作用,根據本人參與的專案管理 售前調研 系統開發的多年經驗結合最新的專案管理知識,我們就需求管理這個領域來 討論it專案的需求管理,特別是如何建立完善的需求說明書,以及採用那些相關的需求管理模板檔案來實現需求變更控制。本 從技術工具 模板和經驗相結合 的方法...
如何做好IT專案管理的需求管理
如何做好it專案管理的需求管理 摘要 隨著it在現代生活起到越來越重要的作用,根據本人參與的專案管理 售前調研 系統開發的多年經驗結合最新的專案管理知識,我們就需求管理這個領域來討論it專案的需求管理,特別是如何建立完善的需求說明書,以及採用那些相關的需求管理模板檔案來實現需求變更控制。本 從技術工...
如何做好IT專案管理的需求管理
摘要 隨著it在現代生活起到越來越重要的作用,根據本人參與的專案管理 售前調研 系統開發的多年經驗結合最新的專案管理知識,我們就需求管理這個領域來討論it專案的需求管理,特別是如何建立完善的需求說明書,以及採用那些相關的需求管理模板檔案來實現需求變更控制。本 從技術工具 模板和經驗相結合的方法來討論...