[心得] 在北歐的科技業搞DevOps跑敏捷是什麼樣的體驗? [Agile Taipei]

你知道在歐洲工作是什麼感覺嗎?  北歐的工程師又需要做些什麼事呢?
來這場meetup分享會準沒錯,講者是有名氣又厲害的陳小風,
雖然參加前還沒聽過這號人物,但聽完之後真心覺得很佩服呢!

前言

講者小風在Klarna上班,是瑞典的一間FinTech公司,有4000+的員工。
在瑞典工作,福利真的超級好:
  1. 每天上班朝9晚5,實際約5小時,3點半還有下午茶
  2. 原則上沒有人加班
  3. 一任職就固定每年30天假
  4. 法律保障休假權,也就是30天一定能休完
  5. 產假有480天
  6. 優良的工作環境:升降桌、雙螢幕、免費咖啡+水果...
不過福利愈好,代表責任愈大...
全公司都具備Agile Mindset,從行銷到資訊人員,甚至是人資部門。
保持startup的精神,這意味著不斷追求創新與進步,為公司不停開創新的賺錢方式。

不過在台灣,老闆們也是喊得很用力,大家要導入敏捷開發,要持續改進,要迭代發展產品...
說起來簡單,做起來可能就不是這麼一回事了。
接下來就講到關鍵的地方,要怎麼才能做到Agile Mindset呢?

敏捷化組織

即使是這麼多員工的公司,在組識運作上,都是組成10人內的團隊編制。
一般來說有 4~5 Dev + 1 Designer + 1 Data(數據收集) + 1Leader + 1 PO
組成E2E全功能團隊,能獨立運作,每個人也不分角色,共同維護團隊的產品。

科學 > 感覺

公司重視數據收集(Metric Driven),透過數據分析,來做相對應的決策。
  • 資訊透明
    方便查找資料,並且讓團隊成員了解產品狀況。
  • 量化評估
    發出一張信用卡的成本多少錢?  用戶平均使用多久才能賺回發一張卡的成本?
    透過量化的數據,可以精算出上述資訊,以決定投資ROI。
  • 使用者數據
    了解產品被使用的頻率與操作方式。檢視產品功能的成效,以決定接下來的發展方向。
  • 透過 假設->收集->分析的步驟,來達到產品的改善與優化

組織協作

這麼多的小團隊,要怎麼合作?
每個Team會發展自己的產品,有些是賣給外面的客戶,也有些做為內部的基礎服務。
舉例來說,上述的數據收集工作,就有團隊在發展Metric的元件,給內部所有團隊使用。
另外還有其他內部Support如:
  • Splunk -> 類似ELK,做Log收集與分析的工具
  • Infrastructure
  • Framework
  • UI -> 套用提供的元件,能write once run anywhere
整個公司就像是有上百個startup團隊,在發展獨立的產品,但又彼此協作配合。
也因此,團隊具有相當的自主權,
老闆只要訂出公司發展的方向,剩下的授權給團隊自行發展。

低工時卻高效率

產品為何做不完?
  • 想要的功能太多
  • 需求變太快
  • 預期之外的錯誤
  • 依賴其他團隊
這幾點確實是讓我們需求永遠做不完的很大原因,
甚至才剛做完就發現需求和你想的不一樣 XD
所以對應上述問題,該把握的原則就是要聚焦
  • 提高生產效率
  • 專注生產價值
  • 減少不必要的浪費:metric driven
  • 限縮產品範圍
  • 減少外部依賴
  • 隨時merge,隨時上線:1天可上版100次以上
高效率是大家想追求的,但平時就是三不五時來一些障礙,實在很難專心做好手上的事,怎麼辦?

Agile + Devops

  • 盡可能地自動化
    能自動就不要手工,CI/CD的流程有80+ stage (完全無法想像怎麼做到的)。
    用測試來確保產品穩定,用Linter檢查原始碼符合開發規範。
  • pair programming
    大家的工作能彼此備援,並提升程式品質。
  • MVP
    先做出會動的版本,找出最重要的一個功能,專注達成主要標,觀察市場反應來調整產品。
  • 監控/警示系統
    隨時了解系統狀況,異常自動警示,在使用者發現問題前就把問題修正。
  • Feature Toggle
    控制產品功能,遇到異常時能隔離問題點,能達成局部功能上線/持續上線,對新功能做A/B Testing以搜集使用回饋。

技術實現

大量使用微服務
  • 功能隔離
  • 容易迭代產品功能
  • 容器化做資源有效利用
  • 採服務proxy機制,後端服務可隨時切換
  • 持續重構服務,必要時直接重寫服務

總結

講者其實還分享了很多細節資訊,包含在歐洲生活的種種美好,又或是如何準備出國求職的資料(意圖使人出走!)。
不過最後說到台灣,其實家鄉還是非常好的,有好吃的食物,方便的交通,以及最重要的,我們的家。
其實不論是在國外或是台灣,大家都能為台灣的軟體業多付出一點,
秉持著Agile Mindset,持續做對的事情,持續進步,讓台灣發光發熱!!

留言

這個網誌中的熱門文章