所謂軟件外包就是一些發(fā)達國家的軟件公司將他們的一些非核心的軟件項目通過外包的形式交給人力資源成本相對較低的國家的公司開發(fā),以達到降低軟件開發(fā)成本的目的。眾所周知,軟件開發(fā)的成本中70%是人力資源成本,所以,降低人力資源成本將有效地降低軟件開發(fā)的成本。那么,在軟件外包項目管理中要注意哪些問題呢?
一、如何選擇外包商
1.公司規(guī)模
a) 具有一定規(guī)模的公司才有可能具有全面的軟件開發(fā)能力,有客戶需要的各類技術高手。
b) 接觸過的企業(yè)比較多,才有可能接觸過很多的項目,積累豐富的經(jīng)驗??梢詫⑵渌拘袠I(yè)知識或是系統(tǒng)架構方面的經(jīng)驗進行分享。
c) 公司的聲譽,財政狀況,招工吸引力等,以保證項目期間無經(jīng)濟困擾,在軟件人才頻繁進出的情況下,有能力招募高手,有錢不斷培訓新人,從而力保高水平完成外包項目。
d) 后續(xù)服務的保障性?;旧?,我們希望的廠商都是要能夠長期合作的,畢竟默契跟關系是需要長期培養(yǎng)的,萬一廠商規(guī)模太小,忽然有一天消失了,重新找廠商以及試運行項目又會是一個不太愉快的過程,更別說以前項目的維護工作可能沒法得到保障了。
2.規(guī)范化。
a) 如果一個企業(yè)做得比較規(guī)范,我們會認為他們更可信。
b) 項目管理能力:
廠商使用的方法論是否完整;是否經(jīng)歷過大量項目的檢驗;是否運用數(shù)字化的管理工具;是否有明確的KPI;是否取得國際級的認證,如 CMMI;比如說獲得CMMI 的認證,在國內好像也沒聽說過誰是真的過不去的,畢竟這個對培訓機構來說也是一種商品化后的服務項目,我的回復一向是:“是的,但是過了總比沒過的好,總是多加了一份保障?!?/span>
3.價格:至于價格當然是越少越好,但不是要考慮的第一要素。Total cost的概念,包括項目的整體成本,以及后續(xù)需要維護的人員成本,是否有加值服務的提供(技術領域以及行業(yè)領域)。最早開始的時候,我們在議價的時候,更多的是考慮每個人天的單價,合作過幾家廠商之后,發(fā)現(xiàn)如果從 Total 開發(fā)成本的角度來看,其實大家能提供的價格還是差不多的,單價低的可能項目周期會比較長,或是項目質量不如單價高的廠商,我們后續(xù)需要的測試以及維護成本加起來,其實成本是非常接近的,所以,還是建議找質量比較好的廠商,不要完全以人天單價或是項目總體價格來當作唯一的考慮點。畢竟省下來的錢是公司的,項目搞砸的 Credit是自己背的。
4.人員素質
溝通能力;英語能力;文檔編寫能力;是否對他專一,有資源一心一意壓在他的項目上,而不要撤東墻補西墻。
5.地域性因素。這點隨著互聯(lián)網(wǎng)的普及以及各式溝通工具越來越多,倒是沒有那么強的影響了,可以考慮在最后才使用這個指標衡量。
6.對你所在企業(yè)的認識。我們的經(jīng)驗是,對你越了解的合作伙伴,越容易培養(yǎng)默契,在項目的合作上也越容易體現(xiàn)出彈性,說的再虛一點的話,最好連合作伙伴的企業(yè)文化也能跟我們比較接近是最好的了,因為不管對方的老板答應你什么,真正干活的還是下面這批人。
二、管理外包商的要點
1.需求管理
在軟件項目開發(fā)的早期,最主要解決的問題就是明確軟件需求,但是現(xiàn)實中開發(fā)商往往很難理解企業(yè)的業(yè)務需求,加上業(yè)務需求會隨著時間的推移而發(fā)生變化,造成軟件需求一直在發(fā)生變化;另一方面,開發(fā)商提供的需求文檔也很難被業(yè)務部門所理解,造成雙方溝通上的障礙。
在軟件外包項目的開發(fā)過程中,可以采用以下方法來保證甲乙雙方進行軟件需求的開發(fā)和需求管理,以此提高需求質量:
? 獲取定義業(yè)務詞匯
? 從用戶角度出發(fā)