外包專案一般比較難以管理,由於不是自己來進行具體實施,專案在進行中出現的各種問題對甲方不透明,造成專案的成敗往往掌握在承接方手裡。這樣就常會有進度超期、質量不符合要求、甚至工作結果根本不符合甲方需求等情況的發生。如何去應對?
首先要意識到無論什麼樣的專案,在實施過程中都會出現各種各樣的問題,如果不去主動跟蹤,很多問題可能會一直潛伏到驗收的時候才浮出水面。從甲方的角度來看,發現問題一定要早,不要等到交付期時才發現,到時恐怕已經無法挽回。越早發現問題,改正的成本越小;越到專案的後期,改正的成本越大,給專案成功帶來的風險也越大。所以,甲方一定要建立對外包專案的跟蹤控制機制,貫穿實施的全部過程。
其次,軟體專案不僅應滿足功能性需求,還應該滿足可維護性、可靠性和復用性等軟體工程上的質量要求。對於承接方的實施人員來說,專案的實施具有一次性,自己不是專案成果的使用者,甚至也不是後期維護的維護者,所以沒有進行長遠打算的驅動力。而這些質量特性都需要在實施過程中的計畫、設計和編碼環節進行綜合考慮,但承接方為了趕進度、省成本,可能對此並不太重視,認為能夠對付合同上規定那些條款也就足夠了。這樣就造成了軟體在交付後,出現問題難以維護。等過了一年維護期後,使用者自己對軟體維護就更難以進行。對此,甲方要參與到承接方的質量管理中去,要求承接方建立質量保證計畫並嚴格實施。
再次,很多時候甲方並不從事於軟體行業,而只是軟體專案成果的使用者,對軟體開發的知識並不了解。所以對於承接方採取的開發流程、技術方法和質量難以衡量。甚至由於甲方介面人員並不懂軟體開發領域知識,在同乙方討論時,被對方丟擲的一大堆術語、技術細節所淹沒,但為了維護自己的自尊心,出現不懂裝懂,胡亂應付的做法,或者乾脆就任由乙方去進行各種決策,自己完全撒手不管,讓乙方完全掌握主動權。最後在驗收後才發現專案結果不能完全符合自己的需要,或者存在這樣那樣的問題。為防止這種情況的發生,甲方首先要客觀面對自身的弱點,選擇對軟體開發行業熟悉、且有一定經驗的人作為介面人(甚至可以外聘專案監理),並建立一套正規的外包專案管理制度和方法,從制度和人兩方面來保證專案的正確實施。
與院校等科研學術性單位進行外包合作,尤其要注意,由於這些單位的工作多屬研究性質,他們對軟體功能上比較重視,也就是要求能走通就行,而對工程上的特性並不願多投入。所以他們所完成的軟體,如果不加控制的話,後期會很難維護和復用。另一點,由於院校的很多專案是導師指導學生來完成,而學生具有流動性,且水平基本上都處於新手水平,開發經驗不多,所以開發質量、後期bug的跟蹤和修復方面是個風險。而且,院校、科研院所等單位往往工作節奏不快,在進度上也不能太樂觀。
具體來說,甲方要從以下幾方面來保證外部專案的成功實施:
1、範圍管理
甲方的需求提出的越詳細清晰、越沒有二義性,越有利於乙方展開工作,降低專案風險。如果甲方不能夠在專案開始階段就提出足夠細緻的需求(很常見),那麼可以在實施推進過程中逐步細化,也可要求乙方建立原型來輔助需求的深度挖掘。
撰寫詳細的軟體規格說明文件,作為乙方的範圍基準。
要求乙方根據工作範圍建立wbs和相應的工作量估計,從而有利於甲方的對專案的跟蹤。
2、進度安排
根據wbs和工作量估計,制定進度計畫,並以圖表的方式表現出來,作為甲方跟蹤的依據。
對遠期的工作要求有大致的進度計畫,對近期的工作要有詳盡的進度計畫。
為了降低專案的風險,可以要求乙方對軟體進行分階段交付,設定多個里程碑,每個里程碑交付軟體的一部分。每次交付驗收後,乙方可繼續開發其他部分,而甲方可將交付的部分投入更詳盡的測試,或者進行現場實測。這樣做的好處就是,將專案交付的風險分攤在整個實施過程中,而不是最後交付的那一刻。
分階段交付的另乙個好處是,通過前期的交付,甲方可以對乙方的各方面情況有更充分的了解,例如開發人員穩定性、技術及管理水平、乙方對專案的態度等等。如若發現乙方的資質完全不能滿足專案開發的要求,應該立即取消專案,從而避免更大的投入損失。
3、質量管理
軟體的質量取決於參與實施的每乙個成員,以及涉及到開發的全過程。尤其重要的是,在專案的前期計畫中一定要充分認識到質量的重要性,並制定相關計畫,採取措施以保證質量指標的實現。
對於甲方來說,由於不直接參與設計與編碼,所以對軟體的內部質量除要求乙方實行質量保證措施外,較缺乏直接控制的手段。所以甲方要多在系統測試方面下功夫,對於提出的各項需求,做好相應的測試用例,任命專門的驗收測試人員。在軟體的非功能性指標方面,也要想辦法對乙方施加影響。
4、溝通管理
為了能夠及時掌握外包專案的狀態資訊,需要與乙方進行定期和非定期的、各種形式的溝通,出現問題及時能夠發現,降低專案失敗的風險。對於乙方來說,出於某些原因,並不願意與甲方完全共享專案實施的情況,除去那些做非正常手腳等情況不談,乙方害怕甲方過多了解專案實施情況後會有進行微觀干預的衝動,指手畫腳結果把工作弄得一團糟。所以甲方要認識到溝通的目的不是為了隨時插上一腳,而是為了確保自己對專案的進行充分知情,不要有大問題發生後自己卻蒙在鼓裡。與乙方的交流要建立在互相尊重、信任和實事求是的基礎上,對事不對人,盡量不要讓乙方產生防備心理。畢竟每天在第一線工作的是乙方的人員,如果他們由於害怕受到批評而想隱瞞的話,甲方是很難控制的。
5、乙方人員安排
雖然說負責實施的是乙方,具體的人員安排由乙方來定,但專案都是由人來實施的,人員的安排對於專案成敗至關重要,作為專案成果的使用者,要對此心裡有底。我們要看乙方人員安排的是否合理,具體要看乙方人員是否具有足夠的軟體開發方面的專業能力,對專案業務領域的知識是否掌握,乙方專案組長是否有足夠的軟體開發和專案管理的經驗和能力,人員是否足夠,乙方對專案投入的是否足夠多等等。國內的現實是,業餘的專案組長和程式設計師佔軟體開發人員的大部,開發方法基本上是code-and-fix,讓他們來主導實施的話,容易讓專案走向混亂。作為甲方不可能改變業界的現狀,只能盡力做到心中有數,盡可能施加影響,讓合適的人來做合適的事。
6、風險管理
7、變更控制
8、驗收管理
9、專案跟蹤與控制
10、專案管理文件
11、乙方專案管理水平保證
專案外包軟體專案管理之我見
2005.08.23 來自 考研教育網 專案外包有很多優點,但最主要的一點也許並不是為了降低開發成本,而是為了解決企業內部人力資源的限制,使得企業不用招聘新員工就可以上馬大型專案。本文作者在專案管理方面有十多年的實踐經驗,他將為我們舉例說明曾經面臨的困境,接著條分縷析找到原因並指出解決方法。一次失敗...
專案外包軟體專案管理之我見
來自 考研教育網 專案外包有很多優點,但最主要的一點也許並不是為了降低開發成本,而是為了解決企業內部人力資源的限制,使得企業不用招聘新員工就可以上馬大型專案。本文作者在專案管理方面有十多年的實踐經驗,他將為我們舉例說明曾經面臨的困境,接著條分縷析找到原因並指出解決方法。一次失敗的經歷 在亞洲四小龍經...
軟體外包專案管理實務
筆者過去曾經與一流的北京.net好手及台灣architect共創夢幻團隊,來成就企業主的跨國資訊系統,這期間考驗了團隊每個成員的溝通能力 彈性程度 設計能力 實作能力及測試能力,透過同步設計 co design 外包模式的執行,讓團隊每個人均能大展長才。為達到此目的,專案管理由過去對簡單的同組織單一...