客戶案例 |DATEV 使用 SonarQube 實現代碼清理之旅

主要結果
- 使用新代碼的雲原生團隊實現了 Clean Code 狀態,其中所有新代碼都被推送而沒有出現任何問題
- 更好的代碼庫,提高開發人員的工作效率,並顯著縮短新功能的上市時間
- 拆除孤島並設定跨團隊期望的代碼品質基準
挑戰
DATEV 成立於1966年,現已發展成為歐洲最大的IT服務提供者之一,2022年的營業額超過13億歐元,為高達540,000名客戶提供服務。他們受託為稅務顧問、審計師和律師等專業人士創建軟體解決方案,擁有由250名軟體開發人員組成的專門團隊開發和維護的1,200種不同產品群組。
多年來,DATEV 強制要求使用不同的代碼品質工具,並以嚴格的“沒有一個問題”政策為後盾。這種自上而下的方法導致了大量被壓制在原始程式碼中的問題,而不是糾正它們以進行改進。再加上德國稅法的複雜性,需要對其龐大的產品組合進行不斷的更改和更新,使產品變得極其複雜。
此外,在全面實施代碼質量標準時,在三個技術堆疊(大型機、本地和雲原生)之間導航帶來了一系列獨特的挑戰。
解決方案
為了尋求解決軟體品質挑戰的統一解決方案,DATEV 於 2017 年採用了 SonarQube。為了避免過去的錯誤,他們刻意避開嚴格的規則,倡導積極主動的策略,專注於在整個軟體開發部門培養對代碼品質的共同理解。通過這一轉變,他們讓更廣泛的社區參與定義 SonarQube 規則集,營造了一個協作決策的環境。
此外,DATEV 還面臨著將其舊系統過渡到更新的雲原生技術的複雜任務。DATEV 的內部開發人員社區 DevOps Campus 在實現這一過渡方面發揮了關鍵作用,它分析了每個團隊的當前位置並制定了量身定製的路線圖來實現他們的六個月目標,確保每個團隊都為他們的雲原生之旅做好了充分的準備。
結果
良好的代碼質量已經從強制性要求轉變為跨團隊的不言而喻的規範。這種轉變具有明顯的成功標誌:明顯更好的代碼庫、開發人員生產力的飆升以及新功能的上市時間明顯縮短。此外,由於他們的雲原生團隊使用的是新代碼而不是遺留代碼,因此 DATEV 能夠實現乾淨代碼的狀態,即所有新代碼都被推送而沒有出現任何問題。
作為一家公司,DATEV 的合作性質促成了協作環境,這消除了軟體部門內部的孤島,並設定了一個基準,其中代碼品質更像是一種內在期望,而不是外部強加。
展望未來,DATEV 設想了一個世界,其中監控代碼品質的控制面板變得多餘。鑒於該工具不斷增長的功能以及在軟體品質和安全性領域的相關性,他們與 SonarQube 的合作夥伴關係不斷鞏固。
總之,DATEV 與 SonarQube 的合作之旅體現了協作和理解驅動的代碼品質方法如何為軟體開發文化和結果帶來深刻的變化。他們在 SonarQube 方面的經驗不僅解決了現有挑戰,還為未來質量成為開發 DNA 不可或缺的一部分奠定了基礎。
“SonarQube 讓軟體工程師能夠更好地瞭解代碼品質。所有項目指標的披露在團隊之間造成了競爭,從而更願意編寫最好的代碼。
Andreas Fischer,DevOps CoE @ DATEV 軟體開發人員


