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