軟件供應鏈管理中的首要問題
如今的軟件開發公司經常陷入相互沖突的業務優先級之間。一方面,他們需要幫助各自的組織比競爭對手更快地將創新產品和服務推向市場。另一方面,他們負責交付高質量、高度安全的代碼,幫助他們提高客戶滿意度,并降低風險。最重要的是,開發和質量保證(QA)職能都面臨著越來越大的壓力,需要降低成本并進一步提高效率。所有這些因素構成了軟件開發的完美風暴。展示了Coverity公司確定的軟件供應鏈管理中最受關注的問題。
在Forrester Consulting和Coverity最近的一項調查中,90%的受訪者確認他們使用來自商業供應商、外包團隊或開源提供商的第三方提供的代碼。而且這種趨勢似乎在增加:今天的許多組織都依賴于來自多個來源的軟件代碼。
未經充分測試的第三方代碼可能會導致產品延遲或召回、安全漏洞以及產品和服務的開發時間增加。所有這些都可能對您的收入和品牌產生嚴重的負面影響。在ForresterConsulting最近的一項調查中,只有44%的被調查公司在第三方代碼的開發過程中進行自動化代碼測試,而69%的公司對內部開發的軟件使用自動化代碼測試。只有35%的公司對第三方代碼進行風險、安全或漏洞評估,而70%的公司在其內部開發的軟件上部署這些方法。并且只有35%的公司對第三方提供的軟件進行手動代碼審查,而68%的公司對內部開發的代碼進行手動代碼審查。簡而言之,第三方代碼的測試方式與內部代碼不同。
如今的軟件開發項目的特點是優先級沖突的完美風暴,并且通常包含來自多個來源的代碼混合物。這導致軟件開發生態系統中風險和回報的分配不均。在同一份報告中,Forrester發現,在幾乎每兩個案例中,買方對第三方代碼中發現的質量和安全問題負有100%的責任,而第三方供應商則為十分之一。被追究100%的責任。該研究還證實,開發人員正在承擔額外的責任,超過74%的受訪者表示,與一年前相比,開發人員對質量和安全目標的責任更大。
前面的觀點并不意味著開發團隊沒有做好他們的工作。相反,這些結果強調需要在所有內部和外部供應商之間擴展軟件完整性標準。開發人員測試,包括靜態分析等技術,可以通過讓供應商控制每行代碼的最大缺陷數量來確保這些標準。