2016-12-18

[筆記] 乘著Agile的風 往CD的方向 in Agile Tour Taipei 2016





這個Session描述著一個沒有Agile實踐的團隊 怎麼一步一步地邁向CD之路
講師是 Edward
首先講者準備了一組 成熟度模型
用來評估目前團隊的成熟度
幫助組織了解目前團隊的開發流程距離CD這條路還有多遠

[五大指標]
(1) CI
(2) Automated Deployment to env
(3) Test Automation
(4) Version Control
(5) Agile CD
[判斷準則]
(1) 流程無法重複使用
(2) 有流程可參考 部分自動化
(3) Agile 開發流程中有自動化
(4) 流程可視並趨勢追蹤
(5) 流程最佳化處理

而以下是講者一步一步地讓團隊走向CD的步驟
我個人覺得超有感 因為我們現在也是很不DevOps 手活還是很多
阻塞了整體的速度

Step 1 : Local的 automation script 
(要先有script 再上CI 才有意義)
(後來 Open Space跟朋友聊這塊 也有人分享說 先上Local 對Member心理上是安全的)

Step 2 : CI
透過Jenkins來跑Step 1產生的 Local Script

Step 3 : Version control
[jug] 這點我覺得怪怪的 Version Control 不是應該是Step1嗎

Step 4 : 自動化部署
參考一下 : ios-deploy, facelane, fabric(remote deployment)

Step 5 : 開始跑 Non-functional test
定義 Monkey Test

Step 6 : 可視化
讓大家都知道 目前的狀態
    (1) Slack (透過slack 通知大家狀態)
    (2) Pipeline (Jenkins PipeLine 一目瞭然)
    (3) JIRA (issue tracking)

如果大家都裝死不看?(狼來了效應)
可以用聲音通知大家

Step 7 : 團隊快速溝通
(1) 快速開發
(2) 快速調整整合需求
(3) 快速測試 => [3A] Anyone, Anytime, Anywhere
(4) 快速改進 不要放棄 => Retrospective

講師有句話說得真好 我非常認同
*** Retrospective 做得好 開發沒煩惱 ***


補充3A測試的部分
可以透過 Slack bot 跟 Jenkins整合
讓人人(非QA) 能夠自己呼叫 slack bot 去做測試 不用再麻煩QA
Slack bot的好處 就是隨時隨地任何人 透過Slack Bot下指令去工作
能自動化的地方就自動化 手工的部分還是越少越好
這也是我的目標

*** Test as a Service (3A + 2A) 3A + AnyDevice + AnyAutomate ***

講者最後提到了 Test as a Service
跟我最近跟一些團隊接觸的經驗頗像

另一方面 由於講者是出自於StartUp Team
所以工具都是找免費的資源
這點可以好好參考

參考資料:
The Continuous Delivery Maturity Model
上面這串是CD的成熟度模型評測 可以拿來評評看自己的團隊喔

PS. 講師的投影片 如果有放出來 我再補上

0 意見: