- 相關推薦
淺析軟件項目過程管理矩陣模型研究與實踐
論文關鍵詞:軟件項目;過程控制;矩陣模型;需求管理
論文摘要:軟件項目由于應用的領域不同,一般涉及眾多的業(yè)務知識領域,項目成果也應以軟件的產品來體現,其最終成果及實現過程的可見性、可度量性相對較弱。因此,軟件項目管理比一般工程項目要復雜得多;谲浖椖抗芾淼奶攸c分析,并結合軟件項目開發(fā)管理經驗,討論了軟件項目組織架構、計劃與過程控制等軟件項目管理要素,提出了矩陣式項目管理模型,分析了該模型中業(yè)務知識與技術共同作用所能達到的最佳效果,討論了需求管理模型及其應用,實踐證明該模型是行之有效的。
O引言
項目管理是伴隨著項目進行而進行的,是一種為了滿足甚至超越項目所有者對項目的期望而將理論知識、技能、工具和技巧應用到項目中的管理活動,是一門關于項目資金、時間、等資源控制的管理科學。
顧名思義,軟件項目管理就是項目管理在軟件領域的應用,是一種為了能夠按照預定的工期、質量順利完成軟件項目而對、人員、進度、質量、風險等進行控制管理的活動。其核心在于通過有效的管理,明確項目范圍,合理調配,提高項目團隊的整體開發(fā)能力,優(yōu)化項目執(zhí)行過程,控制項目成本,為用戶提供滿意的軟件產品。
1軟件項目管理的特點
軟件是一種特殊的產品,這種產品的特殊性之一就是它的生產活動是以項目的形式進行的,因此,項目管理對軟件生產具有決定性的意義。軟件項目管理除了具有一般項目管理的特點外,還有其獨特之處,主要表現在:
(1)軟件產品缺乏硬性度量指標。
軟件的最大特點在于一個“軟”字,它不像項目,最終可以有一個實物,可以用某一個標準去剛性的度量評價。而軟件產品客觀上具有“不可見性”,表現在它沒有一個可見的實物,還表現在其度量指標也不能像度量實物那樣具有明確性。有效的項目管理就是要使軟件及其生產過程由不可見、不可度量變成可見和可度量。
[1]
(2)重視應用領域的業(yè)務知識。
對于應用軟件來說,它并不單純是計算機技術問題,更多地表現在它所服務的業(yè)務領域的知識技能。如企業(yè)ERP、SCM等應用軟件項目,計算機只是它的載體,計算機技術往往并不起決定作用,而與之相關的業(yè)務知識、知識顯得更加重要。
(3)管理比技術本身更重要。
軟件項目是一項計算機技術、信息技術、管理科學等多學科交叉的系統(tǒng)工程。隨著信息技術的發(fā)展,軟件項目應用領域不斷擴張、項目規(guī)模不斷擴大、項目業(yè)務日趨復雜,一個軟件從構想到完成,需要大量的從事不同工作的人共同努力,個人單打獨斗的作坊式開發(fā)方式顯然已經無法適應這種信息技術發(fā)展的需要。在一
個大型信息系統(tǒng)工程項目里,需要系統(tǒng)策劃人員、分析設計人員、編程人員、測試人員和用戶等眾多人員的共同參與和密切配合,如何將可用資源有效地結合在一起,并使之發(fā)揮最大效率,如何保證項目按照預定的時間將預先約定的軟件產品提交給客戶是軟件項目管理的核心任務。項目管理往往成為決定軟件項目成敗的重要因素。
(4)強調文檔的重要性。
文檔是軟件產品的重要組成部分,軟件項目管理以工程化的管理方法,強調規(guī)范文檔的重要性,在軟件生命周期的各個階段,強調對里程碑文檔的評審,并把文檔作為階段成果的重要體現和下階段的基礎。
(5)重視培訓與服務的價值。
培訓與服務是發(fā)掘軟件產品價值的重要手段。一個軟件產品,如果沒有人使用就不能形成價值,如果不會使用,就可能降低軟件的價值。服務的優(yōu)劣已經直接影響軟件的使用價值并決定軟件產品的生命周期?傊,軟件項目管理重視培訓與服務在軟件增值中的意義。
[2]
2架構矩陣模型
規(guī)范化的管理體現在:有完整的基于軟件開發(fā)標準(如CMM、ISO等)的開發(fā)流程;有基于這個流程的完整詳細的開發(fā)計劃;有基于開發(fā)計劃的預算和成本控制方法;有明確的階段檢查措施和評價標準;有明確的質量管理體系和質量保證實施手段,保證項目在可控狀態(tài)下進行。而這一切都需要有一個組織有效的管理團隊和運作規(guī)范的管理架構。
在軟件項目管理過程中,項目經理起著至關重要的作用。對于項目經理,目前有兩種觀點:一種認為軟件項目經理應該是某方面的應用專家,能夠對項目組成員給予技術,如此才有能力合理安排工作。另一種觀點則認為,項目經理應該是職業(yè)經理,他可以不是計算機技術專家,但應該是管理專家,具備輕松調配各部門資源的技巧和有效地組織、管理開發(fā)隊伍、協調溝通的能力,他的作用主要體現在協調、管理、合理安排成員的工作,控制項目進度和費用,與用戶溝通,等等。事實上,在一般意義上,不管是技術型專家還是管理型專家都無法滿足現代軟件項目管理的需要。在傳統(tǒng)的垂直型管理模式中,項目經理要直接管理到具體的程序員,一般只適用于不太復雜的技術型項目,它忽視了中間層的作用,不便于發(fā)揮員工的積極性。而扁平化管理意味著要面對很多的直接下級,對管理者提出了很高的管理要求,特別對于大型項目來說,可能涉及到很多業(yè)務領域知識,他都要面面俱到,這對于一個不管是技術型還是管理型項目經理來說似乎都很難做到,即使對于所謂既懂專業(yè)又懂管理的全才專家來說,也不可能要求他在各個方面都是最優(yōu)秀的。
眾所周知的事實是,找一個既懂專業(yè)又有項目管理經驗的專家往往比較困難,但如果找?guī)讉或懂專業(yè)或懂項目管理的專家也許并不困難。一個好的軟件項目團隊就應該是它可以有效整合各成員的能力,使集體的能量達到最大化。因此,與其找一個所謂全才的項目經理,還不如構建規(guī)范的管理架構。根據筆者多年的軟件開發(fā)、項目管理的實踐和經驗,提出了“矩陣式”軟件項目管理模型。在這個模型中,項目經理也只是其中的一個角色而已。他并不需要面面俱到,也不需要掌握項目的全部細節(jié),他要做的全部工作就是按管理規(guī)范要求完成項目經理這個角色所特有的工作。在這個架構下,更便于發(fā)揮項目團隊中備人所長,使集體的智慧得以充分張揚。每個人所做的工作(包括他的知識)都已經留存下來了,即使項目經理因故離職,接任者也可以從容接手,從而降低了因為人員流動可能對項目造成的風險。
[3]
如表1所示,是某項目架構的矩陣模型。每個業(yè)務子系統(tǒng)有一個業(yè)務專家負責,他們一般都精通某一個方面的業(yè)務,由他們直接面對用戶,可以與用戶業(yè)務人員有更多的共同,便于交流,更容易捕獲用戶需求。而在軟件開發(fā)的每個階段,按軟件工程生命周期,各階段由具有技術專長的技術人員負責。所以,整體上可以充分發(fā)揮各業(yè)務負責人精通業(yè)務領域知識和階段負責人精通相關技術的優(yōu)勢,使項目團隊整體成為名副其實的既懂專業(yè)又懂管理的專家。
矩陣管理可以更好地發(fā)揮各專業(yè)人員的業(yè)務專長,又能更好地發(fā)揮各技術層面技術人員的特長,項目經理重要的工作就是協調,重點在于如何結合眾多資源控制整個開發(fā)進程。矩陣模型也有利于軟件公司人才戰(zhàn)略,有利于組織內部人才的培養(yǎng),充分展現個人的發(fā)展空間。大多數軟件企業(yè)也許都很難有精通所有專業(yè)的全才,但都擁有為數眾多精通某一類業(yè)務的系統(tǒng)分析師,或精通某一類專門技術的專門人才。根據矩陣模型,公司可以培養(yǎng)員工向不同方向發(fā)展,有技術特長的,培養(yǎng)他發(fā)展技術的深度,有其他專業(yè)特長的,比如精通稅務、、企業(yè)管理等,則培養(yǎng)成業(yè)務專家。這樣,在人盡其才的同時,又有利于留住人才,穩(wěn)定了軟件開發(fā)隊伍。
3計劃與過程控制
項目計劃包括風險管理計劃、質量管理計劃、資源計劃、資源計劃等。軟件項目計劃和過程控制為消除或削弱軟件的“不可見”帶來的不確定性提供了很好的保障措施;谌蝿辗纸(WBS)的工作分配和項目組織結構,明確每個項目開發(fā)人員的責任以及他們之間的連接,把整個項目周期劃分為若干個小的階段,每個階段都有明確的目標和階段成果及其確認準則。由于把每個階段要完成的工作、預期的成果都清晰地描述出來了,一方面,可以使用戶不斷看到一個個階段成果,而不是在項目全部完工后才看到一個大的成果,增強了用戶的信心;另一方面。通過明確的階段結果,隨時收集有關項目進程數據,按計劃規(guī)定進行進度管理,使開發(fā)過程和階段成果都是可見的,也便于發(fā)現問題、控制開發(fā)過程,不至于什么問題都要到最后才一次暴露,減少了項目風險。
[4]
當然,如果僅僅有好的項目計劃而缺乏有效的執(zhí)行機制和監(jiān)督措施,項目仍然可能失去控制。成功項目的標志是在規(guī)定的時間、合理開支的條件下,完成約定的需求,實現系統(tǒng)的最終目標。有效實施項目進度控制是項目成功的重要保障,是每一個項目經理必須非常重視的工作。實現有效項目過程控制的方法主要是通過定期和不定期的檢查體現的。
(1)階段檢查。
不定期的階段性檢查,一般在關鍵任務或里程碑任務的計劃完成時進行的,即在項目的每個階段結束時都要經過詳細的評估。檢查的重點是該階段里程碑任務是否完整地實現了,是否可以轉入下階段的工作。
(2)定期檢查。
為了隨時掌控項目進度執(zhí)行情況,建立定期信息報告制度是一個行之有效的措施。定期的檢查一般分周例會和月例會,例會檢查的重點是:需求列表、風險列表、計劃執(zhí)行情況、質量保證情況等。通過周報月報,溝通并掌握各方信息,對存在的問題和困難進行匯總,提交例會處理解決,降低不確定性因素對項目工期的影響,保證項目順利進行。
定期或不定期地對項目進度計劃表進行檢查,對于不合格的項目進度計劃表或未按照項目進度計劃表執(zhí)行的項目給予相應處理,及時發(fā)現問題,盡早調整計劃偏差,最大限度地避免損失。這樣,在項目進行過程中就比較容易把握每個階段項目的進展情況,方便對項目組成員的績效進行階段性評估,便于統(tǒng)一項目經理和客戶的認識。增加項目風險的可控性。
4需求矩陣模型
軟件項目的最大難點往往在于需求的不確定性,所以,有人認為好的需求是軟件項目成功的一半。需求的困難主要表現在技術人員與用戶業(yè)務人員由于不同的語境,存在溝通困難。用戶業(yè)務人員可能不清楚計算機系統(tǒng)實現細節(jié),或并不知道需求人員到底需要了解什么,而計算機技術人員可能由于不熟悉業(yè)務,往往又缺乏引導用戶表達需求的業(yè)務素質和技巧,所以,影響了雙方溝通和交流,造成的結果可能是用戶往往不能清楚地描述自己的需求或計算機人員不能準確解需求,從而影響了需求的最終描述。另一方面,對于管理信息系統(tǒng)來說,需求的不確定還表現在業(yè)務流程的變化上,特別對于現階段還處于不斷變革時期的我國企業(yè)來說,情況更是如此。
[5]
一般來說,用戶在看到最終系統(tǒng)以后,通過不斷地應用實踐,激發(fā)了用戶的聯想,就可能提出新的或改進的需求。所以,在項目一開始,技術人員就必須對此有充分的認識,既要盡可能全面了解現有需求,也要充分預計到可能的需求變更,為系統(tǒng)設計留有變更或擴充的余地。另一方面,應該盡可能讓用戶盡早介入,直接參與階段評審和驗收,以便及時發(fā)現需求執(zhí)行偏失,不至于什么都等到全部完工后才發(fā)現問題,才一并解決問題。在項目的后期改正一個錯誤的代價往往是在前期的數倍。所以,需求成為軟件項目成敗的另一個關鍵因索之一。
根據筆者的經驗,建立需求矩陣跟蹤表是進行需求管理很好的工具。表2是為某汽車制造企業(yè)做的整車銷售系統(tǒng)中的一部分需求表。通過跟蹤表,項目涉眾可以隨時了解關于軟件需求的實現過程。用戶可以從中隨時看到階段性成果,方便用戶及時測試、確認已實現的需求,便于用戶積極參與,便于及時發(fā)現問題,改正問題。
5結束語
當代信息技術正以超乎尋常的速度發(fā)展,軟件項目規(guī)模不斷擴大,應用日趨復雜,失敗的案例屢見不鮮,人們逐漸把眼光聚焦到關于軟件項目管理方法的研究,項目管理正逐漸成為當今世界解決軟件危機的一種主流管理方法。矩陣模型已在大量的工程實踐中被證明是行之有效的。
[6]
【淺析軟件項目過程管理矩陣模型研究與實踐】相關文章:
DWDM光網絡網元管理信息模型的創(chuàng)建過程05-11
淺析大豆的播種過程及方法05-29
Home.Net模型/架構研究06-01
中小軟件企業(yè)項目管理如何做08-28
研究治理過程的整合治理06-04
淺析通信工程的成本管理08-23
工商管理改革淺析論文11-05
網購顧客滿意度影響因素模型研究05-15
企業(yè)績效管理綜合模型及應用分析05-02