5xRuby Insight

5xRuby 的敏捷開發法(3):看見成果

Sho Chang, 執行總監 Sep 2, 2022

測試驅動開發 TDD 與 程式碼管理

五倍紅寶石團隊採用的是測試驅動開發 (Test-driven development) 概念。需求訪談時,就和客戶確認好各項功能的 User Stroy,並轉成 Test case,使工程師開發時可依據明確的 Test case 快速實作。

另外,在網站專案中,版本控制是不可或缺的要素。我們除了用 GitLab 版控程式碼外,使用 Zeplin 管理設計圖版本,讓開發與設計都更有效率。 當工程師完成功能開發,將程式碼發佈至 GitLab 並要求合併時,須由團隊中其他工程師或技術主管審查後才能進行合併分支與發佈。

關於更多我們在程式碼管理上的堅持,可參考由 5xRuby 技術總監 蒼時弦也(邱政憲)所撰寫的兩篇文章:

 

加入 5xRuby 團隊後的第一次程式碼審查

5xRuby如何透過持續整合,維持高品質程式碼

測試與部署

在五倍紅寶石,所有程式碼都會實踐持續整合,並自動執行測試來確保程式一直處於正常運作的狀態。並在上線前執行 QA 測試,確保商業邏輯正確。

而客戶端,不但在開發過程中就能依據開發進度逐步小塊的參與功能測試,最後驗收前,也會進行手動整合測試,讓客戶確認商業邏輯和使用情境合乎想像。所有測試結束,專案就可以部署到正式站。我們會使用自動部署來完成產品發佈。

 

關於過去幫客戶自動部署的經驗,可以參考由 5xRuby 工程師 Apa 所撰寫的此篇文章:

用 Ansible 助客戶建置 On-Premise 產品,解決成本和維運困難

結語

至今為止,我們創下不少令客戶滿意的紀錄。

在網站開發專案裡, 4 人小團隊, 68 個工作天,完成近 600 條開發項目。在 App 開發專案裡,則是3人小團隊,完成了近 300 條開發項目。

專案開發並不是直線道,過程中往往因應商業模式調整、時程壓力而有功能變更。

藉由敏捷開發的特性,能幫助我們與客戶及早發現需求變更,並一起調整開發狀況,降低到交付階段才發現不符合需求的風險。五倍紅寶石在過去無數實戰中,除了對敏捷開發的理解,也擁有豐富地 troubleshooting 經驗。我們相信活用這些經驗,能夠幫助開發團隊與客戶之間的溝通,降低資訊落差,更有效率地在理想時間內遞交高品質的軟體專案。


想要閱讀更多來自五倍紅寶石軟體開發的技術分享?歡迎訂閱我們的月報,每月將自動幫你送上最新文章。


分享