軟件項目外包其實質是軟件開發過程從公司內部部分或全部延伸到公司外部的管理規范與管理技術。與內部實施相比,管理難度有過之而無不及。在實踐中,也有很多公司在外包之初,設想得很好,以為可以一包了之,但最終卻落得個錢花了不少,項目卻一點也推不動,或者拿到的根本就不是所想要的。
為了促進探索企業在軟件項目外包管理的規范化,本文結合筆者所在的公司在外包項目中得失,對如何成功地達到軟件項目外包的目標,以及相關的策略、監理等要素進行分析,謹供參考。
外包中的監理
歐美企業愿意向印度、愛爾蘭、中國等軟件生產“藍領”國家進行軟件外包時,并非意味著它們不能開發,而是他們不開發,原因很簡單,就是節省成本和控制質量。此類外包的發包方位處強勢,全程可控,也形成了嚴格而規范的流程。而回首國內企業的軟件工程外包,背景就復雜得多。
有的是“主動外包”,強勢出擊,客戶可控;有的是“被動外包”,策略聯盟,短板受制;有的則是“綁架外包”,客戶指定,余地甚微。面對不同類型的外包動機,我們在討論外包風險時容易陷于甲方店大欺客或丙方反仆為主之類的表象,缺乏對外包目標的準確定位。目標不明,導致以監理為核心的外包管理很容易“左傾”控死(丙方)和“右傾”失控(于丙方),最終結果是無法向甲方兌現自己作為乙方的承諾。
因此,因此我們進行軟件工程項目外包時,一定要根據動機類型,結合甲方丙方特點,理清目標定位。繼而選擇監理策略,確定監理規范與流程。公司通過外包要達到的主要目標可以分為:
1、求名。為了打開行業局面,取得戰略突破,在競標過程中一切為了“中標”,甲方指定能接受?梢詿o實,但必須有名。中標后非不為,實難為,必須外包。監理的策略底限應該是盡量避免項目失敗,控制資本面的風險。
2、追求利潤。該軟件工程非公司長期發展方向,中標后非難為,實不為。尋求外包,降低成本,獲取軟件工程項目邊際利潤;蛘哒w中標,硬件盈利,軟件外包。監理的策略是里程碑產品質量可控,及時發現問題。
3、技術經驗。該軟件工程為公司發展方向,但技術層面存在“短板”。外包的目標是通過監理掌握技術,吸收精華。監理策略是組成內部項目團隊,技術層面全過程跟蹤。行評審審核之名,圖技術學習之利。
4、行業業務。該軟件工程為公司發展方向,但業務流程模型需要借鑒。與追求技術經驗類似,監理策略是組成內部項目團隊,技術與業務全程跟蹤,通過監理學習先進的行業業務理念與模型等。監理的目標是軟件工程的可重復。
顯然,不同的項目條件不同,追求的目標不一樣。我們在策劃外包時,首先應該根據項目具體情況和公司戰略取向,確定要達到主要目標。再來策劃具體的范圍、進度、成本、質量、風險等關鍵過程域和知識域,綱舉目張。
外包的管理規程
“項目管理知識體系指南”(PMBOK)、“軟件能力成熟度模型”(CMM)和國際標準ISO9000-3中對軟件工程項目外包的管理規范都有原則性設計。其中PMBOK體系原則上可以應用在各個行業的,缺乏針對軟件領域的特點進行專門的論述。強調的是外包過程管理的一般原則,操作過程不具體。
ISO 9000-3系列是針對軟件領域的標準,但只是告訴你要按規定做,不強調效果和后續改善。側重水平的評估,而如何結合企業發展戰略、分析從軟件項目外包中能獲取什么、已經獲取什么等考慮不多。不利于提高組織級的外包管理水平。
CMM則強調軟件公司的過程能力的持續改進,重點關注軟件的開發過程管理和產品管理。其中的子合同管理對軟件外包承諾、能力、過程、測量、驗證有比較好的框架定義。各公司可以根據自身情況,結合內部軟件管理規程,可以制訂出合適的軟件項目外包管理規程和裁減策略。
SEI還開發了另一個模型——SA-CMM(軟件采辦能力成熟度模型)。與CMM 不同的是,SA-CMM關注的是作為甲方的軟件能力成熟度。而CMM關注的是作為乙方的軟件能力成熟度。軟件采辦能力成熟度模型也適用于軟件生命周期的各個階段。
外包管理的組織與過程
基于軟件外包管理的復雜性,要確保軟件外包的主要目標實現,并能在組織級外包管理水平不斷提升,我們必須合理地設計與外包相關的組織結構與角色工程界面。反思部分外包項目管理失控現象,發現企業在軟件項目外包管理方面職責不是很清晰,外包的策劃、承包商的選擇、監理執行等過程中怎么協同,目前主要取決與客戶經理和高層意志,其他角色基本上缺位或虛位。
參考CMM理念,結合國內軟件工程特點,筆者建議外包(或外包為主)項目還是采用外包管理部門領導下的項目監理負責制比較合適。類似內部實施項目的業務主管部門領導下的項目經理負責制,外包管理部門負責根據項目需求,定義外包需求;策劃外包承包商的選擇;外包合同的擬定;推薦并管理各外包項目監理;執行外包合同,監控項目進展;積累外包獲取的財富;量化評估外包承包商的業績;維護外包承包商關系記錄等。
市場營銷部門在項目轉入工程實施階段后,向項目監理轉交客戶接口;配合項目監理做好客戶溝通管理;配合項目監理組織好項目各里程碑的提交內容的客戶認可獲;協同項目監理做好項目驗收工作等。
項目管理部門根據公司規范一方面組織項目各方面評審、審批;另一方面從配置、測試、質量等角度做好項目支持與度量,為項目監理定量監控項目進度、把握項目質量、規避項目風險提供支撐。
商務渠道部門則配合項目監理做好合同管理,設備采購,款項支付等工作。
各項目的高級管理人員根據項目特點,審批決策外包項目需要實現的主要目標;任命評審項目監理;確定監理策略;選定外包承包商;外包合同批準與中止等。
文章來源于領測軟件測試網 http://www.kjueaiud.com/