作者:北京老李:DevOps布道師、IT管理咨詢師。擁有EXIN Agile、EXIN Lean IT、首批EXIN DevOps Master講師、首批ITIL Expert講師、PMP、Prince2專家級(jí)、EXIN云安全管理、ISO20000 LA、ISO27001 LA等多項(xiàng)認(rèn)證。先后在北京、上海、廣州等地主導(dǎo)軟件開發(fā)、系統(tǒng)集成、咨詢服務(wù)等工作,主要研究方向云安全管理、DevOps落地實(shí)施。
首先看看敏捷最早應(yīng)于于哪個(gè)領(lǐng)域,即軟件開發(fā)領(lǐng)域,不僅僅有敏捷軟件,擴(kuò)展開來還包括,敏捷項(xiàng)目、敏捷集團(tuán)、敏捷企業(yè),好像只有沾上敏捷就能把事情做好。敏捷從0.1到1.0走過了慢長(zhǎng)的15年發(fā)展。但在回顧這個(gè)歷史你會(huì)發(fā)現(xiàn),敏捷對(duì)于企業(yè)來講,僅僅是解決開發(fā)端質(zhì)量與效率的平衡。目前看僅僅是DevOps,真正解決了端到端的價(jià)值流全局優(yōu)化。那么首先回顧一下敏捷誕生與敏捷歷史。
1.敏捷宣言誕生
2000年9月,來自芝加哥Object Mentor公司的Bob Martin用一封電子郵件吹響了首次敏捷會(huì)議的集合哨。“我想召集一個(gè)為期2天的小型會(huì)議,時(shí)間是2001年1月或2月,地點(diǎn)在芝加哥,目的是讓所有輕量級(jí)方法論的領(lǐng)袖們匯聚一堂。您們都被邀請(qǐng)了。如果您們覺得還有誰該來,請(qǐng)告訴我。”雖著他的召集,
敏捷首次大會(huì)于2001年2月11日到13日召開,17位軟件開發(fā)領(lǐng)域的領(lǐng)軍人物聚集在美國(guó)猶他州的滑雪勝地雪鳥(Snowbird)雪場(chǎng)。
經(jīng)過兩天的討論,“敏捷”(Agile)這個(gè)詞為全體聚會(huì)者所接受,用以概括一套全新的軟件開發(fā)價(jià)值觀。這套價(jià)值觀,通過一份簡(jiǎn)明扼要的《敏捷宣言》,http://agilemanifesto.org/,中文直譯為:敏捷軟件開發(fā)宣言。
敏捷宣言的誕生,宣告訴了長(zhǎng)達(dá)15年的敏捷開發(fā)運(yùn)動(dòng)開始了,參會(huì)的大師們帶著16種敏捷方法,在全球進(jìn)行推廣,包括來自于極限編程、Scrum、DSDM、自適應(yīng)軟件開發(fā)、水晶系列、特征驅(qū)動(dòng)開發(fā)、實(shí)效編程等方法,他們認(rèn)為找到了一種管理好軟件開發(fā),應(yīng)對(duì)于不同敏捷方向的精神力量,并且強(qiáng)調(diào)用于代替文檔驅(qū)動(dòng)和重型軟件開發(fā)過程。
2.敏捷管理發(fā)展
敏捷自敏捷宣言的誕生到現(xiàn)在17年過去了,自敏捷1.0應(yīng)用最廣泛的是Scrum方法,就在于他解決了開發(fā)管理的問題,但從一個(gè)企業(yè)視角來看,也是僅僅解決了開發(fā)端管理的問題。那么下面簡(jiǎn)要看一下各方向的概述。
SCRUM:全球應(yīng)用超過70%,SCRUM是一種迭代的增量化過程,用于產(chǎn)品開發(fā)或工作管理。它是一種可以集合各種開發(fā)實(shí)踐的經(jīng)驗(yàn)化過程框架。SCRUM中發(fā)布產(chǎn)品的重要性高于一切。該方法由Ken Schwaber和 Jeff Sutherland 提出,旨在尋求充分發(fā)揮面向?qū)ο蠛蜆?gòu)件技術(shù)的開發(fā)方法,是對(duì)迭代式面向?qū)ο蠓椒ǖ母倪M(jìn)。
XP(極限編程)的思想源自 Kent Beck和Ward Cunningham在軟件項(xiàng)目中的合作經(jīng)歷。XP注重的核心是溝通、簡(jiǎn)明、反饋和勇氣。因?yàn)橹烙?jì)劃永遠(yuǎn)趕不上變化,XP無需開發(fā)人員在軟件開始初期做 出很多的文檔。XP提倡測(cè)試先行,為了將以后出現(xiàn)bug的幾率降到最低。
Crystal Methods(水晶方法族):由Alistair Cockburn在20實(shí)際90年代末提出。之所以是個(gè)系列,是因?yàn)樗嘈挪煌愋偷捻?xiàng)目需要不同的方法。雖然水晶系列不如XP那樣的產(chǎn)出效率,但會(huì)有更多的人能夠接受并遵循它。
FDD (Feature-Driven Development,特性驅(qū)動(dòng)開發(fā)):由Peter Coad、Jeff de Luca 、Eric Lefebvre共同開發(fā),是一套針對(duì)中小型軟件開發(fā)項(xiàng)目的開發(fā)模式。此外,F(xiàn)DD是一個(gè)模型驅(qū)動(dòng)的快速迭代開發(fā)過程,它強(qiáng)調(diào)的是簡(jiǎn)化、實(shí)用、 易于被開發(fā)團(tuán)隊(duì)接受,適用于需求經(jīng)常變動(dòng)的項(xiàng)目。
ASD(Adaptive Software Development,自適應(yīng)軟件開發(fā)):由Jim Highsmith在1999年正式提出。ASD強(qiáng)調(diào)開發(fā)方法的適應(yīng)性(Adaptive),這一思想來源于復(fù)雜系統(tǒng)的混沌理論。ASD不象其他方法那樣 有很多具體的實(shí)踐做法,它更側(cè)重為ASD的重要性提供最根本的基礎(chǔ),并從更高的組織和管理層次來闡述開發(fā)方法為什么要具備適應(yīng)性。
DSDM(動(dòng)態(tài)系統(tǒng)開發(fā)方法):是眾多敏捷開發(fā)方法中的一種,它倡導(dǎo)以業(yè)務(wù)為核心,快速而有效地進(jìn)行系統(tǒng)開發(fā)。實(shí)踐證明DSDM是成功的敏捷開發(fā)方法之一。在英國(guó),由于其在各種規(guī)模的軟件組織中的成功,它已成為應(yīng)用最為廣泛的快速應(yīng)用開發(fā)方法。DSDM不但遵循了敏捷方法的原理,而且也適合那些成熟的傳統(tǒng)開發(fā)方法有堅(jiān)實(shí)基礎(chǔ)的軟件組織。
輕量型RUP:其實(shí)是個(gè)過程的框架,它可以包容許多不同類型的過程, Craig Larman 極力主張以敏捷型方式來使用RUP。他的觀點(diǎn)是:目前如此眾多的努力以推進(jìn)敏捷型方法,只不過是在接受能被視為RUP 的主流OO開發(fā)方法而已。
敏捷1.0之后從傳統(tǒng)觀點(diǎn)應(yīng)該是迎來敏捷2.0,但隨著各家流派的興起,以及敏捷陣營(yíng)的分家,敏捷應(yīng)來的是多家敏捷方法之應(yīng)用。
3.敏捷陣營(yíng)的分家
SCRUM的創(chuàng)始人之一的 Schwaber 被近離開了 Scrum 聯(lián)盟(以下簡(jiǎn)稱 SA),而且還是被董事會(huì)/理事會(huì)趕走的。下圖為Schwaber 進(jìn)行的說明。
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.
當(dāng)軟件開發(fā)圈都在說:“你今天敏捷了嗎?”,那么基本敏捷也就走上了敏捷1.0的盡頭。
4.基于敏捷百花齊放的管理方法
敏捷宣言過后是否就沒有創(chuàng)新與發(fā)展了嗎?世界還在不斷地進(jìn)行著演進(jìn),從傳統(tǒng)的軟件開發(fā)(敏捷方法)發(fā)展到開發(fā)運(yùn)營(yíng)一體化(DevOps)有很多個(gè)基于敏捷的方法在推廣與使用著。隨著業(yè)內(nèi)敏捷百花齊放,各方法都在不斷發(fā)展,業(yè)內(nèi)可以看到的是兩條路徑,第一條是敏捷向規(guī)模化進(jìn)行發(fā)展,即Spotify、Less、Nexus、SOS、SAFe等方法。第二條即基于DevOps的方法擴(kuò)展,解決企業(yè)全流程全局優(yōu)化問題。
多數(shù)方法都是基于開發(fā)的敏捷規(guī)模化擴(kuò)展,未能實(shí)現(xiàn)企業(yè)級(jí)的全局優(yōu)化(Spotify、SAFe、Scrum Of Scrum、Scaled Professional Scrum - Nexus、Disciplined Agile Delivery、LeSS(Large Scale Scrum)。
DevOps的特點(diǎn)在于企業(yè)全局通過引入精益、敏捷、持續(xù)交付實(shí)現(xiàn)了企業(yè)全局的管理優(yōu)化工作,并且以價(jià)值流為驅(qū)動(dòng),實(shí)現(xiàn)了業(yè)務(wù)價(jià)值交付。
DevOps:由Patrick Debois發(fā)起,IT咨詢師,DevOps的目標(biāo)就是把Development和Operations整合在一起,提升全局優(yōu)化效能,因?yàn)镈ev和Ops中間存在工作墻,需要把開發(fā)(Dev)和Ops(運(yùn)維)整合起來。
不同的階段patrick debois提出了不同的想法。DevOps1.0的核心是為了解決開發(fā)與運(yùn)維一同玩耍,但到了DevOps2.0,要解決端到端的價(jià)值流快速交付 。最新Devops2.0定義為:
DevOps是一個(gè)軟件工程實(shí)踐。通過開發(fā)、質(zhì)量、IT運(yùn)營(yíng)和信息安全人員的協(xié)作,朝著一個(gè)共同的目標(biāo)努力,使技術(shù)價(jià)值流通過計(jì)劃工作快速投產(chǎn)用于滿足業(yè)務(wù)和組織的成功,實(shí)現(xiàn)每天多次部署、達(dá)到世界級(jí)的穩(wěn)定性、可靠性、可用性和安全性。【DevOps Handbook】2017年10月北京老李最新整理
附:https://www.douban.com/note/643251358/? DevOps定義編年史:通過DevOps定義看DevOps發(fā)展
5.DevOps全局的優(yōu)化的體現(xiàn)
全局優(yōu)化是指從業(yè)務(wù)到IT開發(fā)、IT測(cè)試、IT運(yùn)營(yíng)再回到最終用戶的價(jià)值流的全生命周期的全局優(yōu)化,如下圖所示:
DevOps2.0是全局IT管理優(yōu)化
全局IT管理優(yōu)化,融合了IT服務(wù)管理、敏捷管理、精益管理等核心方法,通過持續(xù)交付自動(dòng)化的方法實(shí)現(xiàn)了效率、質(zhì)量、風(fēng)險(xiǎn)、成本等管理要求的平衡。
歡迎爬樓,看更多北京老李-DevOps相關(guān)內(nèi)容,ITIL內(nèi)容請(qǐng)關(guān)注”豆列“
https://www.douban.com/note/643862694/ DevOps Master課程:腳踏實(shí)地學(xué)Pre-Master,一步一個(gè)腳印成為DevOps Master
https://book.douban.com/review/8805640/ DevOps布道師為深度工作寫的序:深度工作是心身的一種修練方法
https://book.douban.com/review/8795275/ 咨詢基本功:咨詢顧問基本功之書面溝通及“補(bǔ)充大餐”
https://www.douban.com/note/643251358/ DevOps定義編年史:通過DevOps定義看DevOps發(fā)展
https://www.douban.com/note/637838681/ DevOps應(yīng)用:光大銀行DevOps1.0到DevOps2.0研討會(huì)實(shí)錄
https://www.douban.com/note/639093367/ DevOps應(yīng)用:民生銀行IT一體化管理與自動(dòng)化發(fā)展(1)
https://www.douban.com/note/638965340/ DevOps應(yīng)用:工商銀行DevOps進(jìn)行時(shí)
https://www.douban.com/note/641427886/ DevOps應(yīng)用:DevSecOps云下安全與云等保(云博會(huì)內(nèi)容提前曝光)
https://book.douban.com/review/8820627/ 《把讀到的知識(shí)轉(zhuǎn)化為能力三步法及完美學(xué)習(xí)的四步法》
https://www.douban.com/note/646007197/? 敏捷辯論
更多內(nèi)容自己爬樓吧: