成,最理想的辦法是在每一個程序模塊完成后,要求外包商把有關程序的源代碼列出,并把有關測試的結果打印出來,讓技術人員和用戶代表核對結果,確認外包商所說的工作已經完成。這確認的手續(xù)跟是否信任外包商完全是兩回事。這么做只是要確認項目的進度已經按計劃順利完成,保證企業(yè)負責人能按時向企業(yè)老總等人匯報項目的準確進度。
驗收要“如影隨形”
外包項目最大的風險并不是在開發(fā)過程中,而是在開發(fā)完成后。很多外包項目往往在進行驗收的過程中,才發(fā)現程序邏輯或者輸入數據欄目的編輯范圍出現問題,導致測試結果與實際所需不符,需要外包商進行大量修改而使項目延誤。有時,外包商會抱怨,認為錯不在他們。避免這類風險,最佳的辦法是在開發(fā)的過程中,驗收也同時進行,而不應等待開發(fā)完成后才進行驗收。
很多企業(yè)在軟件開發(fā)過程中,把驗收列為開發(fā)項目的最后一項工作,其實這種觀念是不正確的。項目的驗收應該跟隨項目的開發(fā)過程同時進行、同時開始、同時結束,才能夠保證最后的驗收過程順利完成。另一個開發(fā)軟件的誤區(qū)是讓開發(fā)人員生成測試數據來進行模塊測試或系統(tǒng)測試。
技術人員對業(yè)務運作的認識有限,只有用戶才真正知道數據所包含的范圍以及哪些信息屬于準確的數據。所以,一個有經驗的項目經理會要求用戶指派代表參與項目的進程,協(xié)助進行模塊和系統(tǒng)的測試工作,并由用戶建立所需的測試數據,再讓技術人員進行測試。每一個模塊所需要的測試數據都應該由用戶代表提供。外包項目的測試工作也應該采用這方法進行才能避免項目交付后出現紛爭。外包商在交付每一個模塊的源代碼列表和測試報告時,需由企業(yè)的用戶與技術人員共同確認,保證測試結果與用戶所提供的數據產生的結果一致,最后系統(tǒng)驗收才能順利完成而不致有重大的延誤。
合理調配時間
管理一個外包開發(fā)項目,比內部開發(fā)更為復雜,需要建立更多的“里程碑”及時來監(jiān)控項目的進度;需要更多的溝通與協(xié)調;更需要企業(yè)員工不斷地配合外包商進度,提供所需的數據以供測試。這些都需要額外的時間來處理。
一般來說,一個內部開發(fā)項目如果需要500個工作天來完成的話,里面有50~75個工作天是項目管理的時間,約占項目總工作量的10%~15%。同樣500個工作天的外包項目則需要外加75~110天的項目管理時間來管理這個外包項目。就是說企業(yè)管理外包商的工作量,是整個項目工作量的15%~22%。當然,這些數據只能作為軟件開發(fā)外包項目參考之用,個別項目與個別外包商都有不同的管理需求。但是,千萬不要假設外包就可以免去管理的需求,這是項目管理不變的定律。