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