# 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 , 需要不斷優化流程改善現場的問題, 提升團隊工作效率. -