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