外包是企業利用外部專業資源為已服務,從而達到降低成本、提高效率,充分發揮自身核心競爭力,乃至增強自身應變能力的一種管理員模式,同時也是現代社會非常重要的一種商業模式。但外包也有一定風險:外包品質不易保證,外包管理需花費更多資源,公司資訊泄露,系統靈活性降低等。由於外包商本能地趨向於控製成本以提高自身的利潤,所以需要委託方和承包方對外包管理規範達成共識,才可能有效地管理整個外包過程,使得雙方共同獲益,在這種情況下才有可能使得收益最大化。
在立項階段,產品負責人應當進行"Make or Buy決策”,確定待開發產品的哪些部分應當“採購”、“外包開發”或者“自主研發”。非核心業務盡量外包,核心業務自己做,因為核心業務決定產品品質,並且具有一定保密性,外包風險較大。
選擇外包商時,並不能單以服務價格來做最終決定,企業應根據自身對軟體品質的要求來決定服務的代價。對外包商應從其技術能力、領域知識深度、企業文化、以前是否開發過相類似系統、開發平台和環境等方面評估,評估時還必須提供對外包中所可能產生風險的警覺,以及有效管理風險的辦法。
外包分兩種:部分外包和整體外包。前者管理方法和企業內部軟體開發管理方法差不多,風險也比較小;後者企業需要瞭解自身是否可以提供優質的規格說明,是否能夠提供外包商所需的品質標準和測試資料,外包商是否有類似企業本身的開發平台和環境,以及外包商的技術資源水平是否與企業內部開發時所需的技術指數相符等,風險比較大。確定適合自己企業的外包業務模式,是避免風險,實施項目外包的先決條件。
選擇外包時,企業要充分瞭解自己的項目,其中包括項目需求、實現方法和預期經濟利益來源。
選擇外包商時,採用分而治之的辦法,把一個大的外包項目分給若干廠商,而不是一個廠商來完成。這樣每個廠商就可以發揮自己的特長,承接適合自己的外包項目,減少風險。同時,多個廠商分而治之的方法也可以造成各個廠商之間相互制衡,避免外包項目拖延。
簽訂外包合約時,企業應該提供完整的軟體系統規格說明,建立好品質指標和測試流程,爭取建立良好的合作模式,能否建立這種合作模式往往決定外包的成敗。在合約簽訂和項目啟動前,雙方應就項目的工作範圍達到明確的一致意見,否則項目實施時會有很多不清楚的地方,驗收時將會出現由於專案範圍理解不一致而帶來的很多麻煩。合約簽訂時外包中各個裡程碑的確認評審時間應該有一定的柔性,否則經過幾個延期的確認評審,項目實際進度已經和原來合約規定的要求大相徑庭。
項目外包期間,應該建立風險管理機制,包括制定風險管理計劃,識別可能發現的風險,分析風險產生的原因並制定相應的應對措施,制定完善的風險監督和控制機制,從而降低風險的副作用,化風險為機會,爭取收益最大化。
項目外包期間,還應該建立合約管理小組。供應商的合約和服務經理,以及本企業的合約經理都應該參與其中,形成一個拱形的控制團隊。該部門具有一定獨立性,監督項目是否按照合約要求實施,提出項目實施中的缺陷和改正方案。該小組可以作為企業和外包商的溝通橋樑,消除理解的不一致性。