【東網集萃·干貨分享】如何避免軟件外包管理中的常見問題?
發布時間: 2016-12-02 11:32:46
文/王智仙 通信研發部
軟件外包是這幾年公司在研發方面的重大管理策略。通過軟件外包以達到降低軟件研發成本的目的。如何在軟件外包管理中達到預期的效果?經過近年參與和管理的外包項目,我總結了以下經驗,避免軟件外包管理的常見問題。
軟件外包廠家是在多家備選廠家中指定最合適的一家。我們通過廠家的研發能力、技術能力、在業內的經驗、在業內的評價 、項目管理能力、人員素質、報價及進度安排等多個維度進行綜合評估。在各種指標均衡的基礎上,價格越低越好,但價格不是第一要素,而應該側重在項目管理能力、人員素質兩個指標上。
為什么說重點在人員素質和項目管理能力?眾所周知,在一個項目的全生命周期內,溝通是很重要的。項目實施過程中,能夠保持和諧的、及時的、有效的溝通是項目成敗的關鍵。所以外包廠家的人員素質水平是很重要,一個溝通能力強、文檔編寫能力強、有責任心的人會在項目上一心一意地投入。同時一個項目管理能力較強的公司,在項目的進度管理、質量管理、風險管理等環節上會增加一份保障。
外包廠家確認后,如何保證產品按時按質交付,主要從需求管理、開發過程監控、軟件系統驗收、項目后期維護幾個方面進行管控:
需求管理
在軟件項目開發的早期,最主要的工作是明確軟件需求,但現實中往往會存在產品經理對企業的業務需求理解不到位,加上業務需求會隨著時間的推移而發生變化,造成軟件需求一直在發生變化,這也會導致項目在外包的過程中出現進度、質量變差的風險。那么如何有效地預防此風險呢?
我們可以采用以下方法來保證軟件需求的開發和需求管理,以提高需求質量:
1、利用原型準確把握用戶界面技術,使系統達到最佳的可用性;
2、從用戶角度出發,描述軟件的功能需求;
3、對需求進行多角度分析,記錄需求變化歷史;
4、控制需求的變更,防止需求蔓延 。
開發過程監控
在軟件外包項目開發中,從需求工作開始到外包廠家交付最終軟件系統,一般只有一次驗收,很多問題要到最后的驗收階段才會暴露出來,同時也難于控制項目的進度,經常導致項目延期。造成這些問題的主要原因是外包項目開發過程不透明,很難監控開發的進展情況。所以在軟件項目開發過程中要設置多個里程碑,在每個里程碑處設有檢驗點,要求采用迭代化軟件開發,通過多種管理辦法進行監控:
1. 制定研發計劃
外包項目確定后,外包廠家根據項目需求說明書、重要里程碑時間點等文檔,輸出詳細的《研發計劃》,并經過雙方修改確認后,外包廠家應當嚴格按照計劃執行,按進度要求完成任務。
在項目執行過程中,出現需求優先級調整,需要馬上進行《研發計劃》調整;
由于外包廠家原因導致進度拖延的,需要及時與甲方明確所調整的時間,并修改研發計劃。
2. 制定溝通機制
外包過程管理,大部分時間都用在溝通上,項目在研發過程中,溝通是必不可少的環節,及時地、有效地溝通,是項目成功的關鍵:
簡單的業務需求交流或問題反饋,可以通過聊天工具QQ/微信直接溝通。問題類要記錄在問題跟蹤列表;
緊急問題處理可形成問題文檔并記錄問題跟蹤列表,并通過電話溝通;
較大問題或業務需求,電話溝通不清楚的,須通過現場當面溝通并形成文檔;
項目負責人每天溝通一次項目情況;
每周一次進行項目匯報交流,可通過視頻會議,有必要的時候需現場當面進行項目交流(問題分析、業務需求交流、進度情況交流)。
3. 匯報研發進度
為及時了解軟件外包項目情況,外包廠家每周必須提交《項目周報》,周報中必須說明本周的任務完成情況、出現的問題以及需協調的事宜。
針對緊急性高的項目,根據項目實際情況要求每天進行工作情況匯報。
4. 監控代碼質量
外包廠家的代碼規范,要嚴格遵循代碼規范,包括包的命名、代碼的注釋,
在項目的執行過程中,對代碼進行抽查。
5. 提交產品測試報告
產品在研發過程中外包廠家必須提交過程產物:
提供功能模塊的單元測試報告;
提供可運行的工程到甲方進行部署驗證;
經過功能驗證,記錄BUG跟蹤列表,并及時信息修復;
所有功能全部研發完成后,外包廠家需要提供完整的項目功能集成測試報告。
6. 反饋及跟蹤問題
項目在研發過程中遇到的問題,需形成問題跟蹤列表。外包廠家每周提交問題的解決情況,緊急問題每天提供問題處理情況,并修改問題跟蹤列表。
軟件系統驗收
當軟件外包項目開發完成之后,對外包廠家所提交的交付系統進行驗收,驗收主要包括驗證和確認兩部分:
1、驗證主要是評估系統在功能上是否和需求定義相一致,檢驗系統在技術上是否達到一定質量標準(可靠性、性能等);
2、確認主要是評估系統是否真正滿足了生產環境和業務運作的需要,這需要將系統部署到實際生產環境中去進行檢驗,并需要業務部門的參與。
除了驗收軟件系統本身之外,還應對系統開發過程中所有的產物如需求文檔、設計模型、測試計劃/報告等進行驗收。
項目后續維護開發
在系統上線之后,應該如何快速響應業務部門的各種變更請求?一方面是新的需求,另一方面在使用中發現的軟件缺陷需要得到及時修正。 由于軟件由外包廠家進行編碼,對軟件缺陷的修正,廠家在免維周期內有義務進行修正;針對新的需求,可與外包廠家簽署補充協議,進行有償支撐。通過簽署長期的合作協議,任務式外包方式是種很好的方式,即可快速響應業務需求,又能互利。