珠海歐美克儀器有限公司
已認證
前言
隨著珠海歐美克儀器有限公司的業務規模不斷擴大,新產品新技術新應用帶來的軟件新功能的需求不斷提高,軟件升級的開發和測試工作量也在不斷增加。例如,過去幾年,我們每年完成的功能數量已從100多個增加到500多個。這幾年來,軟件迭代了幾千次代碼更改并發布了數十個軟件版本,申請了十幾個軟件產品登記證書,成為公司評定高新技術企業的重要業務之一。
顯然,傳統的瀑布式以及粗放式的軟件開發管理流程已經不適用于公司業務的發展。粗放式開發管理流程的弊端主要在于沒有代碼版本管理,無法跟蹤歷史記錄,以及相較于敏捷開發模式,瀑布式模式無法迅速應對需求變更。
轉向Scrum和DevOps
為了提高開發效率和代碼質量,從十年前開始,歐美克儀器就轉向更現代的Scrum和DevOps開發模式。
Scrum 是符合敏捷開發原則的一種典型且在全球使用最為廣泛的框架,被應用于管理復雜產品的開發上。敏捷思維以用戶的需求進化為核心,通過設定短期的、可實現的目標,采用快速迭代、循序漸進的方式,具有極大的靈活性,更快交付價值,主張擁抱變化。
Scrum 框架使團隊能適應不斷變化的外部環境和用戶要求,并在流程和較短的發布周期中快速調整優先級,以便團隊不斷學習和持續改進。
DevOps則是一種開發理念,它強調開發(Development)和運維(Operations)的緊密協作。
DevOps采用一種跨功能的方式工作,將之前分離的角色(比如開發、質量保證和IT運維)集成到單一的團隊中,使得軟件的構建、測試、發布和更新能夠更加快速且穩定。這種理念促進了持續交付和持續集成(CI/CD),使我們能夠更快地對市場變化和客戶需求做出反應。
用 Azure DevOps保證代碼質量
為了更好地實施Scrum和DevOps,歐美克儀器選擇了Azure DevOps作為開發平臺。Azure DevOps是微軟出品的一款云服務產品,它為開發團隊提供了一整套的開發工具,包括項目管理、代碼托管、持續集成/持續部署(CI/CD)、測試和發布等功能,能夠滿足我們在軟件開發過程中的各種需求,并且它的云服務特性使得團隊成員可以在任何地方進行協作。
需求管理
珠海歐美克儀器有限公司已經深耕粒度測量領域三十余年,得益于我們強大的銷售、應用、售后團隊以及遍布全國各地各行各業的客戶,我們能夠及時收集到各種反饋和意見。
同時,作為處于行業領先地位的母公司馬爾文帕納科的子公司,我們也能接收到來自全球的行業先進理念。因此,我們需要處理的需求量大而復雜。在這種情況下,Azure Boards的需求整理功能就顯得尤為重要。
Azure Boards提供了可視化的工作項跟蹤系統,幫助我們以敏捷的方式管理項目。我們可以使用它來跟蹤用戶需求、任務、缺陷和問題,以及為每個工作項設置優先級和迭代路徑。通過這種方式,我們可以確保每一個反饋和需求都能被妥善處理,每一個工作項都能在預期的時間內完成。這不僅提高了我們的工作效率,也確保了我們能夠充分考慮和滿足客戶的需求。
代碼管理
我們選擇了Azure Repos作為我們的代碼倉庫,提供無限的私有Git倉庫,以支持協作并保證代碼的安全。我們采用GitFlow流程進行開發,通過設定不同的分支,使得我們可以同時處理多個任務,同時每個分支都可以獨立地進行測試和審查。每一行代碼修改都需要經過團隊成員的審核,并且必須通過嚴格的自動化單元測試才能被合并到主分支,以保證代碼的質量。
我們重視代碼的歷史記錄和管理,每一次代碼修改都有詳細的歷史記錄,包括提交者、提交時間、修改內容等。并且,每一行代碼都可以與Azure Boards中的工作項關聯,讓我們可以輕松地跟蹤每一行代碼對應的客戶需求,確保我們的開發工作始終緊密圍繞客戶需求進行。
自動化構建和交付
我們使用Azure Pipelines實現持續集成和持續部署。每次代碼提交后,系統會自動進行構建,包括智能化的代碼質量檢查和編譯生成安裝包。只有達到質量要求的代碼才能進行構建,并通過單元測試覆蓋率等圖表,我們可以直觀地看到代碼質量變更。
每個生成的構建安裝包都會盡快發送到每個團隊成員手中,以便進行更進一步的測試。這樣可以確保我們的產品始終保持高質量,同時也能快速發現并修復問題。
測試
在我們的軟件開發過程中,我們堅持執行敏捷軟件測試。一旦需求確定,我們就立即開始編寫相應的測試用例。這些測試用例在開始開發前就會進行評審,這種方式旨在減少開發過程中的返工,提高開發效率。
在軟件發布前,我們會執行全面的測試計劃,所有的測試結果都會被詳細記錄并編寫成測試報告。這份報告會包含所有的測試細節,包括測試覆蓋率、測試結果、未解決的問題等。只有當這份測試報告通過評審,證明我們的軟件達到了預定的質量標準,我們的軟件才會得以發布。這樣的測試流程確保了我們交付給客戶的每一個軟件產品都是高質量的。
總結
歐美克儀器使用Azure DevOps平臺實現了全方位的代碼和流程管理,每一行代碼的修改都能找到其對應的歷史記錄、管理需求、自動化測試、測試用例、測試記錄,以及關聯的軟件版本。
憑借Azure DevOps的自動化通知機制,以上所有內容變更在研發團隊中高速流轉,確保我們的團隊能夠保持高效運行。所有團隊成員都對軟件的質量承擔共同責任,確保我們提供的軟件始終保持最高的質量。
我們的研發團隊并不滿足于現狀,我們始終在不斷地對我們的流程進行改進,以實現精益求精的目標,從而能夠為我們的客戶提供最優質的軟件產品。
最新動態
更多
虛擬號將在 秒后失效
使用微信掃碼撥號