對軟件開發的各個階段進行管理,增強對軟件開發的控制能力,提高軟件開發質量,這是軟件項目管理的根本目的。
軟件的質量高低取決于其是否符合包括功能性、可靠性、易用性、效率、可維護性、可移植性等在內的六個方面的要求。而要達到這六個方面質量要求,必須對軟件開發過程中各個環節進行全過程的項目管理,從需求分析、設計、編碼、測試到上線驗收進行控制。根據軟件工程的生命周期,軟件項目可分為項目立項、啟動、需求分析、系統設計、系統開發、系統測試、系統上線、項目驗收和上線后評估等9個階段進行。加強軟件項目管理,是以軟件工程的各個環節為管理主線,將動態項目管理貫穿其中,通過對軟件開發的項目范圍、項目進度、項目質量、項目溝通、人力資源、項目成本六大核心要素的集成管理,實現軟件開發管理效能的大化,從而大大提高軟件的開發質量。
準確把握軟件需求
軟件開發項目的提出,應由迫切的業務需求來驅動。很多不成功的軟件項目,往往是由信息技術部門提出,按照技術人員的思路主導開發,并理所當然地被認為能夠在業務部門取得良好的應用效果。這樣的項目由于得不到業務部門的理解和支持,脫離業務需求,多數面臨失敗或半途而廢的命運。因此軟件項目業務需求的迫切性、技術實現的成熟性、經濟效益的可行性等方面的因素,都是考慮的要素,將對項目的成敗產生直接影響。
正確的做法應該是,由軟件的需求單位根據自身業務需要,向信息技術管理部門提出軟件項目的立項建議,對立項的目的、業務需求范圍、技術經濟指標、開發周期要求等方面做簡要概述,再由信息技術管理部門組織業務專家和信息技術專家組成聯合專家組,進行項目立項的可行性論證。通過專家組論證審核后,項目提出單位需要進行開題設計,進一步明確軟件開發范圍、技術路線、進度安排、經費預算、研究人員組成、合作隊伍,并以此為基礎編制完成開題設計書。信息技術管理部門組織專家組對開題設計進行論證,只有業務需求合理、技術路線可行、開發隊伍落實的項目,才能通過專家組審核,進入項目啟動階段。
軟件開發過程的監督和管理
軟件開發項目具有建設范圍難界定、技術含量高、人員流動快、協作性強、開發成功率低等特點。目前國內對軟件項目的監理制度尚不規范,對軟件開發仍然缺乏有效控制。因此由企業的信息技術管理部門設立軟件監督崗位,加強對軟件項目的開發過程管理,顯得非常必要。
軟件監督的主要職責是在項目的進行過程中,協調業務需求部門和軟件開發方的關系,監控軟件開發任務的執行情況,給開發人員和管理層提供反映軟件過程質量的信息和數據,提高項目透明度,從而保證項目按照計劃實施,實現預期目標。軟件監督應具備以下三方面的基本素質:
● 具有較強的工作責任感和良好的溝通能力;
● 熟悉業務管理流程,掌握軟件開發流程、開發規范以及相關標準;
● 具有軟件開發項目的建設和管理經驗,掌握項目管理知識;
軟件監督的工作任務主要有:
● 確保軟件按照業務需求方確認的范圍進行開發。
● 保證軟件開發進度符合雙方確認的計劃指標。
● 保證軟件開發過程中存在的不符合要求的問題能夠及時得到溝通和處理,必要時需要將問題反映給管理層。
● 確保項目組中軟件開發人員隊伍相對穩定。
● 保證軟件開發過程和開發出來的軟件符合相應標準和規范。
● 收集軟件開發過程中的成功經驗,為企業提供軟件開發過程的有效控制方法和規范。
1.監督管理的范圍
《需求分析說明書》是對軟件開發范圍的書面表達依據。由于《需求分析說明書》往往是采用軟件設計的術語編寫,因此常常令計算機背景知識較少的業務需求方難以理解,也很難發現需求報告中與實際需求不符之處,更難提出建設性的意見。
軟件監督要對軟件開發范圍進行管理,首先要確定雙方都能認可的《需求分析說明書》。如要求軟件開發方對《需求分析說明書》做出進一步更詳細的解釋,編制業務模型,以便用戶方準確地理解《需求分析說明書》的內容,能及早地發現需求與實際的偏差。這也是對需求分析工作的總結與確認。
在項目需求分析階段,雙方必須全面地、盡可能細致地討論項目的應用背景、功能要求、性能要求、操作界面要求、與其他軟件的接口要求,以及對項目進行評估的各種評價標準。
《需求分析說明書》完成后,軟件監督應組織項目組與業務需求方共同討論,聽取業務需求方的意見和建議,并進行相應的修改完善。各方確認《需求分析說明書》內容后,需在說明書上簽字確認。
在軟件開發過程中,雙方應嚴格按照簽字確認的《需求分析說明書》中規定的業務范圍進行開發。有些需求可能在項目初期很難確定,在開發過程中需要不斷地加以修正,項目軟件監督要及時與用戶充分溝通,建立可以直接聯系的渠道,共同進行需求確認,保證項目范圍可控。