CIO進行需求分析的十項基本法則
時間:2005/7/8
如果CIO嘗試著問一些愚蠢問題,例如:“以我的理解,你們收到訂單后,會……”。業務人員立刻就會指出你的錯誤,并開始滔滔不絕談論業務,這一招就叫“拋磚引玉”。開發人員與業務部門的交流需要好的方法。下面建議10條法則,開發人員和業務部門可以通過評審以下內容并達成共識;如果遇到分歧,可通過協商達成對各自義務的相互了解,以便減少日后的摩擦。
先導入管理思想,再梳理業務流程
“百聞不如一見,百見不如一嘗?!睕]有親歷過信息化建設的人,對信息化的理解總是比較膚淺,甚至包括一些管理層成員。如上ERP系統時,如果一開始就讓業務部門談需求,業務人員談得通常是當前工作中的困難或者希望實現的功能等;CIO必須從轉變觀念入手,先給業務部門導入信息系統所包含的管理思想,然后協助業務部門梳理業務流程。
表達要符合業務部門語言習慣
需求討論集中于業務需求和任務,必然使用各種業務術語。如果開發人員是IT廠商,CIO應將有關業務術語教給開發人員,同時還要把IT人員常用的一些術語“翻譯”給業務人員,做到交流暢通無阻。
了解業務部門的業務及目標
只有充分了解業務部門的具體業務,才能開發出滿足其需求的軟件。為充分了解業務人員的具體需求,CIO要和開發人員一起到業務部門去觀察他們的實際工作流程,甚至與業務部門一起工作一段時間。如果是舊系統切換到新系統,CIO還要親自用一下目前的舊系統,明白目前系統是怎樣工作的,了解其流程情況以及可供改進之處等。
掌握各種溝通技巧
需求分析的過程實際上是個溝通的過程,CIO要想方設法吸引業務人員說出其需求。有時候,嘗試著問一些“愚蠢”的問題也有助于用戶打開話匣子。如果CIO直接要求業務人員寫出業務是如何實現的,十有八九無法完成;但如果嘗試著問一些實際的問題,例如:“以我的理解,你們收到訂單后,會...”。業務人員立刻就會指出你的錯誤,并滔滔不絕的開始談論業務,這一招就叫“拋磚引玉”。
對業務需求進行邏輯分析
業務人員對需求的表達通常是籠統、感性、瑣碎的,CIO要盡量理解業務人員用于表述他們需求的思維過程,充分研究用戶執行任務時決策的過程,并抽象出潛在邏輯關系,把一些“常識”性東西用邏輯來實現。例如,當IT人員與護士交流醫囑處理過程時,護士會告訴IT人員,護理級別有特級護理、一級護理、二級護理、三級護理以等;飲食又分流食、半流食、禁食等種類。如果僅僅把護士的要求用計算機語言表達出來,就可能出現同一個病人既是一級護理又是二級護理,既吃流食又吃半流食的可笑情況;這些矛盾的避免原來是靠護士的大腦來判斷的常識性問題,而用計算機來判斷“常識”是最難的,也是最容易忽視的。經過反復探索,協和醫院信息中心主任李包羅抽象出了一個互斥組的概念。特級、一級、二級、三級護理組成一個互斥組,當護士選擇特級護理的時候,自然排斥了一級、二級和三級護理。李包羅說:“在與醫生、護士溝通的過程中,IT人員不是要成為臨床專家或者護理專家,而是要用IT知識去梳理醫生護士的要求,變成一種計算機可以實現的概念,超越了手工的功能才會受到業務部門的歡迎?!?
以通俗的語言編寫軟件需求報告
IT人員應將從業務人員那里獲得的所有信息進行整理,以區分業務需求及規范、功能需求、質量目標、解決方法等,然后編寫軟件需求報告?!靶枨蠓治鰣蟾妗笔荌T人員和業務人員之間針對要開發的產品內容達成的協議。報告應以一種業務人員認為易于翻閱和理解的方式組織編寫;報告中可以大量使用圖表,但必須向業務人員解釋清楚每個圖表的作用、符號的意義和需求開發工作的結果,以及怎樣檢查圖表有無錯誤及不一致等。
描述產品的使用特性
業務人員可以要求IT人員在實現功能需求的同時還注意軟件的易用性,因為易用性或質量屬性能使客戶更準確、高效地完成任務。例如業務人員有時要求產品要“界面友好”或“健壯”、“高效率”,但對IT人員來講,太主觀了并無實用價值。IT人員可以通過詢問和調查了解客戶所要的“友好、健壯、高效”所包含的具體特性,具體分析哪些特性對哪些特性有負面影響,在性能代價和所提出解決方案的預期利益之間做出權衡,以確保做出合理的取舍。
業務人員和IT人員互相尊重
如果業務人員與IT人員不能相互尊重,那關于需求的討論將會遇到障礙。參與需求分析的業務人員有權要求IT人員尊重他們并珍惜他們為項目成功所付出的時間;但業務人員也要尊重IT人員的需求可行性及成本評估。所有軟件功能都是有成本的,業務人員所希望的某些產品特性可能在技術上行不通,或者實現它要付出極高的代價,而某些需求試圖達到在操作環境中不可能達到的性能,或試圖得到一些根本得不到的數據。IT人員會拒絕或實現不了業務人員的一些要求,業務人員也應該尊重IT人員的意見。
有需求變更要立即聯系
不斷的需求變更,會給在預定計劃內完成的產品質量帶來嚴重的不利影響,但需求變更又是不可避免的。在開發周期內變更越在晚期出現,其影響越大;變更不僅會導致代價極高的返工,而且工期將可能被延誤,特別是在主體架構已完成后又需要增加新特性時。所以,一旦客戶發現需要變更需求時,請立即通知IT人員。
需求確認僅僅是以后討論的“基線”
在“需求分析報告”上簽字,通常被認為是業務部門同意需求分析報告的標志性行為,然而在實際操作中,業務人員往往把“簽字”看作毫無意義的事情。有時這個領導同意了,那個領導卻不同意;即使每個相關人員都簽了字,也照樣“翻供”,通常的理由是:“他們要我在需求文檔的最后一行簽名,于是我就簽了,否則他們不開始編碼!”同樣的問題也發生在僅把“簽字確認”看作是完成任務的IT人員身上,一旦有需求變更出現,便指著“需求分析報告”說:“您已經在需求分析報告上簽字了,所以這都是按照您的要求開發的?!?這兩種態度都是不對的,因為業務人員不可能在項目早期就能說清楚所有業務需求,變更需求是必然現象。在“需求分析報告”上簽字確認,僅僅是需求分析過程結束的標志,它意味著“需求分析報告”是以后討論的基線,進一步的變更可在此基線上通過項目定義的變更過程來進行。
撥開需求分析的迷霧,將給初步的需求開發工作畫上雙方都明確的句號,將有助于形成一個持續良好的客戶與開發人員的關系,為項目成功奠定堅實的基礎。
下一篇:暫無信息!