當前位置:才華齋>企業管理>專案管理>

軟體專案管理探析

專案管理 閱讀(1.02W)

軟體專案管理是門科學,也是一門藝術;它是一個複雜的系統,決定了軟體專案成敗的關鍵。軟體專案管理雖然沒有非常高深的理論,但要真正實施起來,也絕非易事。

軟體專案管理探析

  1.引言

隨著資訊科技的飛速發展,軟體產品的規模和複雜度隨之增加,傳統作坊式的開發方式逐步被以專案組為單位的協作式開發方式所取代,這就必然涉及到對軟體專案的管理。實踐表明,一個軟體專案的成敗,不在於其專案組的技術人員的技術水平,而在於是否採用了合適的管理。好的管理方式不一定能使專案完全成功,但是一個不合適的管理模式往往會導致軟體專案的失敗。軟體專案管理目前還沒有引起人們的足夠重視,究其原因:首先是人的傳統觀念,軟體專案管理不為人們所重視,從專案主師到軟體設計開發人員都認為軟體專案管理可有可無;另一方面軟體工程是一個新興的學科領域,軟體專案管理的問題也是剛被提出的,還沒有多少經驗可以借鑑或引用。同時,由於軟體產品的特殊性,使軟體專案管理涉及到很多學科。因此,對軟體工程管理,人們還缺乏經驗和技術。但事實證明,由管理失誤造成的後果要比程式錯誤造成的後果更為嚴重。根據多年來型號產品的研製過程可以發現,很少有軟體專案的實施程序能準確地符合預定目標、進度和預算的,這也就足以說明軟體專案管理的重要性。

  2.軟體專案管理的概念

軟體專案管理是指在軟體專案活動中運用專門的知識、技能、工具和方法,使專案能夠按照預定的成本、進度、質量順利完成,通過計劃、組織、控制等一系列活動,合理地配置和使用各種資源,對成本、人員、進度、質量、風險等進行分析和管理,以達到既定目標的過程。這一定義不僅僅是強調使用專門的知識和技能,還強調專案管理中各參與人的重要性。軟體專案管理的根本目的是對軟體開發的各個階段進行管理,增強對軟體開發的控制能力,提高軟體開發質量。專案管理可以讓一個專案獲得高額的盈利也可以讓一個專案損失慘重,而編碼的影響力則相對小一些。軟體專案管理的意義不僅僅如此,進行軟體專案管理有利於將開發人員的個人開發能力轉化成企業的開發能力,企業的軟體開發能力越高,表明這個企業的軟體生產越趨向於成熟,企業越能夠穩定發展(即減小開發風險)。

  3.軟體專案管理的內容

軟體專案管理是一種科學的管理手段,它是為了使軟體專案能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。管理的範圍涉及人員的組織與管理、軟體度量、專案計劃、風險管理、質量保證、過程能力配置管理等幾個方面,這幾個方面都是貫穿、交織於整個軟體開發過程中的。從軟體工程的角度講,軟體開發主要分為六個階段:需求分析階段、概要設計階段、詳細設計階段、編碼階段、測試階段、安裝及維護階段。不論是作坊式開發,還是團隊協作式開發,這六個階段都是不可缺少的。根據專案管理知識體系中的定義,軟體專案管理可以分為以下幾個方面:

(1)整合管理:專案計劃制定、專案計劃實施等。

(2)範圍管理:範圍計劃編制、範圍定義核實、任務協調等。

(3)時間管理:專案任務分解、進度計劃編制、任務持續時間估算、進度計劃控制等。

(4)成本管理:資源計劃編制、成本估算、成本預算和控制等。

(5)質量管理:專案質量計劃編制、軟體質量保證、軟體質量控制、軟體過程改進等。

(6)人力資源管理:組織的計劃編制、人員職責的分配、團隊合作發展等。

(7)溝通管理:建立溝通渠道、資訊交換管理等。

(8)風險管理:專案風險識別、專案風險分析、專案風險優先分析、專案風險控制等。

(9)採購管理:採購計劃編制、合同管理、合同收尾等。

在軟體專案管理中,有幾個關鍵因素,它影響著軟體專案的成敗,下面就這幾個關鍵因素進行探討。

  4.軟體專案管理的關鍵因素

  (1)合理配置人力資源

眾所周知,人是決定組織和專案成敗的關鍵,也是影響軟體開發質量的最關鍵的因素,因此軟體專案管理應該以人為本,有效管理人力資源,合理配置人力資源。應該根據專案組成員的組成結構情況,合理搭配,充分發揮每位成員的技術專長,做到人盡其能;組織組建好專案團隊,培養團結一致的團隊精神,規範良好的職業道德;建立健全完備的獎懲制度,落實權利責任制度,做到權責明確,並在專案程序中能及時化解各種人事衝突,營造良好的團隊協作環境

  (2)順暢有效的溝通管理

軟體專案管理是一項知識性極強的工作,對人的依賴性比其它行業更為突出,因此加強人員之間的有效溝通,實現順暢有效的溝通管理是軟體專案成功的另一個關鍵因素。溝通管理是一個收集、儲存、配置和釋出專案生命週期內所形成的各種資訊的過程,它把成功所必須的因素——人、想法和資訊之間提供了一個關鍵連線。對於專案來說,要科學地組織、指揮、協調和控制專案的實施過程,就必須進行資訊溝通。這裡的溝通包括兩個方面,一個方面是軟體專案組開發人員與使用者的溝通,另一方面則是軟體專案組內人員的溝通。前者是做好軟體需求分析所必須的;而後者則有助於組內成員的彼此交流,減少理解錯位,實現資訊暢通,改善人際關係,化解可能的衝突,加快專案的進度。溝通的方式是多樣的,可以採用常用的專案組例會方式,可以通過面談彼此交換意見;也可以利用方便快捷的通訊工具如電話、EMAIL、傳真等方式加強資訊的溝通;總之,順暢有效的資訊溝通,可以取得彼此的理解,剔除專案進度中的“BUG”,有利於專案按計劃順利開展。

  (3)正確可靠的軟體需求

軟體需求是軟體專案的根本所在,需求不明確,軟體專案開發範圍不確定,專案開發就會失去方向,容易造成開發的產品和使用者實際的需求“南轅北轍”,最終導致專案的失敗。一個可靠的需求,也是專案管理的關鍵因素之一。軟體需求應當是專案有關的.人員一致同意的、清楚的、完整的、詳細的、可實現的和可測試的需求,開發人員應該反覆和使用者進行溝通,認真聽取使用者的意見,及時歸檔記錄,並適時發掘使用者的潛在需求,最大限度地滿足使用者的目標,開發出使用者最理想的產品。最後應拿出開發人員和使用者一致認可的軟體需求說明書,並加以確認。在專案開始以後,應該盡最大可能不更改需求,要與使用者進行很好地溝通,以確保開發過程能按照需求進行,減少需求變更帶來的風險!因此,正確可靠的軟體需求也是專案成功的重要保障。   (4)周密可行的專案計劃

“凡事預則立,不預則廢。”軟體專案實施過程中,還必須有一個周密可行的專案計劃。軟體專案計劃的目的是為完成軟體工程和管理軟體專案而制定的合理的計劃,它包括以下步驟:估計軟體產品規模及所需的資源,制定軟體開發計劃、軟體測試計劃和軟體質量保證計劃,評估軟體風險和協商約定風險解決辦法,而且要標誌出幾個階段性的里程碑,這些都是極為關鍵的。因此,要想成功進行專案管理,就要對計劃高度重視、周密制定、嚴格執行,只有嚴格執行計劃才能使專案管理得以成功實施。

  (5)健全完備的文件資料

軟體專案的文件作為軟體產品的主要形式之一,集中體現了軟體人員的勞動成果,軟體研製是腦力勞動,具有不可見性,為了實現對軟體研製過程的管理,在軟體研製過程的每個階段,都應按規定的格式編寫出完整準確的文件,文件是軟體中不可缺少的組成部分,在整個軟體生存週期中均佔據重要位置。軟體研製過程中文件可以作為開發人員在一定階段內的工作成果和結束標誌;還可以向管理人員提供軟體開發過程中的進展和情況,把軟體開發過程中的一些“不可見的”事物轉換成“可見的”文字資料。此外,健全完備的文件資料在專案接近尾聲時也便於軟體的測試與後期的維護工作,在專案結尾時,健全完備的文件資料也為人員的培訓和專案的再開發發揮重要作用。因此健全完備的文件資料是軟體專案成功的重要因素,在專案管理過程中應該高度重視。

  (6)嚴格的風險管理

軟體專案的管理是存在風險的,我們應該提前重視風險,並有所防範,最大限度減少風險的發生,實行嚴格的風險管理是有效的手段,建立風險專案檢查表是進行風險識別的有效方法。主要涉及到產品規模風險檢查、過程風險檢查、技術風險檢查、開發環境風險檢查等。

  5.結論

軟體專案管理是門科學,也是一門藝術;它是一個複雜的系統,決定了軟體專案成敗的關鍵。軟體專案管理雖然沒有非常高深的理論,但要真正實施起來,也絕非易事。因此在軟體開發過程中,我們應該理論聯絡實踐,積極從實踐中積累經驗,注意專案管理中的關鍵因素,實施有效的管理,使軟體專案獲得成功。