Devops與敏捷二者能否結合?

陳琦聊測試發表於2020-08-21

當前軟體行業的趨勢傾向於使應用程式開發和部署成為業務運營的重要組成部分。這些公司開始專注於實現像DevOps解決方案這樣的方法,這有助於縮短產品開發時間。使用DevOps進行開發減少了交付軟體所需的階段。軟體交付時間短允許使用者儘早部署軟體,並通過更多的反饋為業務增加價值。

DevOps與敏捷的結合

DevOps的實施主要集中在軟體的各個方面,例如注重軟體的可操作性、軟體過程的自動化、可擴充套件性,以及每個版本的更好的部署方式以及它的監視和長期維護。DevOps的缺點是它不能支援敏捷開發中支援的程式碼的持續測試。與DevOps不同,敏捷主要關注產品是否滿足客戶的需求,因此專注於嚴格的測試。

與其單獨使用DevOps和敏捷來進行開發,不如將它們結合在一起作為一股力量來汲取二者的長處,從而使軟體行業受益。這可以通過將敏捷的衝刺與DevOps提供的整合團隊合作來實現。因此,在軟體開發中混合DevOps和敏捷方法是提高生產力和交付高質量軟體產品的關鍵要求。這種方法可以優化軟體的增量開發及其維護。

DevOps和敏捷結合的優勢

●為釋出過程建立了一個模式,並提高產品價值。

●允許更好的協作。

●降低釋出版本的風險。

●解決錯誤和修復Bug的速度更快。

●增加透明度。

●產品質量提高,滿足使用者期望。

二者結合需考慮的問題

為了避免遇到障礙,讓我們來看看對DevOps和敏捷開發的順利結合和實現更高的生產率構成威脅的挑戰。 enter image description here

1、在團隊內部建立良好融洽的關係,確保工作流程順暢進行。

團隊成員應該理解如何協同使用DevOps和敏捷開發方法,並且應該拓寬自身視野,找出在不引起衝突的情況下充分利用二者的方法,併為增加軟體的業務價值做出貢獻。團隊成員不應該只關注開發週期,還應該關注軟體的維護、可操作性和交付等方面。團隊應該是富有經驗的,並且應該擁有每個版本、服務、適應變更、如何管理變更、工具自動化的知識。

2、概述生命週期

隨著DevOps和敏捷的整合,團隊現在關心整個開發生命週期中的操作。因此,應該制定一個適當的開發生命週期來提高一致性,最小化開發時間,對每個版本提供全面的測試,並加快產品交付的過程。開發生命週期應該包括開發階段早期的DevOps方法。

3、為衝刺調整DevOps

敏捷方法將開發過程劃分為多個Sprint,但是現在不妨結合團隊具體情況來設計一種策略,將DevOps正確地包含在Sprint中。

在sprint中遵循這些指導原則來整合DevOps

●在計劃衝刺時,徵求運營和支援人員的意見並將這些意見納入計劃內。

●同時考慮產品的特性、功能及操作。

●在接下來的衝刺階段要考慮到DevOps。

●試著讓devops團隊參與scrum的每日站會、計劃會議、回顧會議等敏捷開發流程中。

包含質量保證 敏捷包括對每個版本的持續測試和整合,但是除了功能測試之外,它不提供效能和負載測試,這是DevOps所需要的。因此對於每個版本都應該包括這些測試。所以QA應該包含在開發的每個階段。

在DevOps下執行待辦列表

在協作期間,在DevOps框架下構建待辦列表,需要考慮到:軟體可擴充套件性、監控服務、部署能力、日誌記錄、警報設定、測試軟體、安全問題、運營效能。

裝置自動化

工作流自動化是將DevOps和敏捷方法結合在一起的一個重要部分。為了避免潛在的漏洞,需自動化所有的編碼過程。

提供文件

敏捷方法並不執著於文件;相反,他們更專注於開發,而DevOps記錄了軟體版本的設計和其他規範。因而,文件的提供依然不可或缺。

禪道DevOps解決方案

基於敏捷開發方法論Scrum的禪道專案管理軟體提供了DevOps解決方案,有助於規劃和整合DevOps和敏捷。 enter image description here 禪道對DevOps和持續整合的支援,包括Git、Subversion版本系統整合,Jenkins構建任務觸發,以及ZTF自動化測試排程幾個方面。通過禪道自研的ZTF自動化測試工具,可很好地驅動8種單元測試框架、3種自動化測試框架來執行測試,並把最終結果回傳給禪道,進行統一的報告展示。禪道ZTF打通了專案管理和持續整合工具之間的溝壑,貫穿持續整合、持續測試、持續部署等DevOps生命週期的不同階段。

禪道,為您提供專業的DevOps解決方案。

相關文章