國內軟體工程專案的外包管理分析

myattitude發表於2009-01-12

出處:mypm
作者:段柯
 

1、前言 

  中國軟體行業一方面緊跟世界潮流,技術與模式日新月異;另一方面具有 中國特色,行業與地域存在壁壘。作為品牌和實力正處於培育發展階段的軟體公司,在市場擴充過程中為了克服積累不夠或水土不服等弱點,實現“利潤最大化,成 本最小化”,把自己不擅長或非發展方向的專案進行外包是非常普遍的現象。 

  然而軟體專案外包本質來說,是軟體開發過程從公司內部部分或全部延伸到公司外部的管理規範與管理技術。與內部實施相比,管理難度有過之而無不及。但是我們很多公司可以說是非常擅長策劃外包,而不善於執行外包。甚至出現如 CMM1級描述的現象,基本上是一包了之。 

  為了促進探索企業在軟體專案外包管理的規範化,本文結合公司歷史外包專案得失和相關資訊,分析了軟體專案的外包的目標、策略、監理等要素,謹供參考。 

  2、外包的目標與策略 

  歐美企業在向印度、愛爾蘭、中國等軟體生產“藍領”國家進行軟體外包時,發包方並非不能,而是不為。因此目標定位很清楚:就是節省成本和控制質量。此類外包的發包方處位強勢,全程可控,也形成了嚴格而規範的流程。 

  而回首國內企業的軟體工程外包,背景就複雜得多。有的是“主動外包 ”,強勢出擊,客戶可控;有的是“被動外包”,策略聯盟,短板受制;有的則是“綁架外包”,客戶指定,餘地甚微。面對不同型別的外包動機,我們在討論外包 風險時容易陷於甲方店大欺客、丙方反僕為主之類的表象,缺乏對外包目標的準確定位。目標不明,導致以監理為核心的外包管理很容易“左傾”控死(丙方)和“ 右傾”失控(於丙方),最終結果是無法向甲方兌現自己作為乙方的承諾。 

  因此,因此我們進行軟體工程專案外包時,一定要根據動機型別,結合甲方丙方特點,釐清目標定位。既而選擇監理策略,確定監理規範與流程。公司通過外包要達到的主要目標可以分為: 

  1、案例之名 

  為了開啟行業局面,取得戰略突破,在競標過程中一切為了“中標”,甲方指定能接受。可以無實,但必須有名。中標後非不為,實難為,必須外包。監理的策略底限應該是儘量避免專案失敗,控制資本面風險。 

  2、追求利潤 

  該軟體工程非公司長期發展方向,中標後非難為,實不為。尋求外包,降低成本,獲取軟體工程專案邊際利潤。或者整體中標,硬體盈利,軟體外包。監理的策略是里程碑產品質量可控,及時發現問題。 

  3、技術經驗 

  該軟體工程為公司發展方向,但技術層面存在“短板”。外包的目標是通過監理掌握技術,吸收精華。監理策略是組成內部專案團隊,技術層面全過程跟蹤。行評審稽核之名,圖技術學習之利。 

  4、行業業務 
   
    該軟體工程為公司發展方向,但業務流程模型需要借鑑。與追求技術經驗類似,監理策略是組成內部專案團隊,技術與業務全程跟蹤,通過監理學習先進的行業業務理念與模型等。監理的目標是軟體工程的可重複。

顯然,不同的專案條件不同,追求的目標不一樣。我們在策劃外包時,首先應該根據專案具體情況和公司戰略取向,確定要達到主要目標。再來策劃具體的範圍、進度、成本、質量、風險等關鍵過程域和知識域,綱舉目張。 

  3、外包的管理規程 

  “專案管理知識體系指南”(PMBOK)、 “軟體能力成熟度模型”(CMM)和國際標準ISO9000-3中對軟體工程專案外包的管理規範都有原則性設計。 

  其中 PMBOK體系原則上是應用在各個行業的,缺乏針對軟體領域的特點做專門的論述。強調的是外包過程管理的一般原則,操作過程不具體。 

  ISO 9000-3系列是針對軟體領域的標準,但特點是告訴你要按規定做,不強調效果和後續改善。側重水平的評估。怎麼結合企業發展戰略,分析從軟體專案外包中能獲取什麼,已經獲取什麼考慮不多。不利於提高組織級的外包管理水平。 

  CMM則強調軟體公司的過程能力的持續改進,重點關注軟體的開發過程管理和產品管理。其中的子合同管理對軟體外包承諾、能力、過程、測量、驗證有比較好的框架定義。各公司可以根據自身情況,結合內部軟體管理規程,可以制訂出合適的軟體專案外包管理規程和裁減策略。 

  SEI還開發了另一個模型——SA-CMM(軟體採辦能力成熟度模型)。與CMM 不同的是,SA-CMM關注的是作為甲方的軟體能力成熟度。而CMM關注的是作為乙方的軟體能力成熟度。軟體採辦能力成熟度模型也適用於軟體生命週期的各個階段。 

  4、外包管理的組織與過程 

  基於軟體外包管理對外延伸的複雜性,要確保軟體外包的主要目標實現, 並能在組織級外包管理水平不斷提升,我們必須合理地設計與外包相關的組織結構與角色工程介面。反思部分外包專案管理失控現象,發現企業在軟體專案外包管理 方面職責不是很清晰。外包的策劃、承包商的選擇、監理執行等過程中怎麼協同,目前主要取決與客戶經理和高層意志,其他角色基本上缺位或虛位。 

  參考 CMM理念,結合國內軟體工程特點,筆者建議外包(或外包為主)專案還是採用外包管理部門領導下的專案監理負責制比較合適。類似內部實施專案的業務主管部門領導下的專案經理負責制, 

  外包管理部門負責根據專案需求,定義外包需求;策劃外包承包商的選擇;外包合同的擬定;推薦並管理各外包專案監理;執行外包合同,監控專案進展;積累外包獲取的財富;量化評估外包承包商的業績;維護外包承包商關係記錄等。

  市場營銷部門在專案轉入工程實施階段後,向專案監理轉交客戶介面;配合專案監理做好客戶溝通管理;配合專案監理組織好專案各里程碑的提交內容的客戶認可獲取;協同專案監理做好專案驗收工作等。 

  專案管理部門根據公司規範一方面組織專案各方面評審、審批;另一方面從配置、測試、質量等角度做好專案支援與度量,為專案監理定量監控專案進度、把握專案質量、規避專案風險提供支撐。 

  商務渠道部門則配合專案監理做好合同管理,裝置採購,款項支付等工作。

各專案高管根據專案特點,審批決策外包專案需要實現的主要目標;任命評審專案監理;確定監理策略;選定外包承包商;外包合同批准與中止等。

  我們在進行軟體外包專案的管理時,首先要樹立這是一個軟體技術專案的 意識,是公司軟體開發組織的向外延伸。對外包承包商的管理必須面向組織管理,避免個人因素起決定作用。由於涉及甲乙丙三方,公司對外介面務必明確,工作書 面化,規避口頭化、默契化。如果某個外包專案特殊,不便進行過程監理,可以考慮採用銷售專案管理而不是採用軟體外包專案管理。 

  軟體專案外包管理需要涵蓋軟體生命週期中的各個過程。與內部實施專案類似,管理關鍵在於各過程域和知識域的監控。主要關鍵過程如下:
  • 外包合同的內容策劃

  • 外包承包商的選擇 

  • 外包合同簽定 

  • 外包專案啟動 

  • 外包專案監理執行 

  • 外包專案變更控制 

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

相關文章