對軟體專案管理的探討(1)

myattitude發表於2008-07-24
一、引言

  隨著資訊科技的飛速發展,軟體產品的規模也越來越龐大,個人單打獨鬥的作坊式開發方式已經越來越不適應發展的需要。各軟體企業都在積極將軟體專案管理引入開發活動中,對開發實行有效的管理。軟體專案管理是整個專案管理中的一個重要組成部分。

  從概念上講,軟體專案管理是為了使軟體專案能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟體專案管理的意義不僅僅如此,進行軟體專案管理有利於將開發人員的個人開發能力轉化成企業的開發能力,企業的軟體開發能力越高,表明這個企業的軟體生產越趨向於成熟,企業越能夠穩定發展(即減小開發風險)。

  軟體開發不同於其他產品的製造,軟體的整個過程都是設計過程(沒有製造過程);另外,軟體開發不需要使用大量的物質資源,而主要是人力資源;並且,軟體開發的產品只是程式程式碼和技術檔案,並沒有其他的物質結果。基於上述特點,軟體專案管理與其他專案管理相比,有很大的獨特性。

二、軟體專案管理的組織模式

  軟體專案可以是一個單獨的開發專案,也可以與產品專案組成一個完整的軟體產品專案。如果是訂單開發,則成立軟體專案組即可;如果是產品開發,需成立軟體專案組和產品專案(負責市場調查和銷售),組成軟體產品專案組。

  公司實行專案管理時,首先要成立專案管理委員會,專案管理委員會下設專案管理小組、專案評審小組和軟體產品專案組。

1、專案管理委員會  

  專案管理委員會是公司專案管理的最高決策機構,一般由公司總經理、副總經理組成。主要職責如下:

(1)依照專案管理相關制度,管理專案;

(2)監督專案管理相關制度的執行;

(3)對專案立項、專案撤消進行決策;

(4)任命專案管理小組組長、專案評審委員會主任、專案組組長.

2、專案管理小組

  專案管理小組對專案管理委員會負責,一般由公司管理人員組成。主要職責如下:

(1)草擬專案管理的各項制度;
(2)組織專案階段評審;
(3)儲存專案過程中的相關檔案和資料;
(4)為優化專案管理提出建議。

3、專案評審小組

  專案評審小組對專案管理委員會負責,可下設開發評審小組和產品評審小組,一般由公司技術專家和市場專家組成。主要職責如下:

(1)對專案可行性報告進行評審;
(2)對市場計劃和階段報告進行評審;
(3)對開發計劃和階段報告進行評審;
(4)專案結束時,對專案總結報告進行評審。

4、軟體產品專案組

  軟體產品專案組對專案管理委員會負責,可下設軟體專案組和產品專案組。軟體專案組和產品專案組分別設開發經理和產品經理。成員一般由公司技術人員和市場人員構成。主要職責是:根據專案管理委員會的安排具體負責專案的軟體開發和市場調查及銷售工作。
三、軟體專案管理的內容

  從軟體工程的角度講,軟體開發主要分為六個階段:需求分析階段、概要設計階段、詳細設計階段、編碼階段、測試階段、安裝及維護階段。不論是作坊式開發,還是團隊協作開發,這六個階段都是不可缺少的。

  根據公司實際情況,公司在進行軟體專案管理時,重點將軟體配置管理、軟體質量管理、軟體風險管理及開發人員管理四方面內容匯入軟體開發的整個階段。

  在八十年代初,著名軟體工程專家B.W.Boehm總結出了軟體開發時需遵循的七條基本原則,同樣,我們在進行軟體專案管理時,也應該遵循這七條原則。它們是:

(1)用分階段的生命週期計劃嚴格管理;
(2)堅持進行階段評審;
(3)實行嚴格的產品控制;
(4)採用現代程式設計技術;
(5)結果應能夠清楚地審查;
(6)開發小組地人員應該少而精;
(7)承認不斷改進軟體工程實踐地必要性。

四、編寫《軟體專案計劃書》

  專案組成立的第一件事是編寫《軟體專案計劃書》,在計劃書中描述開發日程安排、資源需求、專案管理等各項情況的大體內容。計劃書主要向公司各相關人員發放,使他們大體瞭解該軟體專案的情況。對於計劃書的每個內容,都應有相應具體實施手冊,這些手冊是供專案組相關成員使用的。

《軟體專案計劃書》一般應該包括下述內容:  1.引言
  1.1計劃的目的
  1.2專案的範圍和目標
  1.2.1範圍描述
  1.2.2主要功能
  1.2.3效能
  1.2.4管理和技術約束

 2.專案估算
  2.1使用的歷史資料
  2.2使用的評估技術
  2.3工作量、成本、時間估算

 3.風險管理戰略
  3.1風險識別
  3.2有關風險的討論
  3.3風險管理計劃
  3.3.1風險計劃
  3.3.2風險監視
  3.3.3風險管理

 4.日程
  4.1專案工作分解結構
  4.2時限圖(甘特圖)
  4.3資源表

 5.專案資源
  5.1人員
  5.2硬體和軟體
  5.3特別資源

 6.人員組織
  6.1組織結構
  6.2管理報告

 7.跟蹤和控制機制
  7.1質量保證和控制
  7.2變化管理和控制

 8.附錄

五、軟體配置管理

  是否進行配置管理與軟體的規模有關,軟體的規模越大,配置管理就顯得越重要。軟體配置管理簡稱SCM(Software Configuration Management的縮寫),是在團隊開發中,標識、控制和管理軟體變更的一種管理。配置管理的使用取決於專案規模和複雜性以及風險水平。

1、目前軟體開發中面臨的問題

  。在有限的時間、資金內,要滿足不斷增長的軟體產品質量要求;
  。開發的環境日益複雜,程式碼共享日益困難,需跨越的平臺增多;
  。程式的規模越來越大;
  。軟體的重用性需要提高;
  。軟體的維護越來越困難。

2、軟體配置管理應提供的功能

  在ISO9000.3中,對配置管理系統的功能作了如下描述:

  。唯一地標識每個軟體項的版本;
  。標識共同構成一完整產品的特定版本的每一軟體項的版本;
  。控制由兩個或多個獨立工作的人員同時對一給定軟體項的更新;
  。控制由兩個或多個獨立工作的人員同時對一給定軟體項的更新;
  。按要求在一個或多個位置對複雜產品的更新進行協調;
  。標識並跟蹤所有的措施和更改;這些措施和更改是在從開始直到放行期間,由於更改請求或問題引起的。

3、版本管理

  軟體配置管理分為版本管理、問題跟蹤和建立管理三個部分,其中版本管理是基礎。版本管理應完成以下主要任務:

  。建立專案;
  。重構任何修訂版的某一項或某一檔案;
  。利用加鎖技術防止覆蓋;
  。當增加一個修訂版時要求輸入變更描述;
  。提供比較任意兩個修訂版的使用工具;
  。採用增量儲存方式;
  。提供對修訂版歷史和鎖定狀態的報告功能;
  。提供歸併功能;
  。允許在任何時候重構任何版本;
  。許可權的設定;
  。晉升模型的建立;
  。提供各種報告。

4、配置管理軟體PVCS 6.0

  PVCS6.0是一套非常優秀的配置管理軟體,它能夠實現配置管理中的各項要求,並且能和多種流行開發平臺整合,為配置管理提供了很大的方便。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-408766/,如需轉載,請註明出處,否則將追究法律責任。

相關文章