軟件的項目管理,是保證軟件項目按照預定的成本、進度、質量順利完成的基礎。它所涉及的范圍覆蓋了整個軟件工程過程,關鍵問題是必須對軟件項目的工作范圍、可能風險、需要資源、要實現(xiàn)的任務、經(jīng)歷的里程碑、花費工作量、進度安排等做好合理的管理。而軟件項目管理的根本目的,就是為了讓軟件項目尤其是大型項目的整個軟件從分析、設計、編碼到測試、維護等全部生命周期,都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。軟件項目管理在項目計劃、項目控制和人員管理等方面的內容是,軟件開發(fā)中具有決定性意義的過程,這些工作做的好壞,直接決定著整個軟件開發(fā)項目的成敗。
一、什么是軟件的項目管理
大家都知道,軟件開發(fā)中有太多的不可預知性,這些不可預知的事物就是潛在的風險源。如果缺乏好的管理,這些不可預知的事物就會帶領你一步一步的走向失敗;相反,通過良好的管理,合理的規(guī)避風險,有效的控制這些不可預知的事物,軟件項目就會一步一步隨著你的設計思路起向成功,這就需要我們了解什么是軟件的項目管理。
軟件的項目管理,類似于傳統(tǒng)意義上的項目管理,最早出現(xiàn)在美國, 20世紀70年代中期,當時美國國防部專門研究了軟件開發(fā)不能按時提交,預算超支和質量達不到用戶要求的原因,結果發(fā)現(xiàn)70%的項目是因為管理不善引起的,而非技術原因。于是軟件開發(fā)者開始逐漸重視起軟件開發(fā)中的各項管理。
軟件的項目管理目的就是保證軟件項目按照預定的成本、進度、質量順利完成。它所涉及的范圍覆蓋了整個軟件工程過程,關鍵問題是必須對軟件項目的工作范圍、可能風險、需要資源、要實現(xiàn)的任務、經(jīng)歷的里程碑、花費工作量、進度安排等做好合理的管理。 這種管理在技術工作開始之前就應開始,在軟件從概念到實現(xiàn)的過程中繼續(xù)進行,當軟件工程過程最后結束時才終止。
同時,由于軟件企業(yè)與傳統(tǒng)工業(yè)企業(yè)不同,與現(xiàn)代企業(yè)的其他行業(yè)也不同,所以軟件的項目管理和其他的項目管理相比有其特殊性。軟件是純知識產(chǎn)品,其開發(fā)進度和質量很難估計和度量,生產(chǎn)效率也難以預測和保,軟件系統(tǒng)的復雜性也導致了開發(fā)過程中各種風險的難以預見和控制。因此,軟件企業(yè)最主要的“資產(chǎn)”是一批掌握技術、熟悉業(yè)務、懂得管理的“人”。軟件企業(yè)主要的成本是人的成本,軟件企業(yè)主要的財富積累是知識和經(jīng)驗的積累。因此,軟件項目組的管理過程,幾乎全部是圍繞“人”來進行的管理。而作為被管理對象的“人”本身管理的討論,則越來越成為軟件領域所要討論的核心問題。
二、為什么要做高效軟件的項目管理
隨著軟件產(chǎn)業(yè)發(fā)展的越來越成熟,軟件需求和功能的不斷增強,過去獨自開發(fā)軟件的歷史已經(jīng)過去,現(xiàn)在的軟件開發(fā)都必須有一個完整的開發(fā)組才能實現(xiàn)。所以管理才是開發(fā)出好的軟件的前提條件,在軟件開發(fā)中,如果軟件開發(fā)組織不能良好的定義、實施,管理并不斷改進其軟件開發(fā)過程,開發(fā)組織往往就不能從軟件工程的研究成果中得到期望的結果。所以沒有管理一定出不來好的軟件,一個成功的軟件不一定是最好的技術,但在它背后一定有一個好的管理。
而軟件項目管理的根本目的,就是為了讓軟件項目尤其是大型項目的整個軟件從分析、設計、編碼到測試、維護等全部生命周期,都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。