5xRuby 的敏捷開發法(3):看見成果
測試驅動開發 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 經驗。我們相信活用這些經驗,能夠幫助開發團隊與客戶之間的溝通,降低資訊落差,更有效率地在理想時間內遞交高品質的軟體專案。
想要閱讀更多來自五倍紅寶石軟體開發的技術分享?歡迎訂閱我們的月報,每月將自動幫你送上最新文章。