《持續(xù)集成》讀書筆記之一

為什么要讀這本書?

現(xiàn)在做任何事情心里都要先想著問個(gè)為什么,明確原因和目標(biāo)。持續(xù)集成我們已經(jīng)推進(jìn)了好幾年了,為什么現(xiàn)在還要讀《持續(xù)集成》這本書?是因?yàn)榻叹殞?duì)我們做的持續(xù)集成做了評(píng)估,按照持續(xù)集成成熟度模型,其實(shí)只是處于入門級(jí)(2級(jí))。要向持續(xù)交付這個(gè)目標(biāo)邁進(jìn),還有很多改進(jìn)空間。同時(shí)技術(shù)教練已經(jīng)幫兄弟產(chǎn)品線用jenkins打造了持續(xù)集成流水線,有些方面已經(jīng)比推行了幾年的我們做得還要好了,我們可不能落后啊。另外,按照母公司敏捷教練的說法,敏捷轉(zhuǎn)型,其他的東西可以沒有,但絕對(duì)不能沒有持續(xù)集成。按照CI成熟度模型,第5級(jí)優(yōu)化級(jí)的評(píng)估標(biāo)準(zhǔn)之一是“CI成為團(tuán)隊(duì)?切開發(fā)、測(cè)試?作圍繞的核?,持續(xù)關(guān)注和保障它的有效和穩(wěn)定,視保持CI通過?于開發(fā)新特性”。


感覺對(duì)持續(xù)集成本身的研究還不夠透徹,所以把這本書拿出來讀,當(dāng)然也因?yàn)檫@本書是教練推薦閱讀列表中的。

譯者序

Grady Booch說,成功的項(xiàng)目有兩個(gè)特點(diǎn):一是具有良好的架構(gòu)愿景,二是采用迭代增量式的開發(fā)過程。項(xiàng)目的早期就應(yīng)該驗(yàn)證架構(gòu)的可行性,得到系統(tǒng)的“可行走的骨架”。持續(xù)集成是成功項(xiàng)目不可或缺的實(shí)踐。

現(xiàn)在我們的新產(chǎn)品研發(fā)其實(shí)還比較難做到在一開始就建立一個(gè)可行走的骨架并啟動(dòng)持續(xù)集成,還需要花費(fèi)比較長的時(shí)間進(jìn)行初始架構(gòu)的構(gòu)建,所以應(yīng)該還是有很大的提升空間的。這個(gè)“可行走的骨架”應(yīng)該是和用戶故事地圖也相關(guān)的吧。

成功的項(xiàng)目,還離不開信任:客戶與開發(fā)者相互信任,管理層和開發(fā)者相互信任,開發(fā)者之間相互信任。里根說“信任,但要檢查。”我們也可以反過來說,因?yàn)榭梢噪S時(shí)檢查,所以我們信任。因此,采用持續(xù)集成策略之后,項(xiàng)目中的信任大為增強(qiáng)。

本周在和大家交流精益思想的時(shí)候提到尊重和信任的問題,這可以作為一個(gè)很好的注解:信任,但要檢查。同時(shí)因?yàn)榭梢噪S時(shí)檢查,所以才信任。

這本書向我們揭示了這樣一個(gè)道理:如果一件事很難,而您又必須做,不妨經(jīng)常去做,每次做一點(diǎn)點(diǎn)。其實(shí)這也是古老的“分而治之”思想的一種應(yīng)用。正所謂“滴水穿石,跬步千里”。

項(xiàng)目正在經(jīng)歷的軟件版本部署的痛苦,就是因?yàn)橹暗某掷m(xù)集成沒有做到位吧,集成的范圍不夠,同時(shí)也是因?yàn)闆]有頻繁的做,即沒有做到持續(xù)。出來混,總是要還的,前面沒有投入精力好好做的事情,到后面需要投入更多的精力,花費(fèi)更多的加班來把前面的坑填上。現(xiàn)在的9C試點(diǎn)項(xiàng)目一定要吸取這個(gè)教訓(xùn)。

一本好書使您改變。它將改變您的思想,您看待問題的角度和方式,最終,它將改變您的行為。然而,所有具有重要意義的改變都不會(huì)在一夜之間發(fā)生。改變隨時(shí)都在發(fā)生,但按照您的意志去領(lǐng)導(dǎo)變革卻很難。如果您相信這種變革必須發(fā)生,不妨朝著這個(gè)方向去努力,經(jīng)常改變,每次改變一點(diǎn)點(diǎn)。

說得很好,溫伯格之前的說法和這個(gè)意思差不多吧,及早采取措施,但措施的力度要小。前面幾年都是采取這種方式,但草莓醬鋪得太開,所以就只有薄薄的一層了。這次希望能夠在試點(diǎn)項(xiàng)目集中精力取得突破。

軟件業(yè)中沒有銀彈,不可能有某種東西在短時(shí)間內(nèi)讓您的開發(fā)效率提高10倍。但是我們也容易發(fā)現(xiàn)不同人和不同團(tuán)隊(duì)之間的開發(fā)效率相差巨大,不止10倍。那些軟件高手和明星團(tuán)隊(duì)就像職業(yè)圍棋選手,他們高得驚人的效率是多年用心改進(jìn)實(shí)踐的結(jié)果。

沒有銀彈,是布魯克斯幾十年前的論斷,不過在HP LaserJet Firmware大規(guī)模敏捷轉(zhuǎn)型案例的書中,正是把持續(xù)集成取得的10倍績效提升作為典型例子來說的。從流水線每天集成的代碼量和構(gòu)建次數(shù)這兩個(gè)指標(biāo)來看,確實(shí)取得了10倍速的提升,這是持續(xù)集成推進(jìn)能夠取得的效果。不過書中說的案例橫跨4年時(shí)間,這個(gè)時(shí)間確實(shí)也不能算是短期,所以還是需要有些耐心才行,靜待花開。

Martin Fowler序

關(guān)于持續(xù)集成,一件有趣的事情就是人們常常會(huì)對(duì)它產(chǎn)生的影響感到吃驚。我們經(jīng)常發(fā)現(xiàn)人們認(rèn)為它的好處不大,但它卻給項(xiàng)目帶來了完全不同的感覺。項(xiàng)目的可見性變得好了很多,因?yàn)閱栴}能夠更快的檢測(cè)出來。引入缺陷和發(fā)現(xiàn)缺陷之間的時(shí)間間隔變短,就更容易發(fā)現(xiàn)缺陷,您可以很容易地看見改變了什么,以方便找到問題的根源。當(dāng)它與良好的測(cè)試程序配合時(shí),可以大大減少缺陷的數(shù)量。結(jié)果是,開發(fā)者在調(diào)試上花的時(shí)間減少了,在增加功能上花的時(shí)間更多了,他們?cè)敿?xì)自己是在一個(gè)堅(jiān)實(shí)的基礎(chǔ)上開發(fā)軟件。

想法:10年前老馬的名字在業(yè)界是如雷貫耳的,老馬善于總結(jié)和提煉,著述頗豐,在IT圈中是響當(dāng)當(dāng)?shù)摹?0年后的今天,似乎知道老馬的人很少了,是時(shí)代變了還是我自己老了?或者是因?yàn)殡S著AI崛起,算法工程師上升,程序員越來越不入流了?

這么多年來我們推行的持續(xù)集成一直只是持續(xù)編譯,因?yàn)槿鄙僮詣?dòng)化單元測(cè)試的支撐,所以開發(fā)人員感受到的價(jià)值有限。這次試點(diǎn)項(xiàng)目的推進(jìn),希望在自動(dòng)化單元測(cè)試方面能夠取得長足的進(jìn)步,同時(shí)讓開發(fā)人員自己體會(huì)到好處。

當(dāng)然,光說您應(yīng)該更頻繁地集成是不夠的。在這個(gè)簡單的詞語后面有一些原則和實(shí)踐,正是這些原則和實(shí)踐使得持續(xù)集成變成現(xiàn)實(shí)。

原則和實(shí)踐,原則總是排在前面,敏捷也好,精益也好,都是如此。只有明白了為什么,后面推行實(shí)踐才有意義。另外只要是符合原則的事情,實(shí)踐其實(shí)是可以變通的。以前我對(duì)敏捷的理解是這些實(shí)踐是最重要的,現(xiàn)在慢慢才理解,價(jià)值觀和原則才是更加核心的事情。

Paul Julius序

我一直投入在持續(xù)集成之中,做那些似乎永遠(yuǎn)也做不完的事情。

ZCIP的口號(hào)是持續(xù)意味著一旦開始就永不結(jié)束,和這句話的意思差不多啊。其實(shí)敏捷也是一條永遠(yuǎn)不會(huì)終止的道路,也許永恒的意思就是永不停止吧。

CI的好處,如快速反饋、快速部署和可重復(fù)的自動(dòng)化測(cè)試,要遠(yuǎn)大于實(shí)現(xiàn)CI的麻煩。但是,在創(chuàng)建這類環(huán)境時(shí)卻很容易忽視這一點(diǎn)。

CI的好處似乎是不言自明的,很多人都知道,但是往往開發(fā)人員在需要分析和解決構(gòu)建失敗問題時(shí),卻會(huì)抱怨這個(gè)事情太麻煩了,經(jīng)常打斷當(dāng)前的工作。這也許就是CI想要達(dá)成的目標(biāo)吧。豐田模式或者說精益制造中的自働化,就是要求生產(chǎn)線上的工人發(fā)現(xiàn)問題時(shí)勇敢的拉停流水線,把問題解決掉,避免擴(kuò)散到下游環(huán)節(jié)。持續(xù)集成是軟件行業(yè)和自働化直接對(duì)應(yīng)的實(shí)踐,往往大家還是不會(huì)把CI失敗作為優(yōu)先級(jí)最高的事情來處理,原因是覺得出現(xiàn)某個(gè)小問題比如代碼檢查工具告警了,對(duì)整體質(zhì)量并不會(huì)有太大影響,可以不用現(xiàn)在關(guān)注,以后再解決也來得及。同時(shí)也擔(dān)心時(shí)間被打成碎片,導(dǎo)致效率下降。 其實(shí)在當(dāng)前階段解決是成本最低,效率最高的,因?yàn)閯偺峤坏拇a印象最深刻啊。看起來質(zhì)量內(nèi)建意識(shí)的建立,還有一段比較長的路要走。希望有一天團(tuán)隊(duì)成員能夠自豪的說:這是我創(chuàng)建的產(chǎn)品,沒有缺陷。

我遇到了一些極為復(fù)雜的企業(yè)級(jí)部署結(jié)構(gòu)。我們的客戶根據(jù)業(yè)界的宣傳資料承諾的優(yōu)勢(shì),經(jīng)常希望得到快速的修復(fù)。就像所有的技術(shù)一樣,關(guān)于它可以怎樣輕易地該筆那您的企業(yè),實(shí)際上存在著一些誤導(dǎo)。如果說我從多年的顧問工作中學(xué)到了什么,那就是沒有什么事情像看起來那么簡單。

我想告訴客戶如何實(shí)際地應(yīng)用CI的原則。我想強(qiáng)調(diào)從開發(fā)的“韻律”轉(zhuǎn)變到真正享受到那些好處的重要性。如果開發(fā)者每個(gè)月只簽入(Check In)一次,不關(guān)注自動(dòng)化的測(cè)試,或者并不急于修復(fù)失敗的構(gòu)建,那么要完全享受CI的好處就很成問題了。

沒有什么事情像看起來那么簡單,只有真正做起來才知道門道在哪里。CI其實(shí)關(guān)注的是整體優(yōu)化,如果開發(fā)和測(cè)試各自為正,那么開發(fā)人員可能不會(huì)特別關(guān)注CI的結(jié)果,而只關(guān)心“開發(fā)”工作是不是能夠很快做完,做完之后就是測(cè)試的事情額。敏捷是做出來的,開發(fā)和測(cè)試需要緊密的協(xié)作。

今天我意識(shí)到一個(gè)問題,之前我一篇文章寫得太長,不符合簡書中這個(gè)簡字的要求。其實(shí)有一個(gè)想法,好好提煉一下,寫一篇短文就好,不必長篇大論,唧唧歪歪,否則可能有一天會(huì)被人勒住脖子,把舌頭剪掉。所以,就此打住。


我是有底線的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評(píng)論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,860評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評(píng)論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評(píng)論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,025評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,421評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,642評(píng)論 0 289
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,177評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,970評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,157評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,410評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評(píng)論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,896評(píng)論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,157評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容