Devops與敏捷二者能否結合?

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

DevOps與敏捷的結合

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

 

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

DevOps和敏捷結合的優勢

●為發佈過程創建了一個模式,並提高產品價值。
●允許更好的協作。
●降低發佈版本的風險。
●解決錯誤和修復Bug的速度更快。
●增加透明度。
●產品質量提高,滿足用戶期望。

二者結合需考慮的問題

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

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和敏捷。

禪道對DevOps和持續集成的支持,包括Git、Subversion版本系統集成,Jenkins構建任務觸發,以及ZTF自動化測試調度幾個方面。通過禪道自研的ZTF自動化測試工具,可很好地驅動8種單元測試框架、3種自動化測試框架來執行測試,並把最終結果回傳給禪道,進行統一的報告展示。禪道ZTF打通了項目管理和持續集成工具之間的溝壑,貫穿持續集成、持續測試、持續部署等DevOps生命周期的不同階段。

 

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