作者:北京老李:DevOps布道師、IT管理咨詢師。擁有EXIN Agile、EXIN Lean IT、首批EXIN DevOps Master講師、首批ITIL Expert講師、PMP、Prince2專家級、EXIN云安全管理、ISO20000 LA、ISO27001 LA等多項認證。先后在北京、上海、廣州等地主導軟件開發、系統集成、咨詢服務等工作,主要研究方向云安全管理、DevOps落地實施。
首先看看敏捷最早應于于哪個領域,即軟件開發領域,不僅僅有敏捷軟件,擴展開來還包括,敏捷項目、敏捷集團、敏捷企業,好像只有沾上敏捷就能把事情做好。敏捷從0.1到1.0走過了慢長的15年發展。但在回顧這個歷史你會發現,敏捷對于企業來講,僅僅是解決開發端質量與效率的平衡。目前看僅僅是DevOps,真正解決了端到端的價值流全局優化。那么首先回顧一下敏捷誕生與敏捷歷史。
1.敏捷宣言誕生
2000年9月,來自芝加哥Object Mentor公司的Bob Martin用一封電子郵件吹響了首次敏捷會議的集合哨。“我想召集一個為期2天的小型會議,時間是2001年1月或2月,地點在芝加哥,目的是讓所有輕量級方法論的領袖們匯聚一堂。您們都被邀請了。如果您們覺得還有誰該來,請告訴我。”雖著他的召集,
敏捷首次大會于2001年2月11日到13日召開,17位軟件開發領域的領軍人物聚集在美國猶他州的滑雪勝地雪鳥(Snowbird)雪場。
經過兩天的討論,“敏捷”(Agile)這個詞為全體聚會者所接受,用以概括一套全新的軟件開發價值觀。這套價值觀,通過一份簡明扼要的《敏捷宣言》,http://agilemanifesto.org/,中文直譯為:敏捷軟件開發宣言。
敏捷宣言的誕生,宣告訴了長達15年的敏捷開發運動開始了,參會的大師們帶著16種敏捷方法,在全球進行推廣,包括來自于極限編程、Scrum、DSDM、自適應軟件開發、水晶系列、特征驅動開發、實效編程等方法,他們認為找到了一種管理好軟件開發,應對于不同敏捷方向的精神力量,并且強調用于代替文檔驅動和重型軟件開發過程。
2.敏捷管理發展
敏捷自敏捷宣言的誕生到現在17年過去了,自敏捷1.0應用最廣泛的是Scrum方法,就在于他解決了開發管理的問題,但從一個企業視角來看,也是僅僅解決了開發端管理的問題。那么下面簡要看一下各方向的概述。
SCRUM:全球應用超過70%,SCRUM是一種迭代的增量化過程,用于產品開發或工作管理。它是一種可以集合各種開發實踐的經驗化過程框架。SCRUM中發布產品的重要性高于一切。該方法由Ken Schwaber和 Jeff Sutherland 提出,旨在尋求充分發揮面向對象和構件技術的開發方法,是對迭代式面向對象方法的改進。
XP(極限編程)的思想源自 Kent Beck和Ward Cunningham在軟件項目中的合作經歷。XP注重的核心是溝通、簡明、反饋和勇氣。因為知道計劃永遠趕不上變化,XP無需開發人員在軟件開始初期做 出很多的文檔。XP提倡測試先行,為了將以后出現bug的幾率降到最低。
Crystal Methods(水晶方法族):由Alistair Cockburn在20實際90年代末提出。之所以是個系列,是因為他相信不同類型的項目需要不同的方法。雖然水晶系列不如XP那樣的產出效率,但會有更多的人能夠接受并遵循它。
FDD (Feature-Driven Development,特性驅動開發):由Peter Coad、Jeff de Luca 、Eric Lefebvre共同開發,是一套針對中小型軟件開發項目的開發模式。此外,FDD是一個模型驅動的快速迭代開發過程,它強調的是簡化、實用、 易于被開發團隊接受,適用于需求經常變動的項目。
ASD(Adaptive Software Development,自適應軟件開發):由Jim Highsmith在1999年正式提出。ASD強調開發方法的適應性(Adaptive),這一思想來源于復雜系統的混沌理論。ASD不象其他方法那樣 有很多具體的實踐做法,它更側重為ASD的重要性提供最根本的基礎,并從更高的組織和管理層次來闡述開發方法為什么要具備適應性。
DSDM(動態系統開發方法):是眾多敏捷開發方法中的一種,它倡導以業務為核心,快速而有效地進行系統開發。實踐證明DSDM是成功的敏捷開發方法之一。在英國,由于其在各種規模的軟件組織中的成功,它已成為應用最為廣泛的快速應用開發方法。DSDM不但遵循了敏捷方法的原理,而且也適合那些成熟的傳統開發方法有堅實基礎的軟件組織。
輕量型RUP:其實是個過程的框架,它可以包容許多不同類型的過程, Craig Larman 極力主張以敏捷型方式來使用RUP。他的觀點是:目前如此眾多的努力以推進敏捷型方法,只不過是在接受能被視為RUP 的主流OO開發方法而已。
敏捷1.0之后從傳統觀點應該是迎來敏捷2.0,但隨著各家流派的興起,以及敏捷陣營的分家,敏捷應來的是多家敏捷方法之應用。
3.敏捷陣營的分家
SCRUM的創始人之一的 Schwaber 被近離開了 Scrum 聯盟(以下簡稱 SA),而且還是被董事會/理事會趕走的。下圖為Schwaber 進行的說明。
My goal of strengthening Scrum and improving the profession was in clear? conflict with the community’s goals of maximizing revenues and incomes.? This came to a head in August 2009 when the Scrum Alliance board of? directors unanimously asked for my resignation. The board members saw my? mission as detrimental to their mission of supporting the CST? franchise.
Tom Mellor, the new chairman of the board, sent out an email announcing? my resignation. After that, the board terminated the programs described? above. They cancelled, re-announced, and finally rolled out a basic? assessment that failed to provide any meaningful measure of? understanding. They terminated the ScrumAlliance’s commitments to our? partners, Microsoft and Accentient, in developing courses for Scrum? developers. They have since introduced a weak Certified Scrum Developer? program that is designed to protect the income of the existing CSTs.
當軟件開發圈都在說:“你今天敏捷了嗎?”,那么基本敏捷也就走上了敏捷1.0的盡頭。
4.基于敏捷百花齊放的管理方法
敏捷宣言過后是否就沒有創新與發展了嗎?世界還在不斷地進行著演進,從傳統的軟件開發(敏捷方法)發展到開發運營一體化(DevOps)有很多個基于敏捷的方法在推廣與使用著。隨著業內敏捷百花齊放,各方法都在不斷發展,業內可以看到的是兩條路徑,第一條是敏捷向規模化進行發展,即Spotify、Less、Nexus、SOS、SAFe等方法。第二條即基于DevOps的方法擴展,解決企業全流程全局優化問題。
多數方法都是基于開發的敏捷規模化擴展,未能實現企業級的全局優化(Spotify、SAFe、Scrum Of Scrum、Scaled Professional Scrum - Nexus、Disciplined Agile Delivery、LeSS(Large Scale Scrum)。
DevOps的特點在于企業全局通過引入精益、敏捷、持續交付實現了企業全局的管理優化工作,并且以價值流為驅動,實現了業務價值交付。
DevOps:由Patrick Debois發起,IT咨詢師,DevOps的目標就是把Development和Operations整合在一起,提升全局優化效能,因為Dev和Ops中間存在工作墻,需要把開發(Dev)和Ops(運維)整合起來。
不同的階段patrick debois提出了不同的想法。DevOps1.0的核心是為了解決開發與運維一同玩耍,但到了DevOps2.0,要解決端到端的價值流快速交付 。最新Devops2.0定義為:
DevOps是一個軟件工程實踐。通過開發、質量、IT運營和信息安全人員的協作,朝著一個共同的目標努力,使技術價值流通過計劃工作快速投產用于滿足業務和組織的成功,實現每天多次部署、達到世界級的穩定性、可靠性、可用性和安全性。【DevOps Handbook】2017年10月北京老李最新整理
附:https://www.douban.com/note/643251358/? DevOps定義編年史:通過DevOps定義看DevOps發展
5.DevOps全局的優化的體現
全局優化是指從業務到IT開發、IT測試、IT運營再回到最終用戶的價值流的全生命周期的全局優化,如下圖所示:
DevOps2.0是全局IT管理優化
全局IT管理優化,融合了IT服務管理、敏捷管理、精益管理等核心方法,通過持續交付自動化的方法實現了效率、質量、風險、成本等管理要求的平衡。
歡迎爬樓,看更多北京老李-DevOps相關內容,ITIL內容請關注”豆列“
https://www.douban.com/note/643862694/ DevOps Master課程:腳踏實地學Pre-Master,一步一個腳印成為DevOps Master
https://book.douban.com/review/8805640/ DevOps布道師為深度工作寫的序:深度工作是心身的一種修練方法
https://book.douban.com/review/8795275/ 咨詢基本功:咨詢顧問基本功之書面溝通及“補充大餐”
https://www.douban.com/note/643251358/ DevOps定義編年史:通過DevOps定義看DevOps發展
https://www.douban.com/note/637838681/ DevOps應用:光大銀行DevOps1.0到DevOps2.0研討會實錄
https://www.douban.com/note/639093367/ DevOps應用:民生銀行IT一體化管理與自動化發展(1)
https://www.douban.com/note/638965340/ DevOps應用:工商銀行DevOps進行時
https://www.douban.com/note/641427886/ DevOps應用:DevSecOps云下安全與云等保(云博會內容提前曝光)
https://book.douban.com/review/8820627/ 《把讀到的知識轉化為能力三步法及完美學習的四步法》
https://www.douban.com/note/646007197/? 敏捷辯論
更多內容自己爬樓吧: