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