- 相關推薦
計算機軟件項目管理中的需求分析
摘要:計算機軟件項目管理中的需求分析是提高軟件質量的基礎也是決定一個軟件項目成敗的關鍵。本文介紹了在需求分析研究中探索出的一些有效措施。
關鍵詞:需求分析 用戶方干系人 項目經理 需求分析員
眾觀國內計算機軟件業的發展,除遠不如歐美等西方發達國家外,與人均GDP不及我國的印度相比也相距甚遠,軟件業的劣勢正嚴重制約著我國IT業的發展。我國軟件業的劣勢表現在自主開發的成熟軟件不多,而開發的大量軟件工程項目(如ERP等)存在缺陷或完全開發失敗。目前,國家正在加大對軟件工程的研究和對軟件工程人才的培養。根據資料顯示,屬于需求分析造成軟件設計的錯誤和缺陷約占軟件失敗的6400,而屬于程序代碼的錯誤僅占軟件失敗的360a,數據表明需求分析是提高軟件質量的基礎也是決定一個軟件項目成敗的關鍵。通過對軟件項目管理知識的系統學習并結合近年來自己參與部分軟件項目實施的經驗,介紹在需求分析研究中探索出的一些有效措施。
1盡快熟悉項目用戶方干系人全貌
項目用戶方干系人,指所有可能受到項目結果重大影響的人,即項目的風險承擔者,他可能是項目的受益者,也可能是項目的受害者。因此,應當從項目的啟動開始,需求分析員及其項目成員就要分清項目用戶方干系人包含哪些人和組織,通過溝通協調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
有些項目在做需求調查時,由于受進度要求等客觀因素影響,需求分析員與建設單位的技術部門交流較多,向業務管理部門和實際使用者調查不夠深入,造成軟件試用后不得不再對需求做較大調整,“從頭再來”的部分比例很高,大大超過進度要求時間。因此,熟悉項目用戶方干系人全貌是進行需求調查的第一步,也是需求調查的基礎。在定制開發項目的項目用戶方干系人中,最重要的是建設單位中的人事組織、業務關系。最好是能夠用組織結構圖畫出相關單位的組織結構;還應當在相關單位組織結構圖基礎上畫出全體項目用戶方干系人結構圖,以便更好更全面地進行需求調研分析;用責任矩陣確定各部分的調研對象;建立調研對象通訊錄以保證調研及分析期間及時的溝通。
2采取正確的需求獲取方法
軟件開發項目的目的就是要實現項目用戶方的需求,項目用戶方的需求包含明確的和隱含的,也可以分為NEED,WANT,WISH等不同的層次。如果對項目所有用戶方干系人沒有進行足夠的溝通和影響,使其盡可能地參與項目,則會出現客戶方相關責任人不明確或對范圍和需求責任心不強,提出的需求具有隨意性,項目前期對需求的確認不夠積極,或者是多個用戶代表各說各話、昨是今非,項目后期需求變化隨意等現象,這就會造成項目范圍的蔓延,進度的拖延,成本的擴大,甚至項目的完全失敗。
各種用戶對系統具有不同的要求,如一個沒有經驗的用戶關心系統是否簡單易用,對于高級用戶則關心產品的易用性和高效性。因而需要對用戶進行分類,每一個用戶類將有自己的一系列功能和非功能要求。在項目中,要盡早為產品確定并描述不同的用戶類,這樣就能從每一個重要的用戶類代表中獲取不同的需求。
項目需求具有雙面性(用戶與開發商)和多面性(項目中各干系人),因此,項目經理和系統集成者應了解用戶干系人需求,用戶干系人也應了解技術方面的需求,兩者缺一不可。正確的需求獲取需要了解需求的來源、用戶的分類、用戶的代表性、用戶需求誰說了算數等因素。開發人員和項目經理要有足夠的耐心聆聽用戶的講述,要足夠詳細地了解每一個細節。項目管理者要善于將需求分類、歸類,善于將需求文檔化,并有所查詢標記。
3可視化需求調研,引導各種客戶挖掘他們的需求
有的客戶因為自己缺乏計算機知識,無法提出完整準確、隱含的或潛在的需求。若這些需求不能滿足將導致用戶的不滿。因此需求調研分析人員應善于想用戶所想,不但要確定明確的需求,還要善于用啟發的方式與用戶探討隱含的或潛在的需求,并結合各種調研分析技術挖掘超出客戶期望的令人興奮的需求。這就要求需求調研分析員要盡快完整地熟悉相關業務,從而能夠站在用戶的立場看待軟件需求,想用戶所想,做好業務與計算機之間的橋梁。利用可視化需求調研的方法可以很好地啟發用戶深人挖掘潛在的需求。可視化需求調研就是使用圖表等工具來啟發引導用戶清楚地敘述需求,并且使需求更加全面完善。
對于高層領導,可以提供系統總體框架圖;對于業務管理人員,可以用業務流程圖來描述新舊系統的業務流程;對于客戶中的技術人員,可以用數據流圖、實體關系圖或UMI中的各種圖形對系統進行各種角度的描述;而對于業務管理人員、客戶中的技術人員、以及各層次各流程中的用戶,畫出用戶界面圖來進行需求挖掘,是個比較有效的溝通方式。
這里特別說明一下用戶界面的重要性。用戶界面的設計按理來說是軟件設計的責任,當然客戶自己對界面有特別提出要求的除外。但是,如果把它提前到需求調研時與客戶進行討論,則可以大大改善需求調研的效果。因為這時客戶對于將來的系統還沒有一個形象上的概念,或者有一個模糊的預想的概念需要表述、驗證、明晰化、完善化,以筆者的經驗,畫出用戶界面草圖與客戶進行討論,可以大大激發他們提供更為準確全面的需求。原來收集資料,描述業務,說明系統模型到了山窮水盡的時候,這種方法可以達到柳暗花明又一村的效果。
4詳細描述各項業務,以便讓所有客戶確認
盡可能全面詳細地調查并且描述原有系統和用戶希望將來系統具有的各項業務的流程,并將這些業務流程文檔化后與客戶進行討論,對描述錯誤或不準確不精確的進行修改,最終讓客戶進行確認。從近年來開發的軟件看,對業務處理過程了解的完整性和準確性非常重要。雖然對數據來說都是SIDUT(查增刪改傳),但具體業務都是分為若干步驟,每個步驟都有其業務名稱,同一步驟可能對多個數據集進行不同操作,需要調查了解清楚才能設計出適合用戶業務特點和習慣的軟件,使開發出來的軟件更受歡迎。當然在進行軟件概要設計時,要盡量排除業務流程的制約,即把流程中的各項業務節點工作作為獨立的對象,充分考慮他們與其他各種業務對象的接口,在流程之間通過業務對象的相互調用實現其業務流程,這樣,在業務流程發生有限的變化時,就能夠比較方便地修改系統程序而實現新的需求。
【計算機軟件項目管理中的需求分析】相關文章:
淺析計算機軟件項目管理中的需求分析03-13
關于軟件項目管理中的風險分析與管理03-01
工程項目管理中的風險分析與防范03-19
企業市場營銷中的項目化管理分析05-28
物料需求管理及其經濟性分析03-24
關于設計管理系統信息需求的分析與實現03-03
對AMIS的功能需求分析03-21
計算機軟件在項目工程中的應用研究11-22
企業市場營銷過程中的項目化管理分析11-22