軟件外包技術(shù)的開(kāi)展為非互聯(lián)網(wǎng)企業(yè)開(kāi)發(fā)軟件提供了極大的便當(dāng),不只是大型企業(yè)其中還有許多中小公司,初創(chuàng)企業(yè),想要開(kāi)發(fā)制作一款app應(yīng)用的時(shí)候,都愿意找專業(yè)的app制作定制外包公司合作,或是把整個(gè)項(xiàng)目外包出去,或是自己做UI外包出去,這都表現(xiàn)了人們對(duì)于軟件外包這種方法的認(rèn)可。成本降低30%到50%不是為數(shù)不多因素軟件外包近幾年呈幾何級(jí)數(shù)增長(zhǎng)。據(jù)技術(shù)服務(wù)研究企業(yè)Gartnerg公司估計(jì),2018年底全球軟件外包項(xiàng)目?jī)r(jià)值達(dá)到5000億美元。選擇外包的公司可以降低大約30%到50%的成本。但是節(jié)約成本不是選擇外包的為數(shù)不多原因,而且近年來(lái)這個(gè)因素變得越來(lái)越不重要了。
IT研究企業(yè)Diamond Cluster近的一項(xiàng)研究指出:軟件外包的一個(gè)好處就是可以節(jié)約公司內(nèi)部的資源。通過(guò)軟件外包服務(wù),發(fā)包公司可以安排內(nèi)部人員從事核心的業(yè)務(wù);第二個(gè)重要因素就是可以使用本公司內(nèi)部不擅長(zhǎng)的技術(shù)。相比之下,運(yùn)營(yíng)成本已經(jīng)是企業(yè)外包所考慮的第三個(gè)因素。選擇外包可能基于以上所有益處,但是如果外包關(guān)系出現(xiàn)問(wèn)題,那么所有收益都不會(huì)得到。而如果風(fēng)險(xiǎn)因素沒(méi)有認(rèn)清的話,問(wèn)題是很有可能發(fā)生的。
基本上,在外包項(xiàng)目開(kāi)發(fā)中的風(fēng)險(xiǎn)和下面3個(gè)因素有關(guān):人、流程、政策。通過(guò)鑒別哪里容易發(fā)生風(fēng)險(xiǎn),可以在早期采取措施減輕風(fēng)險(xiǎn)。外包時(shí)常見(jiàn)的風(fēng)險(xiǎn)根據(jù)近對(duì)數(shù)十個(gè)企業(yè)的調(diào)查發(fā)現(xiàn),他們對(duì)軟件外包主要擔(dān)心在以下幾個(gè)方面:溝通困難、提供的開(kāi)發(fā)產(chǎn)品的質(zhì)量、無(wú)法近距離接觸開(kāi)發(fā)團(tuán)隊(duì)、知識(shí)產(chǎn)權(quán)的保護(hù)。很多時(shí)候,我們實(shí)際得到的東西和我們期望的差距很大。一開(kāi)始你就要讓外包公司知道你的要求,從終產(chǎn)品到開(kāi)發(fā)工具。這也是為什么我們一直認(rèn)為項(xiàng)目需求的溝通是所有風(fēng)險(xiǎn)中重要的。
制作公司有哪些錯(cuò)誤的理解需求在進(jìn)行外包時(shí),終收到的卻是糟糕的代碼或者是我們無(wú)法讀懂的文檔。但在大多數(shù)情況下,沒(méi)有達(dá)到預(yù)期效果的原因不是因?yàn)?a href="http://liejuzi.cn/" target="_blank">app外包公司的自身能力問(wèn)題,而是他們誤解了需求。app外包的一大風(fēng)險(xiǎn)就是不能有效的定義項(xiàng)目需求。公司的項(xiàng)目經(jīng)理可能要求開(kāi)發(fā)團(tuán)隊(duì)迅速完成,特別是項(xiàng)目交貨時(shí)間比較緊張的時(shí)候,對(duì)需求分析不夠重視。但是如果忽略初期的項(xiàng)目需求文檔,那么后期就可能產(chǎn)生問(wèn)題,數(shù)量居多且解決起來(lái)花費(fèi)巨大。如果能很好的描述需求,那么開(kāi)發(fā)團(tuán)隊(duì)就能做出滿意的產(chǎn)品。一個(gè)龐大,過(guò)分詳細(xì),可能要花費(fèi)數(shù)月時(shí)間的項(xiàng)目說(shuō)明和只有一頁(yè)紙大小,一點(diǎn)也不充分的項(xiàng)目概念之間是有明確界限的。但是通常,項(xiàng)目在開(kāi)始的時(shí)候?qū)?xiàng)目說(shuō)明的定義越清晰,項(xiàng)目經(jīng)理就越能夠理解你想得到什么,你怎么樣得到,并且完成它。這一步驟有多重要呢?根據(jù)卡耐基梅隆大學(xué)的軟件工程研究所(SEI)的一項(xiàng)研究發(fā)現(xiàn)糟糕的需求定義或者不清晰的項(xiàng)目需求是軟件項(xiàng)目失敗或者延遲的主要原因。應(yīng)對(duì)措施:不要逼迫app外包公司去猜你要做的東西是什么?有許多不同的方法來(lái)完成一個(gè)產(chǎn)品,但是并不是所有的你都可以接受。為了避免失望,你應(yīng)該定義明確的需求。要想減少由于誤解項(xiàng)目需求而產(chǎn)生的風(fēng)險(xiǎn),一個(gè)重要的方法就是在開(kāi)發(fā)正式開(kāi)始之前就要把需求分析作為一個(gè)重要的階段來(lái)做。這需要一系列的討論。當(dāng)然這些時(shí)間花費(fèi)是值得的。項(xiàng)目經(jīng)理在以下3個(gè)階段收集信息提出項(xiàng)目需求:1)收集初的用戶需求:在創(chuàng)建系統(tǒng)用例之前,項(xiàng)目經(jīng)理要會(huì)見(jiàn)用戶,詢問(wèn)他們對(duì)系統(tǒng)期待的特性以及功能。他們需要了解完整系統(tǒng)的商業(yè)需求,從客戶公司搜集高層系統(tǒng)需求和系統(tǒng)包括的用戶界面。2)分析系統(tǒng)需求:包括預(yù)期系統(tǒng)的可接受性、可實(shí)施性、可測(cè)試性。3)檢查需求:包括預(yù)期系統(tǒng)需求的綜合考慮,目的是為了明確需求中發(fā)現(xiàn)的由于模棱兩可或者是不一致而導(dǎo)致的問(wèn)題或者錯(cuò)誤。這份文檔還包括問(wèn)題追蹤以及在問(wèn)題產(chǎn)生后如何處理的計(jì)劃。
2:質(zhì)量保證即使是較好的開(kāi)發(fā)團(tuán)隊(duì)也不能保證寫出的代碼沒(méi)有錯(cuò)誤,這就是為什么質(zhì)量保證外包企業(yè)是非常重要的。當(dāng)把項(xiàng)目外包給一個(gè)不知名的廠商時(shí),一個(gè)大的風(fēng)險(xiǎn)就是這個(gè)廠商是否有充分的質(zhì)量保證和測(cè)試流程。與其等到產(chǎn)品問(wèn)世后去找各種錯(cuò)誤,不如花時(shí)間檢查一下供應(yīng)商做的質(zhì)量保證流程,以減少風(fēng)險(xiǎn)。質(zhì)量保證沒(méi)有完成或者完成的不充分主要有以下3個(gè)原因:
1)外包企業(yè)自己沒(méi)有質(zhì)量保證及測(cè)試團(tuán)隊(duì)
2)項(xiàng)目的完成日期非常緊,質(zhì)量保證測(cè)試完成的非常快以保障開(kāi)發(fā)進(jìn)度
3)廠商沒(méi)有完全理解需求,質(zhì)量保證測(cè)試沒(méi)有覆蓋整個(gè)系統(tǒng)應(yīng)對(duì)措施:首先你要做的是在選擇app外包公司的時(shí)候要確定他們是否有恰當(dāng)?shù)馁|(zhì)保流程,要檢查以下幾個(gè)問(wèn)題:
1)是否有系統(tǒng)實(shí)現(xiàn)對(duì)問(wèn)題/錯(cuò)誤或者系統(tǒng)改變的跟蹤
2)是否有修改錯(cuò)誤的流程
3)是否有合適的監(jiān)控標(biāo)準(zhǔn)和質(zhì)量遵守規(guī)則
4)app外包公司是否對(duì)每個(gè)模塊都進(jìn)行標(biāo)準(zhǔn)單元測(cè)試和回歸測(cè)試
5)軟件是否經(jīng)過(guò)安裝,性能及完整性測(cè)試,實(shí)際運(yùn)行情況如何測(cè)試實(shí)例對(duì)任何開(kāi)發(fā)項(xiàng)目而言都非常重要。實(shí)例可以看出開(kāi)發(fā)出來(lái)的項(xiàng)目是經(jīng)過(guò)測(cè)試的穩(wěn)定版還是錯(cuò)誤百出的測(cè)試版。一旦開(kāi)發(fā)完成,質(zhì)量保證團(tuán)隊(duì)就馬上跟進(jìn)。他們根據(jù)搜集的系統(tǒng)需求制定初的檢查計(jì)劃,依據(jù)該計(jì)劃來(lái)檢測(cè)功能性,可擴(kuò)展性,安全性等問(wèn)題。要測(cè)試兩個(gè)方面,一方面是系統(tǒng)回歸,裝載和容量測(cè)試,另外一方面是用戶接受測(cè)試,每個(gè)方面都要有詳細(xì)的測(cè)試標(biāo)準(zhǔn)。改進(jìn)已完成系統(tǒng)的質(zhì)量的另一個(gè)方式就是檢查工作成果。檢查是對(duì)軟件設(shè)計(jì)或者實(shí)現(xiàn)的詳細(xì)回顧。
花在質(zhì)量保證活動(dòng)上的每一個(gè)小時(shí)可以節(jié)約項(xiàng)目后期的時(shí)間是3到10小時(shí)。也可以讓承包商在開(kāi)發(fā)的每一個(gè)階段都采用成果檢查方法。通過(guò)這種方式,廠商可以快速的檢測(cè)并糾正錯(cuò)誤。通過(guò)定期進(jìn)行回顧式的檢查,在產(chǎn)品開(kāi)發(fā)初期階段就可以迅速地發(fā)現(xiàn)并糾正缺陷。這樣在開(kāi)發(fā)過(guò)程中這可以更好的控制成本并且避免延期。比如,若是到產(chǎn)品構(gòu)建或者維護(hù)階段才發(fā)現(xiàn)缺陷,所花費(fèi)的成本將是初期的50到200倍。
風(fēng)險(xiǎn)3:知識(shí)產(chǎn)權(quán)保護(hù)產(chǎn)品的知識(shí)產(chǎn)權(quán)是公司的重要的資產(chǎn),進(jìn)行外包時(shí)采取措施保護(hù)是非常必要的。有些不道德的公司偷竊你的技術(shù)或者數(shù)據(jù)在市場(chǎng)上出售。但大多數(shù)情況下,這些問(wèn)題通過(guò)仔細(xì)的廠商評(píng)估和采取應(yīng)對(duì)措施可以避免。首先提供給廠商完成項(xiàng)目所需的盡可能少的核心技術(shù)與數(shù)據(jù),評(píng)估選擇的承包商以確保承包商有適當(dāng)?shù)恼呖梢员Wo(hù)數(shù)據(jù)安全。應(yīng)對(duì)措施:要制定政策,同時(shí)也要簽署一份保密協(xié)議,一份同業(yè)禁止協(xié)議以避免app外包公司未經(jīng)授權(quán)盜版你的技術(shù)。
比如,app外包公司可能會(huì)利用他們的私有技術(shù)或者是開(kāi)源技術(shù)開(kāi)發(fā)新產(chǎn)品,而這種新產(chǎn)品是以后的應(yīng)用中可能會(huì)用到的。在這種情況下,提前定義好哪些源代碼屬于公司,哪些屬于app外包公司,哪些屬于客戶并闡明授權(quán)問(wèn)題,這是非常重要的。在開(kāi)發(fā)工程中,一定要使項(xiàng)目開(kāi)發(fā)工程中產(chǎn)生的代碼文檔化,這樣代碼才能變成公司的財(cái)產(chǎn),并受到法律保護(hù)。比較好的app外包公司,比如有些APP外包公司,會(huì)主動(dòng)告知項(xiàng)目的進(jìn)展情況,并且每個(gè)客戶都可以審查該公司。需要檢查的項(xiàng)目包括:公司的設(shè)備安全性如何、開(kāi)發(fā)團(tuán)隊(duì)的所有人是否都和你們公司簽署了保密協(xié)議。發(fā)現(xiàn)上述問(wèn)題并予以解決,那么你就在保護(hù)知識(shí)產(chǎn)權(quán)上邁進(jìn)了一大步。