從敏捷1.0到DevOps2.0實現(xiàn)了從局部到全局的優(yōu)化

首先看看敏捷最早應(yīng)于于哪個領(lǐng)域,即軟件開發(fā)領(lǐng)域,不僅僅有敏捷軟件,擴展開來還包括,敏捷項目、敏捷集團、敏捷企業(yè),好像只有沾上敏捷就能把事情做好。敏捷從0.1到1.0走過了慢長的15年發(fā)展。但在回顧這個歷史你會發(fā)現(xiàn),敏捷對于企業(yè)來講,僅僅是解決開發(fā)端質(zhì)量與效率的平衡。目前看僅僅是DevOps,真正解決了端到端的價值流全局優(yōu)化。那么首先回顧一下敏捷誕生與敏捷歷史。

1.敏捷宣言誕生

2000年9月,來自芝加哥Object Mentor公司的Bob Martin用一封電子郵件吹響了首次敏捷會議的集合哨。“我想召集一個為期2天的小型會議,時間是2001年1月或2月,地點在芝加哥,目的是讓所有輕量級方法論的領(lǐng)袖們匯聚一堂。您們都被邀請了。如果您們覺得還有誰該來,請告訴我。”雖著他的召集,

敏捷首次大會于2001年2月11日到13日召開,17位軟件開發(fā)領(lǐng)域的領(lǐng)軍人物聚集在美國猶他州的滑雪勝地雪鳥(Snowbird)雪場。

經(jīng)過兩天的討論,“敏捷”(Agile)這個詞為全體聚會者所接受,用以概括一套全新的軟件開發(fā)價值觀。這套價值觀,通過一份簡明扼要的《敏捷宣言》,http://agilemanifesto.org/,中文直譯為:敏捷軟件開發(fā)宣言。

敏捷宣言的誕生,宣告訴了長達(dá)15年的敏捷開發(fā)運動開始了,參會的大師們帶著16種敏捷方法,在全球進(jìn)行推廣,包括來自于極限編程、Scrum、DSDM、自適應(yīng)軟件開發(fā)、水晶系列、特征驅(qū)動開發(fā)、實效編程等方法,他們認(rèn)為找到了一種管理好軟件開發(fā),應(yīng)對于不同敏捷方向的精神力量,并且強調(diào)用于代替文檔驅(qū)動和重型軟件開發(fā)過程。

2.敏捷管理發(fā)展

敏捷自敏捷宣言的誕生到現(xiàn)在17年過去了,自敏捷1.0應(yīng)用最廣泛的是Scrum方法,就在于他解決了開發(fā)管理的問題,但從一個企業(yè)視角來看,也是僅僅解決了開發(fā)端管理的問題。那么下面簡要看一下各方向的概述。

SCRUM:全球應(yīng)用超過70%,SCRUM是一種迭代的增量化過程,用于產(chǎn)品開發(fā)或工作管理。它是一種可以集合各種開發(fā)實踐的經(jīng)驗化過程框架。SCRUM中發(fā)布產(chǎn)品的重要性高于一切。該方法由Ken Schwaber和 Jeff Sutherland 提出,旨在尋求充分發(fā)揮面向?qū)ο蠛蜆?gòu)件技術(shù)的開發(fā)方法,是對迭代式面向?qū)ο蠓椒ǖ母倪M(jìn)。

XP(極限編程)的思想源自 Kent Beck和Ward Cunningham在軟件項目中的合作經(jīng)歷。XP注重的核心是溝通、簡明、反饋和勇氣。因為知道計劃永遠(yuǎn)趕不上變化,XP無需開發(fā)人員在軟件開始初期做 出很多的文檔。XP提倡測試先行,為了將以后出現(xiàn)bug的幾率降到最低。

Crystal Methods(水晶方法族):由Alistair Cockburn在20實際90年代末提出。之所以是個系列,是因為他相信不同類型的項目需要不同的方法。雖然水晶系列不如XP那樣的產(chǎn)出效率,但會有更多的人能夠接受并遵循它。

FDD (Feature-Driven Development,特性驅(qū)動開發(fā)):由Peter Coad、Jeff de Luca 、Eric Lefebvre共同開發(fā),是一套針對中小型軟件開發(fā)項目的開發(fā)模式。此外,F(xiàn)DD是一個模型驅(qū)動的快速迭代開發(fā)過程,它強調(diào)的是簡化、實用、 易于被開發(fā)團隊接受,適用于需求經(jīng)常變動的項目。

ASD(Adaptive Software Development,自適應(yīng)軟件開發(fā)):由Jim Highsmith在1999年正式提出。ASD強調(diào)開發(fā)方法的適應(yīng)性(Adaptive),這一思想來源于復(fù)雜系統(tǒng)的混沌理論。ASD不象其他方法那樣 有很多具體的實踐做法,它更側(cè)重為ASD的重要性提供最根本的基礎(chǔ),并從更高的組織和管理層次來闡述開發(fā)方法為什么要具備適應(yīng)性。

DSDM(動態(tài)系統(tǒng)開發(fā)方法):是眾多敏捷開發(fā)方法中的一種,它倡導(dǎo)以業(yè)務(wù)為核心,快速而有效地進(jìn)行系統(tǒng)開發(fā)。實踐證明DSDM是成功的敏捷開發(fā)方法之一。在英國,由于其在各種規(guī)模的軟件組織中的成功,它已成為應(yīng)用最為廣泛的快速應(yīng)用開發(fā)方法。DSDM不但遵循了敏捷方法的原理,而且也適合那些成熟的傳統(tǒng)開發(fā)方法有堅實基礎(chǔ)的軟件組織。

輕量型RUP:其實是個過程的框架,它可以包容許多不同類型的過程, Craig Larman 極力主張以敏捷型方式來使用RUP。他的觀點是:目前如此眾多的努力以推進(jìn)敏捷型方法,只不過是在接受能被視為RUP 的主流OO開發(fā)方法而已。

敏捷1.0之后從傳統(tǒng)觀點應(yīng)該是迎來敏捷2.0,但隨著各家流派的興起,以及敏捷陣營的分家,敏捷應(yīng)來的是多家敏捷方法之應(yīng)用。

3.敏捷陣營的分家

SCRUM的創(chuàng)始人之一的 Schwaber 被近離開了 Scrum 聯(lián)盟(以下簡稱 SA),而且還是被董事會/理事會趕走的。下圖為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ā)運營一體化(DevOps)有很多個基于敏捷的方法在推廣與使用著。隨著業(yè)內(nèi)敏捷百花齊放,各方法都在不斷發(fā)展,業(yè)內(nèi)可以看到的是兩條路徑,第一條是敏捷向規(guī)?;M(jìn)行發(fā)展,即Spotify、Less、Nexus、SOS、SAFe等方法。第二條即基于DevOps的方法擴展,解決企業(yè)全流程全局優(yōu)化問題。

多數(shù)方法都是基于開發(fā)的敏捷規(guī)?;瘮U展,未能實現(xiàn)企業(yè)級的全局優(yōu)化(Spotify、SAFe、Scrum Of Scrum、Scaled Professional Scrum - Nexus、Disciplined Agile Delivery、LeSS(Large Scale Scrum)。

DevOps的特點在于企業(yè)全局通過引入精益、敏捷、持續(xù)交付實現(xiàn)了企業(yè)全局的管理優(yōu)化工作,并且以價值流為驅(qū)動,實現(xiàn)了業(yè)務(wù)價值交付。

DevOps:由Patrick Debois發(fā)起,IT咨詢師,DevOps的目標(biāo)就是把Development和Operations整合在一起,提升全局優(yōu)化效能,因為Dev和Ops中間存在工作墻,需要把開發(fā)(Dev)和Ops(運維)整合起來。

不同的階段patrick debois提出了不同的想法。DevOps1.0的核心是為了解決開發(fā)與運維一同玩耍,但到了DevOps2.0,要解決端到端的價值流快速交付 。最新Devops2.0定義為:

DevOps是一個軟件工程實踐。通過開發(fā)、質(zhì)量、IT運營和信息安全人員的協(xié)作,朝著一個共同的目標(biāo)努力,使技術(shù)價值流通過計劃工作快速投產(chǎn)用于滿足業(yè)務(wù)和組織的成功,實現(xiàn)每天多次部署、達(dá)到世界級的穩(wěn)定性、可靠性、可用性和安全性?!綝evOps 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測試、IT運營再回到最終用戶的價值流的全生命周期的全局優(yōu)化,如下圖所示:

DevOps2.0是全局IT管理優(yōu)化

全局IT管理優(yōu)化,融合了IT服務(wù)管理、敏捷管理、精益管理等核心方法,通過持續(xù)交付自動化的方法實現(xiàn)了效率、質(zhì)量、風(fēng)險、成本等管理要求的平衡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容