吳宗東
[摘要]鑒于在軟件項目開發和項目管理中存在復雜性、不確定性以及不可預見性,在研究了人一系列關于軟件項目管理流程方法以及軟件項目設計的運作過程的答題程序之后,結合對各階段流程的著手條件、關鍵工作過程以及最后結果,在本文章對在軟件項目管理的流程分析和設計中存在的一系列問題做了較為詳細的闡述、分析并提出建議。經過分析軟件項目開發的特點,針對軟件開發項目的高失敗率的特性,通過對軟件項目管理方法的研究,提出了軟件項目開發過程的一種管理流程和相應的子流程,實現了對軟件項目控制和管理。
[關鍵詞]軟件項目;設計管理;流程
[中圖分類號]TP31 [文獻標識碼]A [文章編號]1672-5158(2013)06-0076-01
1 何為流程及在軟件項目管理中的作用
1.1 軟件開發的目的
在進行軟件項目開發活動中,要實現很多目標,比如關于項目的范圍、成本、時間以及質量等,項目協調也是要完成的目標。項目協調可以滿足項目參與者和利益相關者的要求,伴隨軟件規模和它所涉及領域的擴展,軟件項目管理變得越來越復雜,大大的增加了管理難度,造成這結果的主要因素是不能管理其過程如果管理項目在無紀律混亂的情況下,那么項目組織就很難總結出好的管理方法和工具,就更不用說從中獲益了。管理嚴謹的好處不僅能夠就檢查和改進在階段內出現的偏差,還可以及時的終止項目。甚至還可以避免人才的來去帶來的負面影響。如果想要有效的對過程進行控制,就不得不對項目管理流程更加明確。
1.2 軟件項目的構成
一系列活動有機構成流程。而個人與團體構成基本活動,基本活動的構成不需要來自其他活動的轉換。流程的每個活動間都有著自己的獨有的流向,在流程過程中包含著明顯的開始與結束,所以這是一個非靜止的概念。從結構方面可以看出,流程由四個基本因素構成:活動及活動的邏輯關系、承擔著、實現辦法。流程管理所包含的不但有管理技術,還有現代管理的理想,以前的職能管理憑借的是控制、塔式組織。但隨著時間的推移其已經不能適應市場競爭和當今企業的發展需要,以分工理論為主的管理理論已經使用了幾百年,目前又返回到系統和整合上面。
1.3 軟件項目生命周期的一系列的開發過程是各種各樣的流程活動
軟件項目是由各種各樣活動流程活動組成的,具體包括如下,軟件項目的計劃編制、系統分析、概要設計、詳細設計、程序編碼、測試與維護等活動過程都屬于流程活動:制定軟件項目管理流程,當我們在制度項目管理流程過程中,要著重考慮一下幾點:(1)流程的制定可以將項目逐步引至成功,(2)流程的制定可以適應軟件的開發,(3)流程的制定對項目開發可以起到指導作用,(4)流程制定是使用流程圖表示的,可以讓每個參與者都能夠清楚的明白管理過程與開發過程之間的關系,(5)流程過程中的參評要有明確的定義、標準和方法。
2 軟件項目管理大體過程設計
2.1 軟件項目管理的構成
軟件項目管理過程大體可以分為以下幾部分:項目構思、項目立項、簽訂合同和執行合同。可以使用P1、P2、P3、P4、P5代替。同時也可以劃分為五個里程碑,分別是:完成立項、簽訂合同、定義功用、產品開發、投入市場,可以用TM1、Tm2、Tm3、TM4、TM5代替。
2.2 軟件項目管理的流程分析
項目管理的大體流程分析,項目搜尋是項目開始的前提,其階段主要任務包括收集市場信息、客戶需求、以及潛在的需求。項目立項階段就是可行性的研究階段,就是討論成本與效益的可行性。項目售前階段是項目立項與簽訂項目合同的這段時間,主要任務包括以下幾個方面:做好與客戶介紹交了的計劃、對產品的銷售對象要有一個比較全面的了解以及客戶對項目感興趣的原因和對產品的要求。合同生成階段要做的是對項目方案的比較與相關的政策法規的認識,以及對合同的評估以及簽訂合同。合同執行階段是項目管理流程的重要環節,主要包括軟件的開發、測試、驗收、系統的維護等過程。
3 軟件項目失敗的原因和軟件項目管理方法的探究
3.1 軟件項目失敗的原因
我們可以從目前國內外的軟件行業企業可以看出,“軟件危機”的影響仍持續著軟件行業。軟件項目的實施情況也總是很難令人滿意。經過研究發現,軟件項目之所以會失敗的原因主要有以下兩方面:一是應用項目發展難以控制;二是項目管理者對項目管理工作的認識掌握還不成熟。實踐證明,缺乏有效的項目管理是致使軟件項目失控的直接原因。
3.2 制定項目的任務
軟件項目計劃的主要作用是用來協調其他計劃的,協調的目的是為了指導控制和執行可操作文件。它這是對客戶需要的理解表現,是開展項目活動的開始,也是開展其他工作的依據,項目計劃由全局計劃和下屬計劃構成。在下屬計劃制定時,項目經理必須遵循的原則是:誰負責那一部分工作,那部分的計劃就有誰來制定,項目經理只需審批就行。
3.3 開發過程的制定
軟件開發之所以存在較大風險,最主要原因是軟件過程能力低,這是因為管理軟件過程十分困難,為此就非常有必要在軟件過程的控制和管理方面加強。不同的軟件項目有著不同的過程,雖然項目計劃與執行是互相交叉的,其主要部分是相似的,但是不同的項目的每個過程它所包含的具體活動是差之毫厘謬以千里,而且由于不同的制定者所使用的開發技術和技術路線的不同,所導致的側重點就不可能相同了。項目經理在計劃制定前就必須根據開發軟件的實際情況,建立一個穩定性好、可控的軟件開發模型。
3.4 加強過程控制
軟件項目的開發和實施總是處于動態之中,這種動態是持久的、永恒無止境的,世上不存在靜止的軟件項目。需求、技術、系統結構、代碼都會發生變化,就算是連環計都會發生變化,項目經理在做好了計劃和準備后,最重要的任務就轉換到過程的控制上來了。過程管理和變更控制是過程控制的主要部分。配置管理是一個軟件項目能否順利執行的前提。在軟件開發過程中比如會出現很多的附加產品,比如代碼、一系列文檔、數據等等,這些產品是有用的。而且隨著軟件項目的改變這些產品都會發生變法生產出不同的版本,試想一下,如果配置管理失效,項目工作人員勢必會深陷配置項的“泥潭”。很明顯我們應該加強項目過程的任何部分細節。
4 結束語
在本文設計的軟件項目管理總體流程及相關技術,目前已經十分成熟了,在軟件項目的研發和管理中已經大量的采用了。流程管理在軟件項目管理中的使用,降低了軟件項目管理的復雜性,增加了軟件項目的成功率。事實也證明,根據企業和項目的實際情況,制定軟件項目的實施步驟,確定產品的用處,指明各階段的開始條件和終止條件,進行有效的流程控制與管理,這樣將會極大的提高了軟件開發的效率和降低項目的失敗率。
參考文獻
[1]羅鐵清,王如龍,軟件項目管理的研究及在項目開發中的應用,項目管理技術2005,3:66-70
[2]劉寬宏,殷人尾,基于GMMI的過程和產品質量保證模型,計算機工程,2004,30(15):75-77
[5](美)凱西,施瓦爾貝,IT項目管理,王金玉,時郴譯,北京:機械工業出版社,2002
[4]張益林,王如龍,基于WEB的工作流技術在工程項目管理系統中的實現,科學技術與工程,2005