2020年12月13日 星期日

心得筆記 | 2020 DevOps Journey of Star Trek Competition

 

公司從去年開始大力推動DevOps 文化, 今年更是大手筆舉辦了獎金百萬等級的 Star Trek 內部競賽,以加速 DevOps 轉型與實踐。


整個遊戲化競賽設計分為一個主路線和一個副本。主路線為從七到十一月需submit 四個HDD (hypothesis driven development) ,把每個 iteration 的假設、驗證和結果分享出來。副本為30+以上不同成熟程度的DevOps Practice 的關卡,參賽團隊如果認為有符合的practice, 可以依照主辦單位提供的template 盡可能描述清楚且提供證據。 

本團隊成績從一開始在九十多隊中只位居四十多名,到最後可以從這麼多優秀又努力的團隊中脫穎而出拿到第九名。

成績比預想的outstanding 很多啊,真心覺得團隊可以走到這個階段真的滿不容易的,可以小小驕傲一下(笑)。

另外最難得的是,這整個的過程幾乎都是整個團隊的自主的累積與進化,真心覺得厲害。

偷偷老實說,當初抱著是來陪榜學習的心態參賽的....XD


Achievement 


先總結一下累積的成果,No 9 of 94 Teams,太空船也升級到最高級的Level 。拿到 Tickets to the Expo。


Selected Good Practices:


1 HDD in M5 submission

5 DevOps practices...

      1. Establish a Live-Site culture 
      2. Write the automation test at the lowest possible level  
      3. Automated security updates prevent vulnerable dependencies 
      4. Prevent hard-coded secrets from getting into the code repository
      5. Telemetry is built and visible for incident detection and problem-solving  






What we enhanced in this Journey 

  • 在進行 M 系列的時候,建立了 case template 紀錄 case 發生的處理步驟,也可以藉以測量 Jaguar case resolve and response 的速度。
  • M4與M5: Define criteria for model, 開始拉友team的 log以得到更即時的客戶 FP feedback
  • M6: 開始拉友team log 過來,查看客戶close case率。另外,因為寫了M6,想到要再出一個新的model
  • DGN-02 幫助 static code scan of fortify 整入 CircleCI 完成自動化最後一步。
  • DRN-02 引入 safety 來檢測 python libraries 的 vulnerabilities dependency 的檢查。
  • GM01 幫助了 application deployment 工作完成後,自動確認部署正確。
  • GM01-03 幫助 release.sh 工具可依憑 dev -> stg -> prod 的佈署相依性確保部署品質。
  • GG-01: 要至少一人review, PR才能進(比賽期間因團隊的共識主動進行調整的,不完全是因為比賽)
  • GG-01: CI 沒跑過PR不能merge


整個旅程可分為三個階段




1. 組隊:四月~五月


當初其實對於要不要參加有些struggle。 
因為考量到專案超級忙碌,趕feature都覺得時間不夠用了....
但另一方面,覺得不參加蠻可惜的,畢竟團隊內部也在討論 DevOps practice,也在往那方向前進。
後來我自己內心小劇場了一下,就在一次sprint plan meeting後的空擋,直接問問團隊要不要組隊參加,一起進來學習。
看起來大家沒有反對的樣子(?)就幫忙組隊了XD。

接下來幾個 manager 討論了一下,選出覺得蠻好的隊長人選 A 同事,很棒的是她也願意幫忙。

如同一開始說的,當初抱著是來陪榜學習的心態參賽的。(我也是這樣跟隊長說XD)
隨緣學習的心態,大概是那種看看能走多遠就走。


2. 默默耕耘 :六月到十月中


這中間,考量到團隊忙碌的程度,基本上我都沒有push與過問成績和progress。但是常看到隊長 A 和後來進來幫忙的副隊長 V主動擔起和團隊溝通的任務,完成一個個的DevOps打怪任務。

我中間偶而問一下需不需要幫忙,有沒有卡住的地方,對卡住的地方稍微提供一點建議給他們參考。

看到很棒的地方是,團隊在其中會討論如何在趕新功能開發時,盡量也往優化 DevOps Practice 的方向靠近。

在大概十月份時,公司高層 Oscar 也很關心這個 tranfer 過程,特地找仍然 active地參與比賽的團隊代表們聊聊。當被問到「為什麼你/妳們還可以持續下去?」,我們的隊長A說,「既然參加了就覺得要堅持下去啊!」。當下聽到時,真是內心有被感動到...


3. 衝刺期 : 十月底到十一月中


在一次問問隊長需不需要幫忙時,多聊了一下。了解到目前大概是二三十名,是看得到 2021 Expo 門票(前15名)的車尾燈的! 

也赫然發現其實團隊在忙碌趕feature 這段期間,也儘量的進化,默默間也累積一些不錯的DevOps practice。

但是,就是缺乏小編花時間去把一個個要submit的任務釐清範圍和定義,評估看離要求的 practice 差距多少?是不是RD可加把勁就達到了?還是已經可以花時間整理出來投稿了?

思考了一下,內心升起在最後一兩個sprint 衝刺一下的念頭。有想法後,很快的找了 leaders 討論一下,取得共識。將目標具體定為「進入前15名,拿到2021 Expo ticket 」,手段為「拿到星球#1 的分數加速器」,且把這個任務升級為正式的feature。

一方面,快速盤點之前累積下來的資產。有一些已經可以啟動小編模式來寫。另外一些是差一點點,就決定加快腳步把它們完成。

另一方面,也在這時候開啟war room模式,每一個war room 時段,有具體的打怪目標,把相對應的成員圈進來一起完成。

這時候兼職斜槓的小編群有四位,除了原有的隊長副隊長外,我也拉了另一位manager C 下海一起加速XDD。

衝刺了近兩個sprint ,穩拿了加數器分數後,總算稍微放心些,等最後的成績結算了。

/

整個旅程從今年4、5月組隊, 到11月底比賽結束。
回想起來,覺得是一段難得也有意思的團隊合作經驗,雖然也蠻辛苦、蠻挑戰的,趁著記憶猶新,紀錄一下。


The Team ^ ^



若有您轉貼需求,請來信討論。 轉貼時禁止修改內容及標題且保持所有連結。禁止商業使用,請註明原文標題、連結以及作者。

沒有留言:

張貼留言

Peggy的實驗空間| 小書庫 Index card ( 讀書筆記總目錄 )

  一直很喜歡閱讀,也常從閱讀好書中與讀書會得到許多的力量與啟發,不管是在人生的低潮抑或是順遂的時候。在閱讀之路上,這幾年也保持一個習慣。當閱讀到喜歡的書籍,且那陣子時間允許,就會提醒自己閱讀完後整理出心得筆記。一方面藉機鍛鍊寫作肌肉與思路,方便之後的複習和查閱。另一方面,也可以...