敏捷開(kāi)發(fā)中有幾個(gè)不同的周期,從投資級(jí)的周期,到Scrum和看板周期,再到持續(xù)集成周期。鐘沛專家李老師指出,根據(jù)你使用的敏捷框架的不同,工作的側(cè)重點(diǎn)也都有些許不同??窗逅鶑?qiáng)調(diào)的24小時(shí)周期在運(yùn)營(yíng)團(tuán)隊(duì)里比較流行。而采用Scrum敏捷流程的開(kāi)發(fā)團(tuán)隊(duì),Scrum周期通常是2到4周。在大規(guī)模敏捷框架(Scaled Agile Framework)中,長(zhǎng)周期也非常普遍,稱為項(xiàng)目增量( Program Increments),可以持續(xù)數(shù)個(gè)Scrum Sprint周期。
DevOps要能夠支持這些周期更好地運(yùn)轉(zhuǎn)。在DevOps的思想下這再正常不過(guò)了:在敏捷的企業(yè)中跨部門(mén)協(xié)作。
DevOps在短周期中能帶來(lái)明顯的實(shí)質(zhì)效益,而這些效益會(huì)讓長(zhǎng)周期變得更有效率。俗話說(shuō)不積跬步,無(wú)以至千里;不積小流,無(wú)以成江海。
下面是一些敏捷周期可以從DevOps獲益的例子. DevOps工程師維護(hù)的部署系統(tǒng),讓Scrum周期最后的交付更快、更有效。而交付每2到4周就會(huì)周期性地發(fā)生。
在經(jīng)常手動(dòng)部署的企業(yè)里,部署一次可能需要好幾天。像這樣在部署上沒(méi)有效率的企業(yè)可以從DevOps觀念中獲益良多。
。 看板的周期是24個(gè)小時(shí),所以很顯然如果我們想要在看板方法上取得成功,部署的周期需要快得多。
一旦代碼提交到代碼庫(kù),取決于變更集的大小,一個(gè)設(shè)計(jì)良好的持續(xù)交付流水線
大約只需要幾分鐘就可以把提交的代碼部署到生產(chǎn)環(huán)境。
敏捷不只是形式
由于在量子物理上的成就,Richard Feynman在1965年獲得了諾貝爾獎(jiǎng)。他注意到科學(xué)家中的一個(gè)普遍現(xiàn)象,那就是他們覆蓋了科學(xué)的全部邊界,可是就偏偏漏掉了一些關(guān)鍵性因素。他把這種現(xiàn)象稱為“草包族科學(xué)( cargo cult science)”。這來(lái)源于美拉尼西亞南部海島上的草包族(cargo cult)。草包族這個(gè)說(shuō)法是在第二次世界大戰(zhàn)時(shí),因島上的土著居民觀察到飛機(jī)給他們送貨而產(chǎn)生的——戰(zhàn)爭(zhēng)結(jié)束之后,貨物就不再送來(lái)了。土著們便開(kāi)始模仿以前觀察到的美軍的行為,比如修建模擬機(jī)場(chǎng),幻想飛機(jī)能因此再次回來(lái)。
如果我們只是早上站個(gè)會(huì),喝點(diǎn)咖啡,聊聊天氣,這并不是敏捷或者面向DevOps的方式。如果我們的Puppet只有運(yùn)維團(tuán)隊(duì)才知道怎么用,這也不是DevOps流水線。
我們是否正在做正確的事?是否還在正確的路上?時(shí)刻關(guān)注我們的目標(biāo)并經(jīng)常問(wèn)自己,是件非常重要的事情。這是敏捷思考的中心。然而,在實(shí)踐中顯然非常困難。很容易以草包族的方式而告終。
每當(dāng)構(gòu)建部署流水線的時(shí)候,舉個(gè)例子,留神我們?yōu)槭裁匆诘谝粫r(shí)間構(gòu)建它們。最終目標(biāo)是讓人們可以更快、更容易地和新系統(tǒng)交互。它幫助不同角色的人們更有效率地溝通,而不用改變太多。
雖然沒(méi)有科學(xué)根據(jù),但值得記住的是敏捷周期,比如Scrum的sprint周期,一般都會(huì)有辦法來(lái)應(yīng)對(duì)這種狀況。Scrum里,這種辦法被稱為sprint回顧會(huì)議。在會(huì)上,團(tuán)隊(duì)一起討論在上個(gè)sprint大家什么做得好以及什么可以做得更好。在這上面花點(diǎn)時(shí)間來(lái)保證你每天的工作都是在做正確的事情。
一個(gè)常見(jiàn)的問(wèn)題是,spring回顧會(huì)議的結(jié)果并沒(méi)有真正地被執(zhí)行。很不幸,這可能是由于你和企業(yè)的其他部分溝通不暢的問(wèn)題導(dǎo)致的。所以,這些問(wèn)題在回顧會(huì)議上虐你千百遍,但是從來(lái)沒(méi)有得到解決。
如果你意識(shí)到你的團(tuán)隊(duì)正處于這種情況,你將會(huì)從DevOps方法中獲益,因?yàn)樗鼜?qiáng)調(diào)企業(yè)內(nèi)部的協(xié)作。
總結(jié)一下,嘗試使用敏捷方法提供的機(jī)制。如果你正在使用Scrum,請(qǐng)使用sprint回顧會(huì)議機(jī)制來(lái)捕獲潛在的改進(jìn)空間。話雖如此,這些方法不是教條,找出適合你的方法。
想了解更多IT資訊,請(qǐng)?jiān)L問(wèn)中培偉業(yè)官網(wǎng):中培偉業(yè)