# 91APP: Data team to BizDevOps team - 梁瑋哲(Ted)
{%hackmd @HWDC/BJOE4qInR %}
>#### 》[議程介紹](https://hwdc.ithome.com.tw/2024/session-page/3215)
>#### 》[填寫議程滿意度問卷|回饋建言給辛苦的講者](https://forms.gle/4gMo4idFx9nNVRLFA)
## Background
# Ted liang
- marketing cloud
# 鳳凰專案
- 2/3 處理維運
- 功能已上線, 不可能退版.
- 新功能上線一直delay
## Rudy : 專案之初, 始於看見全貌
- data source -> data pipeline -> 應用端
- issue:
- 報表delay : 到14:00 ~ 16:00 才有辦法提供
- data inconsistent
- 應用端的問題
- 指標logic分散在各服務裡, 導致數據落差
- where in
- where not in ()
- 差新增一個D的判斷時, 無法全部改到
- data pipeline issue
- 效能問題
- V1 資料過大時, 報表會delay
- data lineage problem
- 當特定資料異常時, 難以知道哪些排程重新執行, 也導致維運時間拉長.
- data source issue
- schema change
- 改變時沒有通知, 後面的pipeline也不會做.
- data latency issue
- 其他的團隊也需要搬遷到這個database裡頭, 如果他們沒有準時放的話, 就會拉到不完整的資料.也不知道需要重新執行.
- 蝴蝶效益. 會花非常多的時間釐清.
## Modern data stack 介紹
將資料工作者日常所需完成的任務分成多個層級,並且提供建議的解決方案
- **Transform 介紹**
- 可根據需求做scale out
- 平行運算
- 上游資料檢核
- 下游資料表主動更新
- low code or no code
- **Data as Product**
- 將data 視為是一個溝通介面, 要有versioning的觀念
- 撰寫 Data Contract,了解資料相關資訊
- Data 新鮮度
- Data schema
- Data 使用範例
- **Semantic Layer** :處理大量指標和維度的說明 & 組合的問題
- [How Airbnb Achieved Metric Consistency at Scale](https://medium.com/airbnb-engineering/how-airbnb-achieved-metric-consistency-at-scale-f23cc53dea70)
- 通過Semantic Layer解決這個問題.
- 管理指標: 透過gen SQL的方式指標維度,並**動態**產生SQL
- 好處:
- 不需要預先組合寬表.
- 使用端只需focus 要使用哪些指標維度
- 開發端只需focus 如何新增& how to reuse
## Recap the issue mentioned aboved
- logic 分散 => Sematic Layer
- 效能問題/data lineage => Transform
- Shema change & data latency issue => Data as product
===================
# introduction of marketing cloud department
- data collection
- data insight
- 受眾觸及
- 找出符合條件的使用者
- 成效
# 看一下全貌, 跟業務團隊合作
- 業務 vs 產品常見問題
- 業務:我需要達到XX目標, 需要YY個功能/報表.
- option1 : 1天當2天用, 加班
- option2: 依照開發團隊資源, 業務無法達標
- 真的是這樣嗎?
- 我們應該要做的是: 試著了解業務的需求
- breakdown 策略 e.g. 50張報表
- 策略1:看數據
- 策略2:找受眾
- 策略3:投廣告
- 那麼, 如何了解業務的需求?
- Customer Journy : 先看見全貌
- 提問: 制定共同可執行的策略, 換位思考, 建立信任
- 自身的專業能力
- 再多說一些: Customer Journey
- 訪談: 提出正確&真正的需求
- 視覺化: 增加溝通效率.
- 利用好的提問,建立共識, 並制定方案
- [改變提問, 改變人生 :12個改善生活與工作的有力工具 ](https://www.books.com.tw/products/CN11560551?srsltid=AfmBOoojh5iQAkpcOmrDpVfbwPhn4XMQ_kR_kssJMC7xZe_Dt7dBvx3h)
- 自我洞察是關鍵, 你自己是處於什麼心態?
- 學習者心態 or 評判者心態
- 推進的方式
- 重要的, 有共識的策略優先做.
- 其餘迭代
# BizDevOps的成果
- 公司
- 業務
- 產品
- 我
需要一進一退, 要雙方都有意願.
# Take away
- modern data stack解放雙手
- ingestion/transform/data as product/semantic layer
- low code/no code 降低維運成本, KISS
- 解決商務的問題
- Biz/Dev/Ops 的流程優化是個無限賽局
- 解決現場問題->解決business 問題->scale out 議題 -> 認知負載
- 所有的solution 都有pros & cons , 需要不斷優化流程改善現場的問題, 提升團隊工作效率.
-