2021年如何外包軟件開發
已發表: 2021-10-05如今,企業家對軟件開發外包的看法不一,這是有充分理由的。 2007 年外包給 IBM 的薪資應用程序開發項目失敗,昆士蘭衛生部門損失了 12 億美元。 另一方面,對美國的外包開發讓中國公司阿里巴巴的創始人馬雲在 2019 年帶來了 560 億美元的收入。
馬知道昆士蘭衛生局不知道什麼? 在本文中,您將了解如何降低軟件開發外包的風險,如何選擇正確的外包模式,以及如何將軟件開發外包以將您的項目變成一項成功的業務。
是什麼阻止了公司將軟件開發外包?
經歷過與錯誤的軟件開發外包機構合作的影響的人的故事是相似的。 一位企業家迷上了無人能及的價格和極短的發展期(在大多數情況下,兩個月)。 但無論是兩個月還是六個月,都沒有奇蹟發生,代碼審計顯示該應用程序完全無法使用。 幾個月的工作和數千美元被扔出窗外。 最糟糕的是,對於大多數創業者來說,沒有第二次機會從頭開始項目開發,因為缺錢或錯過了發布產品的合適時機。
這就是為什麼您應該了解外包軟件開發時可能面臨的五個主要問題,並為自己提供解決方案。
問題#1。 支持錯誤的馬
據 Clutch 稱,您可以外包給 200,000 家軟件開發機構。 如果您只使用兩個過濾器(價格和截止日期)來搜索遠程開發團隊,您可能會覺得自己像個糖果店裡的孩子。 要做出正確的選擇,您應該添加更多標準:
以往作品的質量
使用的軟件開發生命週期模型
代碼質量(應符合既定標準)
團隊規模和時間分配的靈活性
開發過程的透明度
過去和現在客戶的評論
願意捍衛他們的產品願景
您添加的條件越多,您進行的搜索就越徹底,找到合適的外包軟件開發公司的機會就越大。
問題#2。 溝通不暢
外包軟件開發的核心優勢在於,它使您能夠接觸到全球人才庫。 但反過來,這可能會導致外包的主要問題之一——溝通不暢。 由於時區差異、語言技能差和文化差異,您和遠程團隊之間可能會產生誤解。
你能做些什麼來降低溝通不暢的風險? 以下是一些提示:
通過 Google Meet、Zoom 或 Slack 等音頻或視頻通信工具編制定期會議計劃。
鼓勵內部團隊和第三方團隊之間的溝通。
使用 Jira 和 Asana 等協作工具。
尋求專職項目經理的幫助。
使用軟件需求規範 (SRS) 闡明您的項目需求。
起草用戶故事以從一開始就闡明項目範圍,並確保您的軟件開發團隊成員理解所有功能。
您可以委託公司進行產品開發的最明顯跡像是在談判過程中感到被傾聽和理解。 繼續尋找將軟件開發外包給的公司,直到你有這種感覺。
問題#3。 讓 QA 完全由您的外包團隊負責
第三方開發公司應該控制他們開發的軟件產品的質量。 但如果他們不這樣做呢? 訣竅是您可以外包軟件開發,但不能外包軟件產品的責任。
您應該採取以下步驟來控制您的外包內容:
為您的軟件產品定義發布標準(可以包括基於時間和基於項目的性能指標)
查看測試計劃,包括應用於您的產品的測試用例和測試類型
選擇一個錯誤跟踪系統來監控 QA 流程(例如 Jira、Monday 或 Backlog)
在開始開發之前,最好與您的遠程團隊就產品審查和測試的頻率達成一致。 可以肯定的是,您決定第一次測試產品質量的那一天不能是產品發布的前一天。
問題#4。 代碼質量問題
使用由您外包軟件開發的第三方公司提供的不合標準的代碼有什麼問題?
您的外包合作夥伴將是唯一了解代碼的人。 這意味著您將受制於他們,而沒有機會更換您的開發合作夥伴。
您需要確保您外包給的軟件開發公司:
遵循行業標準(例如 ISO 標準)
遵循編碼標準(例如 MISRA、CERT)
使用自動靜態分析器來確保遵循編碼標準
維護與源代碼相關的技術文檔
要評估您的潛在外包團隊使用的代碼,您可以查看他們的Git 存儲庫。
問題#5。 機密數據洩露
請注意,機密數據洩露可能發生在開始階段、開發過程中以及發布後階段。
如何防止數據洩露? 確保您僱用的外包軟件開發公司將:
簽署保密協議(NDA)
在您的聯繫人中插入知識產權 (IP) 保護
僅使用許可軟件並定期更新
將所有源代碼存儲在內部服務器上,僅允許通過 VPN 或專用網絡訪問
通過使用正確的方法選擇外包公司,您可以避免大多數問題並充分利用第三方團隊的專業知識。 但“最”究竟是什麼意思呢? 讓我們看看外包軟件開發能給您帶來哪些好處。
外包軟件開發的優勢
全球十分之八的企業對其外包關係持積極態度,包括 GitHub、Opera、WhatsApp、Basecamp、Skype、阿里巴巴、Slack 和谷歌。 您是否同意這樣的商業巨頭只有在有充分理由的情況下才會將賭注押在外包上?
德勤的全球外包調查突出了外包軟件開發的前五個原因。 讓我們來看看。
優勢#1。 降低成本
與內部開發相比,外包軟件開發使您能夠以更低的成本獲得更高的質量。
2019 年, 《紐約時報》公佈了人力資源機構 OnContracting 的估計,該機構表示,外包軟件開發而不是僱用全職員工可以為科技公司每個工作每年節省 10 萬美元。
如果您想知道外包服務可以節省多少錢,請聯繫我們,我們將為您提供免費估價。
優勢#2。 靈活性
大多數軟件開發外包公司同時從事多個項目,而且員工人數超過一個項目的需求。 這對你有什麼用?
假設您決定製作一個像 Clubhouse for iOS 這樣的語音聊天應用程序。 您將軟件項目外包給由五名專家組成的開發團隊,其中包括一名項目經理、一名設計師、一名 iOS 開發人員、一名後端開發人員和一名質量保證 (QA) 工程師。 工作 1,240 小時後,他們會啟動您的應用程序,它變得和 Clubhouse 一樣受歡迎。 現在,您至少需要一名 Android 開發人員才能在另一個平台上複製成功。 如果您正在與外包公司合作,則不必擔心縮小技能差距,因為您的開發合作夥伴應該已經擁有一名技術嫻熟的 Android 開發人員。
外包軟件開發的好處在於,它為您提供了機會,根據您的項目需要,快速招募到盡可能多的熟練專家。
優勢#3。 上市速度
當今殘酷的商業環境要求您快速將產品推向市場,這不僅是因為有人跑得比您快,而且是為了快速帶來收入。 如果滿足以下條件,您將能夠執行此操作:
您聘請了一支人員配備齊全的團隊,該團隊使用經過驗證的開發方法
您聘請的 IT 專家是您所在領域的專家
您消除了耗時的招聘、入職和培訓
外包軟件產品開發滿足所有三個條件,使您的產品開發能夠像許多初創公司一樣飛速發展。 這裡有些例子:
由於外包軟件開發,電子商務平台 Fab 在兩年內的銷售額從零增加到 2.5 億美元。
Groove 的創始人亞歷克斯·特恩布爾 (Alex Turnbull) 決定將產品開發外包,並準備在四個月內發布應用程序。 三年後,Groove 的收入為 500 萬美元。
為了在 2020 年產生 6.3 億美元,在早期階段,Slack 聘請了一家外包公司。 他們在六個月內改進了公司的網站和移動應用程序。
這些例子只是杯水車薪。 如果外包軟件開發對這些項目很有效,為什麼它不應該對你的項目同樣有效?
優勢#4。 接觸專家
為了開發您的項目,您可以要求具有特定專業知識的精明軟件工程師 - 例如,在人工智能 (AI)、機器學習或增強現實 (AR) 方面。 一旦您有一個完整的世界可供探索,就更容易找到合適的技術人才。
當宜家決定創建 IKEA Place 應用程序時,他們的員工中既沒有移動開發人員,也沒有網絡開發人員。 該應用程序旨在讓用戶能夠在他們的房間中虛擬地安裝一件家具,看看它的外觀——也就是說,實現增強現實技術。 2017 年,這是一項革命性的技術,需要具有非凡技能的專家。 宜家將開發外包給一家擁有 6 年創建 AR 應用程序經驗的公司,並在九週內收到了一個完全成熟的移動應用程序。
無論您的項目多麼複雜,外包市場都為您提供了與全球 2400 萬軟件開發人員的聯繫,因此無法為您的項目找到合適的專家的風險微乎其微。
優勢#5。 敏捷
如果外包軟件開發的靈活性是為了適應項目的規模,那麼敏捷性意味著快速適應外部變化。
立法。 2021 年,歐盟計劃推出兩項新法律——《數字服務法》和《數字市場法》——旨在阻止惡意內容的傳播並改善競爭。 在其他地區,類似的法律已經生效。
地方限制。 馬雲將阿里巴巴的開發外包給美國供應商的原因之一是中國政府設置的互聯網限制。
流行病限制。 根據德勤 2020 年全球調查,當今的企業開始認識到質量、速度、靈活性和成本比實際位置更重要。
當您將軟件開發外包給一家敏捷公司時,這意味著您將獲得一個合作夥伴:
- 可以快速響應意外變化
- 生成快速而有效的解決方案
- 具有持續的競爭優勢
- 授予短期和靈活的合同
現在您已經了解外包軟件開發的主要風險和好處,您可以就是否外包做出平衡的決定。 但讓我們面對現實——您已經很好奇從哪裡開始您的軟件開發外包流程,對嗎?
最好首先闡明哪種軟件開發外包模式最適合您企業的數字化轉型。
三種軟件開發外包模式:優缺點
外包軟件開發服務似乎很簡單:你付錢給第三方公司為你開發一些東西。 但是交互和支付的方式取決於您的項目範圍、您可以投入到開發過程中的時間以及您準備分配的預算。
讓我們找出三種主要外包模式中的哪一種最適合您的核心業務需求。
模型 1 — 固定價格
當您嚴格定義了項目要求和截止日期時,可以使用固定價格外包模式。 對於固定價格開發,您和您的第三方開發團隊需要就項目開發的合同要求、階段和條款以及外包軟件開發的成本達成一致並精心寫入。 通過簽訂合同,您可以從頭到尾信任您的遠程開發人員,同時保證價格在開發過程中或項目實施後不會發生變化。 固定價格合同還意味著在開發過程中,您不能更改或添加未經批准和未寫入合同的需求。
固定價格外包模式
優點 | 缺點 |
---|---|
無額外費用 | 耗時的準備 |
無監督 | 對開發的控制較少 |
低風險 | 無法做出改變 |
模型 2——時間和材料
您是否同意一開始就很難預測項目的成功或失敗,尤其是對於長期項目? 試圖明確定義哪些對您的項目有效,哪些無效,您可能會感到無助。 您將清楚地了解到,在項目開發過程中,將有多項更改等待您和您的第三方開發團隊。 為了應對這些變化,您需要簽署一份時間和材料外包模型提供的敏捷合同。 時間和材料合同允許您在開發過程中隨時根據您的業務需求更改需求,並且只需為開發所花費的實際時間和精力付費。
時間和材料外包模式
優點 | 缺點 |
---|---|
快速開始 | 模糊的截止日期 |
做出改變的能力 | 難以預測的預算 |
可部分付款 | 耗時的討論 |
模型 3 — 敬業的團隊
在大多數情況下,要將復雜的長期項目變為現實,您需要一個內部開發團隊。 在這種情況下,您將完全控制開發過程,您的內部團隊將只專注於您的項目。 這一切都很好,但如果您的內部開發人員的技能不足以實施您的項目,並且您不想參與尋找技術人才的費力過程,該怎麼辦? 專門的團隊外包模式可以讓您擺脫困境。
要找到您需要的專家,您可以求助於軟件外包公司。 公司可根據您的要求,快速篩選候選人,經您批准後,組成專職團隊。 與您的內部團隊一樣,專門的團隊將只為您的項目工作。 您需要為“借用”的每位專家按月支付費用,包括為外包公司支付的固定服務費。 控制您的項目進度以及開發人員的數量仍然掌握在您的手中。
專屬團隊外包模式
優點 | 缺點 |
---|---|
完全控制 | 昂貴的 |
做出改變的能力 | 難以預測的預算 |
可部分付款 | 耗時的討論 |
您應該選擇哪種外包模式? 為了幫助您做出正確的選擇,我們準備了一個摘要:
外包軟件開發的正確方法
現在是時候讓軟件開發外包過程對您來說既甜蜜又簡單。
為此,我們將其分為七個步驟,並附有提示以順利完成它們:
步驟 1 — 定義您的項目目標和要求
您需要盡可能清楚地定義您的項目要求。 首先,這可以幫助您明確要開發的內容。 其次,它可以幫助您選擇的外包軟件開發團隊更好地理解您的想法。
步驟 2 — 研究最適合外包的國家
您可以在陸上(在您自己的國家/地區)、近岸(在鄰國)或離岸(在不同時區的國家/地區)找到軟件開發外包合作夥伴。 什麼選擇最適合您? 選擇外包合作夥伴並非易事,選擇參數多種多樣。 我們將下一段完全用於這一步。
第 3 步 — 在您選擇的國家尋找最好的外包公司
您可以使用 Clutch、GoodFirms 和 Upwork 等工具選擇給定國家/地區最可靠的外包公司。 他們可以為您提供有關潛在合作夥伴的大量信息,包括:
- 專業水平
- 以往項目
- 來自可靠客戶的評論
- 費率
- 評分和獎項
- 上市時間
第 4 步 — 聯繫三到五個潛在合作夥伴
根據對 Clutch、GoodFirms 和 Upwork 的評級以及您的個人喜好,選擇三到五家頂級公司並與他們聯繫。
步驟 5 — 選擇最佳選項
開始外包最安全的方法是在委託他們開發整個項目之前,先用一個小任務測試外包公司。 您可以要求公司設計徽標、製作登錄頁面或創建用戶角色。 如果該公司在正式確定關係之前願意繼續約會幾次,這意味著您正在路上。
第 6 步 — 簽署合同
討論哪種類型的外包模式可以讓雙方滿意,並將您的協議寫成紙上談兵。 軟件開發外包中最常用的文檔有:
- SLA (服務水平協議)
- SRS (軟件需求規範)
- SOW (工作說明書)
- NDA (保密協議)
步驟 7 — 監控開發過程
在您的第三方團隊深入開發過程之前,請先了解以下內容:
遠程會議時間表
檢查中間結果的時間表
軟件產品開發的大致預算
您將能夠從您的終端遠程控制開發過程,將中間結果與商定的要求和規範相匹配,從而增加獲得所需內容的機會。
外包軟件開發的成本
以下是您可以用來尋找最佳外包軟件開發公司的部分服務列表:
2016 年 HackerRank 對 50 個國家/地區超過 150 萬開發人員的調查顯示了哪些國家/地區擁有最好的程序員。
2020 年 TopCoder 圖表顯示了基於評分最高的編碼員的一般國家評分,並比較了全球 28 個國家/地區。
2019 年科爾尼全球服務定位指數根據四個類別對不同的軟件開發外包區域進行比較:財務吸引力、技術專家的技能和可用性、商業環境和數字共振。
這些服務可以改變您對外包市場的看法。 儘管美國被認為是編程天才的故鄉,但美國的開發人員並不是最熟練的。 來自亞洲和非洲的開發人員最便宜,但可能會遇到用英語交流的問題。 印度 IT 專家的集中度增長最快,但他們在 PHP 和 HTML 測試中的得分較低。
要選擇中間地帶,請仔細看看東歐。 它擁有豐富的技術機構,擁有100萬名具有中高級英語或更高水平的熟練開發人員,並提供中檔的離岸開發率。
將軟件開發外包給東歐公司需要多少錢? 我們以每小時 35 美元的價格為不同的業務領域制定了一份大致成本清單:
開發一個醫療網站的成本從 35,000 美元到 65,000 美元不等,需要三到六個月的時間。
開發健身移動應用程序的起價為 63,770 美元,需要三到六個月的時間。
定制 CRM 軟件開發至少需要 46,000 美元,需要四到六個月的時間。
建立一個流媒體視頻網站的成本將從 66,500 美元起,開發大約需要 6 個月的時間。
開發像 Instacart 這樣的雜貨應用程序可能需要 62,000 美元,需要三到五個月的時間。
外包軟件開發:結論
與任何其他服務一樣,軟件開發外包也有顯著的成功和失敗。 在本指南中,我們收集了重要的指示和建議,以幫助您避免負面的外包體驗。
考慮像魔術棒一樣外包軟件開發。 如果你能找到一家值得信賴的軟件外包公司——瞧! 幾個月後,您將獲得一個完全成熟的適銷對路的網站和/或移動應用程序,同時又不超出您的預算。 為了讓奇蹟發生,請聯繫我們進行諮詢。