溝通上卻占用了3天,這時必須及時分析和總結原因。溝通最重要的就是要在最短的時間里面,采用各種方法或工具,使交流雙方或多方達成一致。
·項目人員流失
項目人員特別是項目關鍵成員在項目進行過程中的流失,對項目影響很大,對于這種情況,應該在項目開始之初,就作為專門的風險進行跟蹤,并考慮具體的應對措施。
1.2“流程”因素分析
軟件的開發(fā)流程般定義為:
需求分析一可行性分析一概要設計一結構化設計一詳細設計一編碼一軟件測試一軟件維護。
“流程”中軟件項目的風險,主要體現存4個階段:軟件需求階段、軟件設計階段、軟件實現階段和軟件維護階段
·軟件需求階段
軟件的開發(fā)是以用戶的需求開始,在大多數情況下,用戶需求要靠軟件開發(fā)方誘導,才能保證需求的完整,再以的形式形成《用戶需求》這一重要的文檔。需求分析更多的是開發(fā)方確認需求的可行性和一致性的過程,在此階段需要和用戶進行廣泛的交流和確認。需求和需求分析的任何疏漏造成的損失,會在軟件系統的后續(xù)階段被一級級地放大,因此本階段的風險最大。
·軟件設計階段
設計的主要目的在于軟件功能正確地反映了需求,需求的不完整和對需求分析的不完整或者錯誤,在設計階段將被成倍地放大。設計階段的主要任務是完成系統體系結構的定義,使之能夠完成需求階段的即定目標;另一方面也是檢驗需求的致性和需求分析的完整性和正確性。
設計階段的風險主要來自于系統分析人員。分析人員存設計系統結構時過于定制,系統的可擴展性較弱,會給后期維護帶來巨大的負擔和維護成本的激增。對用戶來說系統的使用比例會有明顯的折扣,甚至會造成軟件壽命過短。反之,軟件結構的過于靈活和通用,必然引起軟件實現的難度增加,系統的復雜度上升,可靠性降低,給實現和測試階段帶來風險,系統的穩(wěn)定性也會受到影響。從另一個角度上看,用戶需求和將來軟件運行環(huán)境的變化都是必然的,目前軟件設計的所渭的“通用性”是否就能很好的適應將來需求和運行環(huán)境的變化,都是需要認真折衷的,而這種折中也蘊涵著很大的風險。
設計階段蘊涵的另一種風險來自于設計文檔。文檔的不健全不僅會造成實現階段的困難,更會在后期的測試和維護造成災難性的后果,例如根本無法對軟件系統進行版本級,甚至是發(fā)現的簡單錯誤都無從更正。
·軟件實現階段
軟件的實現從某種意義上講是軟件代碼的生產。源代碼木身也是文檔的一部分,同時它又是將來運行于計算機系統之上的實體。源代碼書的規(guī)范性,可讀性是該階段的主要風險來源。規(guī)范的代碼生產會把屬于程序員自身個性風格的成分引入代碼的比例降到最低限度,從而減小了系統整合的風險。
·軟件維護階段
軟件維護包含兩個主要的維護階段,一個是軟件生產完畢到軟件試運行階段的維護,這個階段是一種實環(huán)境的測試性維護,其主要目的是發(fā)現在測試環(huán)境中不能或末發(fā)現的問題;另一個階段是當軟件的運行不再能適應用戶業(yè)務需求或是用戶的運行環(huán)境(包括硬件平臺、軟件環(huán)境等)時進行的軟件維護,具體可能是軟件的版本升級或軟件移植等。
1.3“技術”因素分析
存軟件項目開發(fā)和建設的過程中,技術因素是一個非常重要的因素。項目組一定要本著項目的實際要求,選用合適、成熟的技術,千萬不要無視項目的實際情況選用一些雖然先進但并非項目所必須且自己又不熟悉的技術。如果項目所要求的技術項目成員不具備或掌握不夠,則需要重點關注該風險因素。
2建立項目管理流程
那么如何解決這些問題呢?實際上很多模型已經給出了答案,比如RUP、QoS、XP