我們一直都在探討DevOps,關(guān)于“Dev”和“Ops”仿佛總有貌合神離的情況出現(xiàn),最重要的目的就是鼓勵(lì)開(kāi)發(fā)部門(mén)和運(yùn)維部門(mén)通力合作。在真正的工作環(huán)境中,DevOps雖然仍存在很多爭(zhēng)議,但它的價(jià)值確是不可估量的,所以我們必須將DevOps進(jìn)行到底。本文主要探討DevOps的一項(xiàng)關(guān)鍵性話題——價(jià)值流程圖,它是實(shí)現(xiàn)整個(gè)DevOps的第一步,在DevOps能否被接納的問(wèn)題上起到了至關(guān)重要的作用。
“DevOps”應(yīng)該從管理層認(rèn)可開(kāi)始
DevOps出現(xiàn)之后,大家也許曾經(jīng)提出或者聽(tīng)到過(guò)一個(gè)很關(guān)鍵卻又普遍的問(wèn)題——“DevOps轉(zhuǎn)型應(yīng)該從哪里開(kāi)始?”
在工作中,并非所有人都信任DevOps,通常遇到的第一個(gè)難題是得到管理層的認(rèn)可與支持,因?yàn)镈evOps的核心含義可能會(huì)掀起公司的大變革。
價(jià)值流程圖才是最理想的DevOps第一步
DevOps的終極目標(biāo)在于產(chǎn)品快速迭代的同時(shí)又能保證良好的質(zhì)量水平,為了了解當(dāng)前哪些人員、流程、技術(shù)需要修復(fù)或改進(jìn),我們要畫(huà)出整個(gè)軟件交付周期的價(jià)值流程圖——從接收應(yīng)用或者功能的開(kāi)發(fā)新要求,到將產(chǎn)品交付至客戶或者員工。而這正是DevOps最理想的第一步,這項(xiàng)工作包括:
1、全部流程區(qū)都將參與其中
2、保障信息流程與開(kāi)發(fā)流程(對(duì)于應(yīng)用開(kāi)發(fā)工作)
3、流程時(shí)長(zhǎng),即新應(yīng)用或功能在單一流程之內(nèi)的開(kāi)發(fā)周期
4、生產(chǎn)交貨時(shí)間,即應(yīng)用或功能需要耗費(fèi)多長(zhǎng)時(shí)間來(lái)過(guò)渡到下一個(gè)流程并最終達(dá)至交付
5、現(xiàn)有應(yīng)用或者功能的就緒時(shí)間
6、新型應(yīng)用或者功能的現(xiàn)有交付時(shí)間
價(jià)值流程圖有很多版本,每個(gè)人的理解也有偏差,有時(shí)候在面對(duì)客戶時(shí)甚至不清楚他們是否已經(jīng)擁有一套有意義的價(jià)值流程圖方案。
以下示意圖通過(guò)簡(jiǎn)單示例解釋了新功能發(fā)布所需的價(jià)值流程圖方案:
在這套流程機(jī)制中,我們可以看到:
1、信息流程——即新功能的要求如何與業(yè)務(wù)相契合并與CIO進(jìn)行對(duì)接。在這種情況下,每隔一周就要進(jìn)行一次需求討論會(huì)。需要注意的是,應(yīng)用智能(包括監(jiān)控與分析兩大要素)對(duì)反饋回路非常重要。
2、軟件開(kāi)發(fā)流程——此流程在IT部門(mén)內(nèi)部,同樣屬于新功能開(kāi)發(fā)的重要組成部分。需要注意的是,應(yīng)用智能同樣對(duì)軟件開(kāi)發(fā)周期內(nèi)的信息反饋與交付回路至關(guān)重要。
3、交付時(shí)間表——即將應(yīng)用或功能由理論要求轉(zhuǎn)化為可交付內(nèi)容的時(shí)間周期。在這里我們可以看到兩項(xiàng)計(jì)算過(guò)程:1)產(chǎn)品交付時(shí)間=該功能在不同流程間過(guò)渡所耗費(fèi)的總時(shí)長(zhǎng);2)流程時(shí)間=該功能在每個(gè)流程當(dāng)中所耗費(fèi)的獨(dú)立時(shí)長(zhǎng)。
4、在此之后,我們能夠一步步計(jì)算出總體功能就緒時(shí)間和總體功能交付時(shí)間。在這個(gè)示例當(dāng)中,一項(xiàng)全新功能需要大約三個(gè)半月才能被呈現(xiàn)在用戶面前——這樣的周期對(duì)于當(dāng)前追求唯快不破的用戶來(lái)說(shuō)太過(guò)漫長(zhǎng)了。
關(guān)于價(jià)值流程圖的五項(xiàng)提示
為自己的DevOps做一張價(jià)值流程圖僅僅只是第一步,好的價(jià)值流程圖機(jī)制應(yīng)該具備極強(qiáng)的針對(duì)性,能夠很輕易繪制在白板之上,最重要的是能幫助工作人員解讀當(dāng)前流程。而前面列舉的示例則能更近一步向企業(yè)決策者展示并爭(zhēng)取到他們的認(rèn)可。如何做好專屬的DevOps價(jià)值流程圖,以下五點(diǎn)你可能會(huì)用到:
1、價(jià)值流程圖最重要的意義并不在于立即生效,它會(huì)逐步進(jìn)行同時(shí)幫助同一團(tuán)隊(duì)內(nèi)的成員理解整個(gè)流程,通過(guò)抱怨、訴求、接納以及變更等途徑直至達(dá)成共識(shí)。這對(duì)于整個(gè)DevOps團(tuán)隊(duì)來(lái)說(shuō)極為重要,因?yàn)槿粘9ぷ鳟?dāng)中我們會(huì)發(fā)現(xiàn),往往就是不溝通不訴求才會(huì)導(dǎo)致效率下降。
2、不要在決策制定者未了解的情況下著手構(gòu)建價(jià)值流程圖,這樣的話將無(wú)法確保流程的準(zhǔn)確性。只有決策制定者才能真正了解到整個(gè)DevOps的實(shí)際情況,能保證最后的流程能夠順利進(jìn)行,這可能會(huì)很麻煩但卻非常值得。
3、對(duì)于DevOps價(jià)值流程圖的討論一般需要較長(zhǎng)的時(shí)間,根據(jù)大家實(shí)際采取的流程情況來(lái)定,要確保不同職責(zé)的人能夠在這一環(huán)節(jié)中暢所欲言,避免把同一項(xiàng)內(nèi)容拆分開(kāi),因?yàn)镈ev和Ops在實(shí)際工作中還是有很大區(qū)別的。
4、DevOps價(jià)值流程圖的規(guī)劃需要一個(gè)主持人,他將扮演極為重要的角色。要統(tǒng)一來(lái)自不同部門(mén)的意見(jiàn),調(diào)節(jié)大家的情緒波動(dòng),讓不同參與者在討論過(guò)程中始終保持正確的交流狀態(tài)。
最后是價(jià)值流程圖的發(fā)布,需要組織一次研討會(huì)或電話會(huì)議,以更正式的方式進(jìn)行價(jià)值流程圖方案的發(fā)布,因?yàn)檫@是DevOps的第一步,同時(shí)也是最重要的一步,它是實(shí)現(xiàn)各類有價(jià)值目標(biāo)的必要基礎(chǔ),是以后所有工作的起點(diǎn)和指導(dǎo)。
接下來(lái)該如何使用價(jià)值流程圖?
說(shuō)到這里,我們僅僅勾勒出了價(jià)值流程圖方案的輪廓,也許你的心中也有了屬于你自己的DevOps價(jià)值流程圖。需要強(qiáng)調(diào)的是,這里的每個(gè)流程都只是參考,我們需要結(jié)合自身實(shí)際情況,包括人員因素、內(nèi)部流程與技術(shù)類別等,分辨出他們具體處于哪個(gè)階段,該流程的持續(xù)時(shí)間甚至最終交付時(shí)間如何確定,這些都是我們需要自己去考慮的。
如果最后能夠確保DevOps價(jià)值流程圖真實(shí)準(zhǔn)確,那DevOps的第一步將走得無(wú)比堅(jiān)實(shí),這不僅能解決DevOps實(shí)施過(guò)程中的矛盾,同時(shí)還回答了之前關(guān)于DevOps的核心目標(biāo)——指導(dǎo)我們?nèi)绾卧诩涌彀l(fā)布速度的同時(shí)保證成果的質(zhì)量水平,從此邁出DevOps的第一步!
關(guān)于聽(tīng)云:
作為國(guó)內(nèi)最大的應(yīng)用性能管理(APM)解決方案提供商,擁有聽(tīng)云App、聽(tīng)云Network、聽(tīng)云Server、聽(tīng)云Browser四條重要產(chǎn)品線。在真實(shí)用戶體驗(yàn)視角下實(shí)現(xiàn)移動(dòng)客戶端、服務(wù)端與網(wǎng)絡(luò)的性能監(jiān)控與管理。