信息技術和現代管理學知識的飛速發展和迅速普及,使得政府、企業對于IT應用的需求越來越強烈和苛刻,但是不容忽視的事實卻是“軟件項目的規模和復雜程度在不斷增加”。對政府、企業中的軟件項目管理人員來說,把項目管理的理論和方法落實到工作實踐中去,是提高軟件開發質量的重要手段。
精確管理,保質保量
軟件質量的高低,由符合軟件質量要素要求的程度來決定。軟件的質量要素包括功能性、可靠性、易用性、效率、可維護性、可移植性等6個方面。軟件開發過程中從需求、設計、編碼、測試到上線驗收的任何一個環節,都將對軟件質量要素產生重要影響,因此為了開發出符合高質量的軟件產品,必須加強對軟件開發全過程的項目管理。
軟件項目管理是按需求確定范圍、按目標制定項目計劃、按計劃執行管理的過程。對軟件開發各階段加強項目管理的根本目的在于增強對軟件開發的控制能力,提升軟件開發的質量。軟件項目的建設按軟件工程的生命周期法可分為項目立項、啟動、需求分析、系統設計、系統開發、系統測試、系統上線、項目驗收和上線后評估等9個階段進行。
加強軟件項目管理,是以軟件工程的各個環節為管理主線,將動態項目管理貫穿其中,通過對軟件開發的項目范圍、項目進度、項目質量、項目溝通、人力資源、項目成本六大核心要素的集成管理,實現軟件開發管理效能的大化,從而大大提高軟件開發質量。
明確需求,準確立項
軟件開發項目的提出,應由迫切的業務需求來驅動。很多不成功的軟件項目,往往是由信息技術部門提出,按照技術人員的思路主導開發,并理所當然地認為能夠在業務部門取得良好的應用效果。這樣的項目由于得不到業務部門的理解和支持,脫離業務需求,多數面臨失敗或半途而廢的命運。
軟件項目的立項,應由軟件的需求單位根據自身業務的工作需要,向信息技術管理部門提出軟件項目的立項建議,對立項目的、業務需求范圍、技術經濟指標、開發周期要求等方面做簡要概述,由信息技術管理部門組織業務專家和信息技術專家組成聯合專家組,進行項目立項的可行性論證。
通過專家組論證審核后,項目提出單位需要進行開題設計,進一步明確軟件開發范圍、技術路線、進度安排、經費預算、研究人員組成、合作隊伍,并以此為基礎編制完成開題設計書。信息技術管理部門組織專家組對開題設計進行論證,只有業務需求合理、技術路線可行、開發隊伍落實的項目,才能通過專家組審核,進入項目啟動階段。
《需求分析說明書》是對軟件開發范圍的書面表達依據。由于《需求分析說明書》往往是采用軟件設計的術語編寫,因此常常令計算機背景知識較少的業務需求方難以理解,也很難發現需求報告中與實際需求不符之處,更難提出建設性的意見。
軟件監督要對軟件開發范圍進行管理,首先要確定雙方都能認可的《需求分析說明書》。在軟件開發過程中,雙方應嚴格按照簽字確認的《需求分析說明書》中規定的業務范圍進行開發。有些需求可能在項目初期很難確定,在開發過程中需要不斷地加以修正,項目軟件監督要及時與用戶充分溝通,建立可以直接聯系的渠道,共同進行需求確認,保證項目范圍可控。
適時督導,掌控進度
軟件開發項目具有建設范圍難界定、技術含量高、人員流動快、協作性強、開發成功率低等特點,在目前國內對軟件項目的監理制度尚未普及,對軟件開發仍然缺乏有效控制的情況下,由企業的信息技術管理部門設立軟件監督崗位,加強對軟件項目的開發過程管理,顯得尤為重要。
軟件監督的主要職責是在項目進行過程中,協調業務需求部門和軟件開發方的關系,監控軟件開發任務的執行情況,給開發人員和管理層提供反映軟件過程質量的信息和數據,提高項目透明度,從而保證項目按照計劃實施,實現預期目標。
所選的軟件監督人員應具備3方面基本素質:具有較強的工作責任感和良好的溝通能力;熟悉業務管理流程,掌握軟件開發流程、開發規范以及相關標準;具有軟件開發項目的建設和管理經驗,掌握項目管理知識。
監督人員除了監督職責外,還應該協調各個部門對軟件進度及時調整。為確保項目按時、按量、按質完成,督導人員必須控制任務和跟蹤里程碑。按照軟件項目的開發規律,將軟件開發過程分為幾個重要階段,對這幾個階段的關鍵事件設立里程碑進行跟蹤管理。
項目進度管理可以通過以下方式完成:制定項目里程碑管理運行表(見下);定期舉行項目狀態會議,由軟件開發方報告進度和問題,用戶方提出意見;比較各項任務的實際開始日期與計劃開始日期是否吻合;確定正式的項目里程碑是否在預期完成。
當然,軟件開發不像加工螺釘、螺母,有具體的標準和檢驗方法。軟件的標準柔性很大,往往在用戶的心里,用戶好用是軟件成功的標準,而這個標準在軟件開發前很難確切地、完整地表達出來。因此,開發過程項目組和用戶的溝通互動是解決這一現實問題的好辦法。
把握要點,有效驗收
軟件驗收應是一個循環漸進的述程,包括驗收前的系統測試、系統上線和正式驗收3個階段。
系統測試:系統測試是對系統進行全面的測試,應在測試環境中進行,以確保系統的功能和技術設計滿足企業的業務需求,并能正常運行。系統測試階段應包括以下主要流程和工作內容:制訂測試計劃,編制測試用例,建立測試環境;測試:在測試環境中,項目組根據需要,對系統依次進行單元測試、集成測試、壓力測試和用戶接受測試;提交測試報告、用戶確認簽字:項目組撰寫測試報告,將測試報告提交給各相關用戶,用戶應在測試報告上簽字確認。
系統上線: 系統上線前應做好準備工作,在上線前,軟件監督要組織軟件開發方制定系統上線計劃,系統上線計劃應經過信息技術部門和業務部門管理層的正式批準,并通知各相關部門。
所有的上線準備工作做好之后,由軟件監督確認上線系統版本正確性后,與用戶確認系統上線時間,下達上線指令。系統上線操作人員將后版本的系統程序移植到生產環境。
正式驗收:正式驗收前,軟件開發方應向信息技術管理部門提交軟件開發過程中各階段性文檔,包括需求分析說明書、概要設計說明書、詳細設計說明書、數據庫設計說明書、源程序代碼、可供安裝使用的系統安裝程序、系統管理員手冊、用戶使用手冊、測試計劃、測試報告、用戶報告、數據移植計劃及報告、系統上線計劃及報告、用戶意見書、驗收申請等。
信息技術管理部門接到驗收申請后,組織專家對項目進行初審。初審通過后,組織管理層領導、業務管理人員和信息技術專家成立項目驗收委員會,負責對軟件項目進行正式驗收。
軟件監督應根據軟件開發方在整個軟件開發過程中的表現,向驗收委員會提出全面的軟件監督報告,并根據開題設計書、軟件開發合同以及《需求分析說明書》,制定驗收標準,提交驗收委員會。信息技術管理部門組織由驗收委員會、軟件監督、軟件開發方參加的項目驗收會,軟件開發方以項目匯報、現場應用演示等方式匯報項目完成情況,驗收委員會根據驗收標準對項目進行評審,形成終驗收意見。