件管理在制定軟件開發(fā)計劃和定義里程碑時必須考慮這些因素,并做出合理的權衡決策。
軟件質量體系是否能夠被有效地保證:任何軟件管理忽略軟件質量監(jiān)督環(huán)節(jié)都將對軟件的生產構成巨大的風險。而制定卓有成效的軟件質量監(jiān)督體系,是任何軟件開發(fā)組織必不可少的。軟件質量保證體系是軟件開發(fā)成為可控制過程的基礎,也是開發(fā)商和用戶進行交流的基礎和依據。
二、項目管理的風險
軟件項目管理的風險來自于軟件項目自身的特點:
軟件產品不可見:開發(fā)的進展以及軟件的質量是否符合要求難于度量,從而使軟件的管理難于把握。軟件的生產過程不存在絕對正確的過程形式:可以肯定的是不同的軟件開發(fā)項目應當采用不同的或者說是有針對性的軟件開發(fā)過程,而真正合適的軟件開發(fā)過程是在軟件項目的開發(fā)完成才能明了的。因此項目開發(fā)之初只能根據項目的特點和開發(fā)經驗進行選擇,并在開發(fā)過程中不斷的調整。
大型軟件項目往往是"一次性"的。以往的經驗可以被借鑒的地方不多?;乇芎涂刂栖浖芾盹L險的唯一辦法就是設立監(jiān)督制度,項目開發(fā)中任何較大的決定都必須有主要技術環(huán)節(jié)甚至是由用戶參與進行的。在該項目中項目監(jiān)督由項目開發(fā)中的質量監(jiān)督組來實施。
一般參與軟件開發(fā)的人員(包括管理者和技術人員)和其責任進行分析如下:
參與者
項目經理1人
主要職責:進行全局把握,側重于項目的商務方面,充當項目組同客戶正式交流的接口環(huán)節(jié)。
項目負責人1人
主要職責:制定項目開發(fā)計劃和開發(fā)策略,參與項目核心系統(tǒng)的分析設計,同時努力保證開發(fā)計劃的按時完成和開發(fā)策略的真正貫徹落實。
領域專家1或2人
主要職責:在軟件分析階段幫助分析人員界定系統(tǒng)實現邊界和實現的功能,對特定檢測點進行算法審核,同時對測試策略和軟件操作界面提出參考意見。
質量監(jiān)督組1或2人
主要職責:編制軟件質量控制計劃,并負責落實;控制必要文檔的生產,通過文檔,監(jiān)督項目實施過程中軟件的質量,并產生軟件質量報告,提請項目經理和項目負責人審閱;對于項目中出現的質量問題,主持召開質量復審會議。
系統(tǒng)分析員1或2人
主要職責:協(xié)同項目負責人進行軟件系統(tǒng)的分析和設計工作,書寫軟件需求分析和系統(tǒng)設計相關文檔。在軟件實現階段進行測試策略的編制和對性能測試的指導。
程序員2或3人
主要職責:協(xié)助分析人員進行詳細設計,和軟件系統(tǒng)的代碼實現,并進行適當的白盒測試。
測試員2或3人
主要職責:已經實現的軟件組件、構件或系統(tǒng)進行正確性驗證測試,整合后的系統(tǒng)的性能測試等。書寫測試報告和測試統(tǒng)計報告提請質量監(jiān)督組復審。
技術支持2或3人
主要職責:協(xié)同系統(tǒng)分析人員聽取用戶需求,對需求分析進行參考性復審。協(xié)同測試人員進行測試,書寫操作手冊和在線幫助,在項目交付用戶之后進行跟蹤服務。
文檔組1或2人
主要職責:對各部門產生的文檔進行格式規(guī)范、版本編號和控制、存檔文件的檢索;協(xié)助質量監(jiān)督組進行軟件質量監(jiān)督。 通過適當的人員配備和職責劃分,能有效的降低軟件開發(fā)在后期的失控的可能性,和軟件對關鍵人員的依賴性。
軟件技術風險。本系統(tǒng)擬訂采用的兩個重大的軟件技術是面向對象的構件和基于微軟的COM組件技術。組件和構件技術都是為了提高軟件的可靠性和軟件的可擴展性而采用的技術手段。從技術成熟度上說不存在風險,但為了實現良好的軟件構架和穩(wěn)定的組件,與傳統(tǒng)開發(fā)方法比較,有相當的多的額外工作