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