500位軟件開發工程師的聲音:微服務和CI/CD依舊是最愛

近日,Atlassian發佈軟件開發相關調查報告,本報告收集了500多位軟件開發人員的意見,對軟件開發的部署、測試等發展現狀進行總結。結果表明,軟件開發工程師的價值意識已經覺醒,開始注意客戶價值的重要性。

近幾年,軟件開發領域的聲音似乎漸漸被人工智能、物聯網、雲計算等新興技術遮掩,軟件開發工程師這一羣體的話語權越來越少。本週,InfoQ曾就“軟件開發是否有價值”展開討論(《一個沉重的問題:軟件開發到底還有價值嗎?》),傳統的開發方式束縛着不少軟件開發工程師的發展,軟件質量和價值在逐漸降低。

本次調查,93%的開發工程師表明比其他任何人都重視客戶滿意度,但是,其中60%工程師表示雖然重視,但客戶滿意度幾乎無法準確衡量。正是這種意識的覺醒,讓軟件開發領域開始不斷以更高效,可衡量的方式一次又一次提高軟件價值。

在現代軟件開發過程中,開發新功能會優先考慮客戶體驗,這與新功能的發佈時間一樣重要。73%的軟件開發團隊會花費10%到50%的時間更新和升級自託管軟件。當團隊不處於維護模式時,92%的團隊必須每週(甚至更頻繁地)提供狀態更新。平均而言,Jira客戶依賴較少的狀態更新工具,平均爲2.3種,非Jira用戶大概會使用3.3種。

軟件開發新趨勢

微服務:單體應用monolith在下降

平均而言,軟件和IT團隊使用4.3種工具將代碼從開發轉移到客戶生產環境,這個數字其實已經很多了。大規模的單片代碼庫會讓連續交付變得非常困難和耗時,monolith方式會限制團隊速度,集成不同的服務和功能可能導致難以識別的錯誤,開發人員通常不會密切瞭解彼此的工作,擴展構建和測試也可能會使部署速度變慢。

研究表明,71%使用微服務架構的軟件和IT團隊認爲,測試或部署過程比較容易,這是因爲,當團隊利用PaaS服務時,其中一些重要部署功能會直接進入平臺。基於微服務的架構允許小型自治團隊獨立開發、部署和擴展其服務。

CI/CD:手動測試已經過時,自動測試正在進行中

衆所周知,我們生活在一個消費者期望技術不斷更新的時代。如果團隊做不到,他們將會很容易被取代,想想自己在過去幾年換了多少部手機就明白了。

軟件開發出現早期,團隊無法經常更新的主要原因之一是手動測試,自動測試覆蓋率不足,額外的手動流程以及缺乏構建和部署管道自動化導致手動測試出現問題的團隊佔比62%。

進入持續集成和持續交付時代,團隊可以自動從源代碼到生產環境發佈高質量軟件實踐。CI/CD正迅速成爲滿足不斷增長的客戶期望的重要手段,47%的團隊通過CI/CD解決方案更快地發佈變更並接收客戶反饋,另有57%的受訪者表示採用CI/CD解決方案可以減少錯誤或中斷,實時提供有關部署和發佈狀態的信息工具允許團隊定期發佈客戶滿意的功能。

###Feature Flagging:降低風險,提高客戶滿意度

軟件開發團隊面臨的另一個障礙是以安全,增量和可衡量的方式推出新功能,75%的軟件和IT團隊在調查中表示會在發佈時遇到錯誤、缺陷或延遲問題。相反,63%使用Feature Flagging的團隊在調查中表示,擁有更好的功能測試或更高質量的軟件,這在很大程度上是因爲大多數團隊習慣同時爲所有客戶推出新功能。

Feature Flagging允許團隊向少部分客戶(例如25%)推出新功能,以便將問題和錯誤風險分散,並在將其推廣到整個客戶羣之前評估客戶反饋。

結果驅動型開發:客戶價值優於團隊成果

幾乎所有軟件開發團隊都希望提供能夠提高客戶滿意度的功能,但缺乏跟進該目標的方法,這種困境反映了按產出衡量工作的悠久歷史,而不是客戶結果(即客戶價值)。

事實上,結果驅動型開發的概念已經被提出多年,軟件開發團隊正在逐漸將焦點從開發速度和功能交付轉移到所創建的客戶價值上,希望採用以結果爲導向的實踐團隊應該考慮提供實時構建和部署工具,圍繞客戶採用數據分析以及內置Feature Flagging,這一方法預計在未來會被更多IT團隊採用。

參考鏈接:https://www.atlassian.com/blog/software-teams/modern-software-development-trends

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章