Bob Violino

很多企業將轉向敏捷軟件開發以及其后的DevOps視為數字化轉型過程中的關鍵步驟。
但在很多情況下,這種轉型是由規模較小的部門處理的,因此,總體上不會產生太大的影響。通過更大規模地改進流程,在整個企業中更廣泛地推廣這類實踐活動,從而獲得顯著的收益。但要實現這一飛躍是很有挑戰性的。
敏捷(Agile)是一種開發方法,涉及自組織和跨職能部門以及軟件最終用戶之間的協作,目的是提高軟件和服務開發的質量和速度。
同時,DevOps將軟件開發和IT運維相結合,以縮短開發周期,并持續交付高質量的應用程序。
這些方法結合在一起能夠加速數字化轉型,并對工作完成方式產生重大影響——特別是在想擴展這些方法,以吸引更多用戶和項目的情況下。本文介紹大規模成功使用敏捷和DevOps的一些技巧。
想把敏捷和DevOps納入其數字化轉型的企業應建立一種文化,這種文化包含了對這些軟件開發方法的責任和所有權。
能源和自動化產品供應商施耐德電氣(Schneider Electric)首席數字官Herve Coureil認為:“必須在企業中全面推廣DevOps技能和DNA。這必須成為企業文化的一部分。”
要實現這一目標,企業不能把敏捷和DevOps的責任僅限于一部分專家。Coureil說:“提供符合DevOps最佳實踐的版本是所有部門的責任,而不是某個個人的責任,因為個人可能會成為一個失敗點。”
Coureil說,在施耐德,“敏捷和DevOps的愿景是改變企業的整體運維模式。我們正在應用敏捷實踐,以便在企業的所有職能部門(包括項目管理、財務管理、產品管理、產品工程、體系結構、專業服務和最終消費者)之間建立持續透明的溝通流程。”
2019年初,施耐德建立了一個敏捷轉型辦公室,幫助各部門更迅速地交付數字產品,進一步提高質量,減少浪費。Coureil說:“我們整個公司都采取了‘波峰式(Wave and Spike)方法,以推廣轉型。在一波浪潮中選擇的任何產品或者一組產品都應用了新運維模式的所有功能,而新運維模式則利用了敏捷Scrum和Kanban、DevOps CI/CD(持續集成和持續交付),以及項目管理的持續反饋和精益實踐。”
該公司在各部門開展專題研討,以獲得Scrum實踐經驗,還提供指導人員來幫助各部門改進敏捷的使用。施耐德的所有開發項目現在都采用了敏捷框架方法。
僅僅在整個企業中推廣部署敏捷和DevOps是不夠的。企業應衡量這些舉措在推廣的每個階段所帶來的價值。
Coureil說:“用當前基本狀態定義關鍵性能衡量指標,并不斷地進行衡量和推進。首先要掌握現有的部門角色和工作實踐,以了解他們是怎樣工作的,以及在哪些地方需要改進。”
施耐德有幾個部門使用了瀑布式開發模型,該模型將項目工作分解為線性連續的階段,其中每個階段都依賴于前一階段交付的成果,然后轉換到Scrum敏捷過程框架。
Coureil說:“我們讓其他部門實踐Scrum的部分內容,但并不一致。我們建立了一個部門自我評估模板,幫助各部門了解敏捷最佳實踐、他們自己的實踐以及他們需要在哪些地方進行改進。”
數字化轉型高級架構師Jonathan Parnell介紹說,IT服務提供商Insight Enterprises使用了技術進步、產品線趨勢、資源消耗、產品質量、性能和業務成果等衡量指標。
要檢查的具體因素包括過程時間、緩解問題的時間、修復產品缺陷的成本,等等。
在人員/文化方面,還需要管理部門動態、流程開銷、可信度、員工士氣和激勵等方面的趨勢。
企業在開發DevOps時,可選擇的產品并不缺乏,其中很多都是非常實用的。但重要的是要提防工具過多。
Coureil說:“有太多的參考工具會導致部門之間采取不同的行為,不利于共享文化。這將加大采用最佳實踐和標準的難度,使我們更容易受到網絡安全攻擊,無法縮減規模。”
Schneider的首席DevOps架構師負責維護工具棧,不斷豐富工具,以覆蓋新的應用情形或者技術環境,并在需要時進行更改。Coureil介紹說:“這要求一直進行技術監控。”
為了提高工作效率并保證安全,施耐德維護了一個相互協作的DevOps工具棧,涵蓋了一系列技術和場景,包括基于云的應用程序和用于物聯網(IoT)應用的傳感器等。
在敏捷和DevOps項目開始時考慮安全措施是非常重要的,這樣才不會引起影響開發生命周期的問題。
Parnell說:“不管我們的發布和部署有多快,安全不僅是瓶頸,而且還是速度和可伸縮性的制約因素。信任和動機等級嚴重不符。不是價值流上的所有人都能感受到安全責任。”
在Insight,開發的重點是業務最終用戶,而忽略了適當的安全環境。Parnell說:“從技術上講,我們忽略了一個重要觀點,沒有把安全視為質量的一部分,而是認為安全違規是漏洞和缺陷。我們不得不一路退回,在持續集成中解決這個問題。”
該公司建立了一些基于安全的要素,包括考慮到威脅建模和其他安全措施的策略驅動開發、“設計實現安全”方法和推薦的安全實踐。
Parnell說:“我們在技術上的欠缺是沒有從安全開始,在認知上也沒有以傳播‘安全文化為重,因此,花了一年多的時間才實施完畢。”
敏捷和DevOps的治理也很重要。金融服務提供商萬事達卡首席技術官Steve Bagby表示:“不要讓敏捷變成‘每個人都可以做自己想做的事。這只會導致混亂,扼殺您運維和保護系統的能力,妨礙您最終讓客戶滿意的能力。”
萬事達卡多年來一直圍繞敏捷原則來組織其工程部門。Bagby說:“由于我們幾乎所有的工作都是以服務的形式交付的,因此,出于需要,可操作性一直是必不可少的。”
把開發、部署和運行應用程序的職責整合起來有一個明顯的好處,Bagby說,“因為每個人都有自己的利害關系,都覺得應該對部門負責。”
要想在企業中廣泛地部署敏捷和DevOps,需要有很多精通這些方法并準備好在開發過程中進行必要更改的員工。
Coureil說:“培訓要早,而且要經常,包括針對實際場景的面對面課堂培訓。我們在全球范圍內進行了幾十次實操課堂培訓,目的是打好基礎。然后,我們讓指導人員進行小規模的培訓,以強化最佳實踐。”
Coureil說,所有培訓內容都可以在一個交互式學習門戶網站上獲得,以便在各個部門之間使用。他介紹說:“每個人都可以添加自己的評論和內容,以增強學習效果。”
對于其敏捷和DevOps計劃,Insight公司建立了一個由12到15人組成的跨職能部門,包括開發人員、數據庫管理員以及來自IT運維、網絡、安全和業務線的代表。
Parnell說:“這個部門先是開展了一系列的專題研討,以便在敏捷和DevOps的概念、基本原理、最佳實踐和術語以及其他相關學科上取得一致,并提高技能,獲得支持。這很關鍵。如果在這些方面沒有達成基本的一致,溝通幾乎是不可能的。”
Insight很快發現,一個跨職能部門代表了業務部門的各個方面,其動機各不相同,在某些情況下甚至是截然相反的。Parnell說:“特別是那些需要速度和彈性的開發人員,與他們相對的是那些需要穩定性和安全性的運維和安全人員。通過整合來自度量指標的客觀證據,在進攻(利用機會)和防御(通過管理風險和不確定性)之間實現了平衡。”
前面介紹的一些步驟涉及到實踐的共享。而值得一提的是,這對于在整個企業中成功地推廣敏捷和DevOps是非常重要的,并且需要有一種機制來實現這一點。
保險公司Liberty Mutual Insurance建立了一個敏捷支持辦公室,幫助不同的開發部門隨著時間的推移在敏捷和DevOps方面成熟起來。
公司高級副總裁兼托管服務總經理Mark Cressey介紹說:“我們還從Liberty以外聘請了經驗豐富的人才,例如,Scrum大師,把最佳實踐融入到部門中。”
Cressey說:“在某些情況下,他們承擔具體工作,而在大多數情況下,他們指導我們在轉型過程中引進的內部Scrum大師。不要讓每個部門各行其是,這真的很重要。通過有關敏捷、敏捷轉型和DevOps的外部知識來支持他們是我們成功的關鍵所在。”
分享經驗還意味著要聽取部門對其進展或者出現的任何問題的反饋。Cressey說:“從0~100%的敏捷沒有捷徑。而我們在整個過程中都聽取了部門的意見,當我們需要根據反饋調整不同的方向時,我們做到了。我們暫停或者重新設置了某一區域或者實踐,以獲取有關哪些有效哪些無效的關鍵反饋。”
對于那些“原本”使用這些方法的企業來說,推廣敏捷和DevOps是很自然的。但對于很多對這些概念還比較陌生的企業來說,高管的支持是成功的關鍵。
金融服務公司Capital One的小型企業和國際業務首席技術官Mark Mathewson說:“所有人都說他們想成為或者已經是敏捷的了。但為了真正做到這一點,高層管理人員必須完全接受這一概念。”
Mathewson說:“在我的工作中,我發現高管必須在預算編制、產能規劃等各方面提供支持。”
Capital One經過七年的大規模技術改造,全面重塑了人才和文化、員工工作方式以及技術基礎設施。Mathewson說:“我們轉向100%敏捷的軟件交付模式,建立了靈活的工程部。”
該公司花了三年時間轉向云計算,推廣DevOps,采用開源,并開始充分發揮由此帶來的靈活性優勢。Capital One現在將重點轉向標準和持續交付。
Mathewson說:“過去,產品交付給運維后,開發人員就不再參與產品了。現在我們正在實踐DevOps方法,我們的開發人員感受到對這些產品有了更大的所有權,在正常運行時間、可支持性和監控等方面更加積極主動了。”
Bob Violino目前在紐約,是Insider Pro、Computerworld、CIO、CSO、InfoWorld和Network World的特約撰稿人。
原文網址
https://www.cio.com/article/3531389/scaling-agile-and-devops-for-digital-transformation.html?nsdr=true