敏捷-武裝大腦 devops-武裝身體

1 開(kāi)始

??筆者真正開(kāi)始接觸敏捷開(kāi)發(fā)的時(shí)間只有1年半的時(shí)間,在這之前,參與的項(xiàng)目大都算是瀑布式開(kāi)發(fā)。如果把瀑布式的開(kāi)發(fā)方式比喻為一條沒(méi)有感情的流水線,流水線中的需求、開(kāi)發(fā)、測(cè)試、上線、運(yùn)營(yíng)人員通過(guò)約定好的流程、文檔進(jìn)行交互和工作(這在第二次工業(yè)革命被贊賞的工作方式),時(shí)間一長(zhǎng),就像電影摩登時(shí)代生產(chǎn)流水線上那個(gè)扭緊六角螺帽里卓別林一樣。

??但在如今變化是唯一不變的社會(huì)里,響應(yīng)變化成為第一要義,更快更好是奮斗目標(biāo),于是冷冰冰的流水線開(kāi)發(fā)開(kāi)始了文藝復(fù)興。開(kāi)始強(qiáng)調(diào)人、協(xié)作、產(chǎn)品和迭代。而這一切開(kāi)始于2001年、在美國(guó)猶他州瓦薩奇山的那一場(chǎng)雪。

2 敏捷-武裝大腦

??當(dāng)我們?cè)谡劦矫艚莸臅r(shí)候,都會(huì)是從敏捷宣言敏捷原則 開(kāi)始的:


敏捷軟件開(kāi)發(fā)宣言

個(gè)體和互動(dòng) 高于 流程和工具

工作的軟件 高于 詳盡的文檔

客戶合作 高于 合同談判

響應(yīng)變化 高于 遵循計(jì)劃

四項(xiàng)價(jià)值觀并不意味著我們就該放棄工具、文檔和計(jì)劃。因?yàn)樗鼈儗?duì)研發(fā)結(jié)果依然有非常重要的價(jià)值,只是相比之下,我們應(yīng)該關(guān)注更核心的事物:人、產(chǎn)品模型、協(xié)作和迭代。為了讓這四項(xiàng)原則變得簡(jiǎn)單易懂好執(zhí)行, 他們又將寫(xiě)了敏捷開(kāi)發(fā)12項(xiàng)原則作為指導(dǎo)


敏捷開(kāi)發(fā)12項(xiàng)原則

  • 1 我們最重要的目標(biāo),是通過(guò)持續(xù)不斷地及早交付有價(jià)值的軟件使客戶滿意。
  • 2 欣然面對(duì)需求變化,即使在開(kāi)發(fā)后期也一樣。為了客戶的競(jìng)爭(zhēng)優(yōu)勢(shì),敏捷過(guò)程掌控變化。
  • 3 經(jīng)常地交付可工作的軟件,相隔幾星期或一兩個(gè)月,傾向于采取較短的周期。
  • 4 業(yè)務(wù)人員和開(kāi)發(fā)人員必須相互合作,項(xiàng)目中的每一天都不例外。
  • 5 激發(fā)個(gè)體的斗志,以他們?yōu)楹诵拇罱?xiàng)目。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。
  • 6 不論團(tuán)隊(duì)內(nèi)外,傳遞信息效果最好效率也最高的方式是面對(duì)面的交談。
  • 7 可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。
  • 8 敏捷過(guò)程倡導(dǎo)可持續(xù)開(kāi)發(fā)。責(zé)任人、開(kāi)發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。
  • 9 堅(jiān)持不懈地追求技術(shù)卓越和良好設(shè)計(jì),敏捷能力由此增強(qiáng)。
  • 10 以簡(jiǎn)潔為本,它是極力減少不必要工作量的藝術(shù)。
  • 11 最好的架構(gòu)、需求和設(shè)計(jì)出自自組織團(tuán)隊(duì)。
  • 12 團(tuán)隊(duì)定期地反思如何能提高成效,并依此調(diào)整自身的舉止表現(xiàn)。

??如果我們把這些原則和遇到的問(wèn)題對(duì)號(hào)入座,很快我們就會(huì)發(fā)現(xiàn),這12項(xiàng)原則正是對(duì)應(yīng)了客戶期望。比如,客戶不會(huì)關(guān)心開(kāi)發(fā)文檔寫(xiě)的怎么樣,他們更感興趣交付的成品能干什么;他們不在意你的開(kāi)發(fā)計(jì)劃,他們希望你能立馬交付;昨天他們想要修個(gè)BUG,而不是等到下次版本更新。

??這聽(tīng)起來(lái),是不是很像工業(yè)生產(chǎn)方式 -> 服務(wù)業(yè)生產(chǎn)方式的演進(jìn)。

3 devops-武裝身體

??如果說(shuō),敏捷開(kāi)發(fā)是在對(duì)IT從業(yè)者在洗腦,相信變化的必然、用戶是上帝上帝是多變的、擁抱變化漸進(jìn)開(kāi)發(fā);同時(shí),這在為項(xiàng)目管理者提供管理的方向:進(jìn)度量化MVPWIP、自組織、持續(xù)反思面面溝通、以開(kāi)發(fā)者為本。

??使用敏捷價(jià)值觀武裝大腦,但真正打仗,還需要手里有槍、有坦克,所以devops是敏捷團(tuán)隊(duì),必不可少的武器。

1 聊聊devops

image.png
  • DevOps 是一組技術(shù)/實(shí)踐
  • DevOps 是一個(gè)角色
  • DevOps 是一種工作方式
  • DevOps 是一種組織結(jié)構(gòu)

??上圖是現(xiàn)在常見(jiàn)對(duì)devops的理解,對(duì)于我來(lái)講,devops是一組技術(shù)/實(shí)踐,是完成敏捷的武器。

devops是高效工具的總和、是提升軟件研發(fā)效能的武器庫(kù)。高頻部署、持續(xù)交付、云計(jì)算/虛擬化技術(shù)、基礎(chǔ)設(shè)施即代碼、Docker、自動(dòng)化運(yùn)維 是常常被提到的技術(shù),這些技術(shù)大大加快研發(fā)、運(yùn)維流程的周轉(zhuǎn),提高價(jià)值流向速度,同時(shí)能很好的量化

image.png
image.png

誤區(qū): DevOps 絕不是為了提升部署頻率而犧牲了軟件質(zhì)量和業(yè)務(wù)價(jià)值,甚至是安全措施

1 devops-道

  • 價(jià)值流動(dòng)(Value flow)
  • 即時(shí)反饋(Instant feedback)
  • 持續(xù)改進(jìn)(keep improve)

??devops的價(jià)值觀與敏捷一脈相承,價(jià)值快速流動(dòng),持續(xù)不斷地及早交付有價(jià)值的軟件使客戶滿意;敏捷關(guān)注人與人的高效溝通,devops將溝通擴(kuò)展到人與人、人與機(jī)、機(jī)與機(jī)的部分,通過(guò)各個(gè)階段的即時(shí)反饋,確保價(jià)值的快速流動(dòng)。迭代、持續(xù)改進(jìn)是對(duì)好與快這對(duì)矛盾體的現(xiàn)實(shí)方法。

2 devops-法

  • 自動(dòng)化 (Automation)
  • 可視化 (Visualization)
  • 持續(xù)集成(Continuous integration)
  • 持續(xù)交付(Continuous Delivery)
  • 協(xié)同工作(Collaboration Culture)

??如果說(shuō),瀑布開(kāi)發(fā)對(duì)于公司是部門(mén)->部門(mén)->部門(mén)間的價(jià)值流動(dòng);敏捷就是團(tuán)隊(duì)內(nèi)部人->人->人的價(jià)值流程;但是當(dāng)加入了devops,他將變成 人->機(jī)器->機(jī)器->人的價(jià)值流動(dòng)。

3 devops-術(shù)

  • 一切皆代碼(Everything as Code)
  • 測(cè)試即代碼(Testing as code)
  • 配置即代碼(Configuration as Code)
  • 基礎(chǔ)設(shè)施即代碼(Infrastructure as Code)

??基礎(chǔ)設(shè)施即代碼利用了編程語(yǔ)言和虛擬化工具 API 的無(wú)縫連接達(dá)到這一目的。它在很大程度上把基礎(chǔ)設(shè)施的管理當(dāng)做其問(wèn)題域,采用正確的面向?qū)ο蠓绞?,讓開(kāi)發(fā)人員和運(yùn)維人員能夠理解并設(shè)計(jì)出更加穩(wěn)定和靈活的基礎(chǔ)設(shè)施。配置與測(cè)試也有著相同的作用,更重要的這讓項(xiàng)目的所有角色都真正成為了Dever,并且代碼作為項(xiàng)目資產(chǎn)的繼承和共享更加有價(jià)值和高效。

4 devops-器

  • CI Tool
  • Build Tool
  • Deployment Tool
  • Knowledge Tool
  • ChatOps
  • Testing Tool
  • SCM Tool
  • Application Lifecycle
  • Docker/K8S
  • Monitoring/Logging
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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