Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

17

Share

百人團隊敏捷轉型暨持續性整合與交付實踐

MOPCON 2017
時間軸於合併後不到一年在 2013 年交付 friDay 購物,之後每年交付 1-2 個新平台,期間歷經無數次大小改版。團隊正面迎戰各種挑戰,漂亮的轉型建立自我成長與管理的穩定敏捷團隊,並在中間實踐穩定與彈性的架構,在商業與技術間平衡。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

百人團隊敏捷轉型暨持續性整合與交付實踐

  1. 1. 百人團隊敏捷轉型 暨持續整合與交付實踐 2017.10.28 @ MOPCON Taien Wang <taien.wang@gmail.com>
  2. 2. 早期從事資安顧問、全端工程師及創業等 加入時間軸後致力於為本土網路公司樹立開發典範 興趣在品酒文化,目前專注於葡萄酒盲品 王志清 Taien Wang ◉ 現任 ○ 安世泰有限公司 董事 ◉ 經歷 ○ 時間軸科技/遠時數位科技 技術總監 ○ 時間軸科技 研發工程師/部經理 ○ 台灣微軟 研發助理 ○ 網駭科技 資安顧問
  3. 3. 時間軸科技 服務藍圖 O2O手機票券購物平台 電子支付系統 實體通路M化解決方案 巷弄 場域: 台北 台南 台中 高雄 實體通路O2O 解決方案 時間市集 內容共創、導購分潤平台 為策展原生創作而生 就算是一卷衛生紙也有它的特色 Yahoo!奇摩行動遊戲入口 台灣最具規模卡牌網站 卡牌搜尋、組隊系統、遊 戲攻略 Y!Play 導購/自媒體 解決方案 成效媒體投遞 品牌全媒策劃 媒體廣告代理 AA pixel 廣告監控系統 AA Miner 廣告採購 解決方案 品牌電商客製開店 客製電商平台開發 主機系統維護 廣告採購 影音直播 策展議題 網紅導購 爆品打造 加購變價式購物 場域出發 付費會員制 忙碌上班族的好夥伴 線上購物 解決方案 策展 影音電商 創新 全館變價 品牌 旗艦開店 Traffic Model Sales Model 3
  4. 4. • 2013 獲得 遠傳電信投資(4G行動發展重要佈局) • 創造 多元行動生活服務 • 立足三網 行動網路、社群網路、網際網路 • 持續發展 內容服務、行動商務、社群 • 應用發展 行動商務、O2O、數位媒體通路 • 公司規模 350人 ( 台北、台南) 行動 商務 社群 媒體 2016 4
  5. 5. 回顧時間軸行動商務里程碑 2013 1 • 06 遠傳併購時間軸 • 07 巷弄改版 • 10 FB Ads 黑客松 全球第一 併購擴張 2014 2 2015 3 2016 4 2017 5 • 01 自建搜尋引擎 • 01 巷弄 x 台南 • 07 推薦系統 • 10 friDay加購 • 全站變價, 架構調整 深根強化 • 02 friDay購物小網 1.0 • 05 friDay購物小網 2.0 • 08 巷弄 2.0 佈局電商 2.0 • 04 O2O QBon • 10 friDay購物 n 大網, android, ios • 10 共用系統服務 n 金流, 物流, 發票, 推 播… 佈局電商 1.0 • 08 friDay購物 x GoHappy 集團合縱 延伸資料 • 歷年相關獎項:http://www.hiiir.com/ • 時間軸創業歷程:https://www.slideshare.net/chiahsienl/hiiir-78764367 5
  6. 6. 2014 佈局電商 1.0 9 個月綜合電商 friDay購物(大網、App) 技術債、 完整功能、穀倉 難以避免 > 15 個平台與系統 x 5 倍產品團隊 自建私有雲、全面叢集式架構 質化指標 6
  7. 7. “ 集團/大公司下的綜合電商MVP: 是傳統產業電子化
  8. 8. 好處 ◉ 職能分工省時間 ◉ 建立開發技能規範 ◉ 團隊職涯發展明確 壞處(隨時間) ◉ 政治問題、穀倉效應 ◉ 溝通越來越花時間(指數上升) ◉ 每個人都是螺絲釘 心得 ◉ 文化,核心團隊信任 ◉ 必需再一開始建立合作方法與開發流程 ◉ 初期若無時間或方法溝通,短期就有政 治問題 職能團隊(Functional Team)建立 PM 工程師 QA Director Big Boss 8
  9. 9. 系統架構 1.0 9
  10. 10. 10 產品鬼故事 規劃初期 ◉ 利害關係者:這功能要怎樣 怎樣… [一個月過去] ◉ 利害關係者:怎麼還沒出來 ◉ PM:… 開發過程(1/2) ◉ PM:老闆要這個功能 ◉ 工程師:為什麼?想解決什 麼? ◉ PM:不知道,時間很趕沒有 那麼多為什麼。 ◉ 工程師:… 開發過程(2/2) ◉ PM:該功能下個月上線 ◉ 工程師:那請把規格書(功 能、畫面)等細節給我們 ◉ PM(心裡):RD 很難合作,規 格書也沒有標準 ◉ PM/工程師:… 驗收階段 ◉ 工程師A:時間不夠,還有哪 裡可以節省時間 ◉ 工程師B:有 QA 交給他們驗 證就好 功能上線 ◉ 利害關係者:這不是我要的 ◉ 產品團隊:… ◉ 產品團隊:不是我的錯,都 是對口單位的問題 以上內容如有雷同,純屬巧合 圖片來源 • http://pic.kekenet.com/2012/0214/20120214012551217.jpg 驗收階段 ◉ QA:每次都是我們卡在最後, 測試案例寫不完怎麼辦? ◉ ??:找多點人測試,有人背書 就好 ◉ … ◉ 上版人員:最後是我 ,出包 我就要加班了 到底是誰的問題? 老闆?公司?絕對不是自己的問題
  11. 11. 資本與方法論的衝突 ◉精實創業(Lean Startup)與精實分析(Lean Analytics) ◉過早資本進入後其要求讓產品失衡 資料來源 • Running Lean, 2nd Edition: Iterate from Plan A to a Plan That Works, Ash Maurya 11
  12. 12. 12 好處 ◉ 大破大立 壞處 ◉ 失敗將使整個組織重大衝擊 心得 ◉ 不要怕弄髒手 ◉ 文化建立至關重要 • 文化 • 教練 • 打造有自我公司特色的 XXX 破除穀倉 經理人或新團隊加入/使用新方法 PM 工程師 QA Director Big Boss
  13. 13. 手下1/3主管跳槽 他竟一年半讓業績翻倍 資料來源 • 商業週刊: http://magazine.businessweekly.com.tw/Article_mag_page.aspx?id=63571 13
  14. 14. 文化/組織/戰略 戰技 戰術 戰略 公司(公司/集 團戰略) 總經理 處 部/組 成員 部/組 成員 處 部/組 成員 文化 ◉ 標語 ○ 尊重、榮耀、關懷、快樂 ◉ 文化 ○ 價值驅動 ○ 數據為王 ○ 溝通(上、下、平行) ◉ 非一個人形成的,文化是所 有人的產出 ◉ 文化影響價值觀、將影響未 定義的事,並串連所有人 ◉ 文化不是口號 ○ 每次會議或溝通 ○ 決策與危機處理 ○ 適當的標語願景 • 做什麼?為什麼?更好的做法? 延伸閱讀 • 數位時代 - 馬克‧佐克柏發表公開信,談Facebook五大核心精神 14
  15. 15. Agile/Scrum 簡介 Scrum ◉ Agile 敏捷開發方法的其中 一個分支 ◉ 敏捷宣言價值觀 n 個體和互動高於流程和工具 n 可用的軟體高於詳細的文件 n 客戶合作高於合約談判 n 響應變化高於遵循計畫 圖片來源 • AGILE SCRUM FOR WEB DEVELOPMENT:https://www.neonrain.com/agile-scrum-web-development/ 15
  16. 16. 瀑布式開發 確認 目的/需求 PM 初步整理 PM 簡單會議 意見回饋 PM/RD/QA/Art 主管或有想法的 人 確認會議 確定要做的項目 PM/RD/QA/Art 起始會議 說明規格/預計時程 PM/RD/QA/Art 開發>修正>上線 撰寫案例>驗收>上線 提供需求 營運/工程/產品 RD: 可行性評估 RD: 可行性評估/時程 後續 檢討會議 16
  17. 17. Scrum開發 確認 目的/需求 PO 初步整理 PO 簡單會議 意見回饋 PO/RD/QA/Art 主管或有想法的 人 確認會議 確定要做的項目 PO/RD/QA/Art 起始會議 說明規格/預計時程 PO/RD/QA/Art 開發>修正>上線 撰寫案例>驗收>上線Stakeholder 提供需求 營運/工程/產品 Planning Meeing 說明/切任務/估點數 可行性評估 Sprint 說明/切任務/估點數 後續 Retrospective 17
  18. 18. 招式從來不是問題 重點是思維 ◉價值先決 ◉網路世代需要創意,更需空間 ◉沒有夕陽產業,只有夕陽思維 圖片來源 • Waterfall, Agile & the “Triple Constraint” - http://tom-sylvester.com/lean-agile/waterfall-agile-the-triple-constraint/ 18
  19. 19. “ 敏捷既然把傳統瀑布要做好 因應快速變化的幾點要素都定義了 你為什麼不用呢?
  20. 20. “ 遊戲化讓實踐中充滿樂趣
  21. 21. 2016 深耕強化 資料來源 • 遠傳旗下時間軸科技再推電商平台「friDay 加購」,以創新經營模式保證最低價 • friDay「加購」新平台不是「COSTCO」模式,傳統零售B2C終結槍響起… 21
  22. 22. 全球數位商業創新界奧斯卡 艾奇獎(ECI Award)2017 年年度獎 friDay加購 虛擬經濟消費級商業模式創新類銅獎 資料來源 • John Yeh 臉書 22
  23. 23. 2016 深耕強化 CTR x 3自建推薦系統 電商模組 Components 化、容器化 視覺化監控、數據視覺化 全面敏捷 0 個慢查詢 2 倍開發效能 1/4 倍常規任務 ±70%平均測試覆蓋率 23
  24. 24. Product Owner 委員會 功能團隊3 功能團隊2 功能團隊1 有 Hiiir 特色的 Scrum(1/2): 職能團隊改功能(feature)團隊 PM 工程師 QA工程師 AppApp 技術/ 架構委員會特殊部隊 Large-Scale Scrum, LeSS 要點 ◉ 職能團隊還是要負責職涯發展 ◉ 沒經驗有教練是需要的 ◉ 讓團隊說真話,避免利益衝突 ◉ 功能團隊安排講究平衡 ○ 講究戰力(資深、資淺) ○ 跨職能(全端) ○ 男女 好處 ◉ 解決穀倉問題 ◉ 避免 know-how 鎖在特定團隊 ◉ 透明資訊,所有人可直接參與產品 ◉ 溝通日見順暢 其他 ◉ 組建技術/架構委員會 ◉ 內部地位平等 ◉ 決策技術重大議題 ○ 技術選型 ○ 重大更新 ○ … Scrum Master 24
  25. 25. 團隊眼中的我
  26. 26. 有 Hiiir 特色的 Scrum(1/2): 將技術管理設為內建必要,取之社會用之社會 26
  27. 27. 系統架構 2.0 27 延伸資料 • Sylius - http://sylius.org/
  28. 28. “ 作架構是一種取捨 且要做到呼吸一樣自然
  29. 29. 更多 Hiiir Scrum 細節 請參考以下連結
  30. 30. “ 文化與教練都有了 團隊的成效自然精彩可期
  31. 31. 做好敏捷的兩基底 敏捷管理 技術 31
  32. 32. 做好敏捷的兩基底 敏捷管理 技術 32
  33. 33. 做好敏捷的兩基底 敏捷領導 技術 33 讓團隊發揮創意而非工廠 技術增加速度與門檻
  34. 34. “ 把光給團隊 主管不是來成就個人的 是成就事、成就一群人
  35. 35. 持續整合(CI) 與持續部署(CD) CI: Continuous Integration ◉ 持續整合(CI)是一種軟體工程流程,鼓勵開發人員在編寫程式時持續關注程式品質和正確性。程式整 合和質量測試不是在開發週期結束時,而是在開發過程中頻繁整合,從而允許早期檢測和糾正缺陷。實 踐的方式,開發人員將他們的工作拆成小份量,通常是一天的工作量大小。每塊工作包含程式開發與測 試 (unit tests)。程式每次 commit 並 push 到 master 與主線整合,減少未來發生整合錯誤的數量。由於程 式庫保持良好的狀態,QA團隊可以在開發過程的早期進入測試。 CD: Continuous Delivery/Continuous Deployment ◉ 持續交付(英語:Continuous delivery,縮寫為 CD),是一種軟體工程手法,讓軟體產品的產出過程在 一個短週期內完成,以保證軟體可以穩定、持續的保持在隨時可以釋出的狀況。它的目標在於讓軟體的 建置、測試與釋出變得更快以及更頻繁。這種方式可以減少軟體開發的成本與時間,減少風險。 資料來源 • wiki – 持續整合 35
  36. 36. 資料來源 • wiki – 持續交付 持續整合(CI) 36
  37. 37. Definition of Done, DoD Hiiir DoD ◉ 測試、品質、可說明程式的資料(程式碼、程式碼說明文件、架構文件等) ○ Coded - 程式完成開發,可以正常執行,不是樣板或 Demo ○ Tested - 程式通過靜態分析(coding style)及檢查(tests) 並達到預定品質指標 ○ Documented - 開發及維護之相關文件及程式註解 ○ Usable - 有效且有效率的運作,例如操作介面要達到流暢性,網頁反應時間在可接受標準時間內 ○ Ready to be Release - 準備好可以交付給其他單位使用(測試),交付的內容可以是產品,可以是設計文 件,或者是階段性工作. 37
  38. 38. 自動與手工區分 自動化(交給 CI) 重複性的工作給機器 ◉ Code Style ◉ PMD ◉ 計算 Unit Test 覆蓋率 ◉ Git Comment 格式 ◉ … 手工(架構審閱) 人類要處理最重要的事 • 資料庫結構設計審閱 • 程式架構審閱 • MVC • 命名語意 • 例外處理架構 • 環境區分架構 • … 找到固定模式後 開發工具放到自動 38
  39. 39. DevOps 具體實踐 …
  40. 40. Hiiir CI/CD Solution Stack 40
  41. 41. Redmine + 看板開發(Kanban) ◉ 整合外掛 ○ Redmine Agile Plugin ○ Gitlab Hook Plugin ○ Rocket Chat ○ Testlink Plugin ○ … ◉ 客製化欄位 ○ 解決工作任務+審閱紀錄+部署工作整 合需求 ○ 合規內稽內控 ◉ 數位 Kanban ○ 視覺化開發並加速討論 41
  42. 42. 程式碼管理方式 ◉ 程式碼管理採用基於 trunk ◉ 以提早碰撞為原則 ◉ 例:Composer 資料來源 • What is Trunk-Based Development? 42
  43. 43. 資料來源 • Hiiir 架構師 ◉ CI/CD 與 Scrum 的整合 (Development) ◉ CI/CD 與 Scrum 的整合 (Release) CI/CD 與 Scrum 的整合 43
  44. 44. 程式碼品質追蹤 Before After • 傳統 Excel • 透過彙整到 Tableau 分析 • 每日異動趨勢、即時計算是否達成該月目標 ◉ 問題:團隊需每月手動追蹤目標達成狀況,僅能看到是否達成目標,無法看到持續的進步 ◉ 行動方案:透明團隊成果提昇改善動力,並讓其感受進步 ◉ 元素: Duplicate Code、Check Style、Coverage Rate、其他評分 44
  45. 45. 記錄中心 2.0 ◉ 起因:ELK(Elasticsearch, Logstash, Kibana)在問題彙整與處理不便,較適合用在記錄搜集與分析,因此尋 找更適合得解決方案。原 ELK 保留紀錄分析功能。 Before After • 查詢需要下指令 • 問題無法彙整 • 問題直接匯整,並分析出現趨勢 • 直覺的介面(1. 可透過點選查詢 2. 程式執行細節呈現,非單一訊 息) • 管理團隊可在第一時間發現可能問題 45
  46. 46. 程式效能管理APM:XHprof GUI 46
  47. 47. 知識管理 47 ◉ 起因:原技術相關文件撰寫於各地(Gitlab、Redmine、Google Docs…),且有部分基於外部雲端服務 Before After • 到處撰寫存放 • 團隊無法有效管理交流 • 內部統一平台並儲存,並有良好的權限控管 • 提升知識補完速度
  48. 48. 程式開發效能縱觀 ◉ 在文化調整後,力求上班時最高產能 ◉ 半夜上傳程式碼,反而是要關懷他的 2014 2015 2016 2016 圖片來源 • Google Search: Git Stat • EazyBI - https://eazybi.com/integrations/git 48
  49. 49. “ 用數據與事實說服人 可讓底氣更厚更長
  50. 50. DevOps 實踐 Development + Operations ◉ DevOps(Development和Operations的組合詞)是一種重視「軟體開發人員(Dev)」和「IT運維技術人 員(Ops)」之間溝通合作的文化、運動或慣例。透過自動化「軟體交付」和「架構變更」的流程,來 使得構建、測試、發布軟體能夠更加地快捷、頻繁和可靠。 Hiiir DevOps ◉ 開發往系統維運跨、維運往開發靠 ◉ 虛擬維運團隊:一起讓系統穩健、準時下班不用被呼叫 資料來源 • wiki - DevOps 50
  51. 51. 品質與監控電視牆 ◉ 透明產品即時狀態 ◉ 程式碼品質 ◉ 服務架構監控 n 實體、虛擬、業務邏輯 ◉ 即時通訊告警(Slack > RocketChat) n 部署、異常、群組討論 51
  52. 52. 透明的文化 52
  53. 53. 數據分析與應用 圖片來源 • AWS Summit 2017 Taipei - 如何利用大數據分析打造電商數位儀表板 推薦系統 即時數位儀表板 53
  54. 54. 資安佈局 參考來源 • 使安全成為軟體開發的必要部分 54 資安管理系統 程式安全培養 安全系統發展 生命週期 自建 或其他防禦方案 關注資安資訊 與漏洞通報平台
  55. 55. 結論 ◉ 謹慎團隊建立 ◉ 避免穀倉問題 ◉ 敏捷面對挑戰 ◉ 技術創造門檻 ◉ 永遠投資機會 Hiiir PD&RD 實踐敏捷與 DevOps 大型本土團隊 流程 組織 文化 55
  56. 56. “ 業務一直是老司機 該讓技術開車了
  57. 57. Any questions ? You can find me at ◉ fb: taien.tw, mobile: +886 963 151 438 ◉ taien.wang@gmail.com Thanks!
  • kevin14feng

    May. 15, 2020
  • larrynung

    Sep. 3, 2019
  • funleon

    Apr. 8, 2019
  • immatteo

    Sep. 21, 2018
  • LeeChengPai

    Sep. 21, 2018
  • cliffordchen118

    Aug. 27, 2018
  • TItangene1

    Aug. 26, 2018
  • rickhwang

    Aug. 26, 2018
  • TIMWANG14

    Aug. 3, 2018
  • ctyeh

    Aug. 3, 2018
  • nwang1027

    Aug. 3, 2018
  • fuevaco

    Jun. 21, 2018
  • yvonnejerry24

    Nov. 20, 2017
  • registrychou

    Nov. 1, 2017
  • wanxuangong

    Oct. 31, 2017
  • monster3333

    Oct. 30, 2017
  • peihsinsu

    Oct. 29, 2017

MOPCON 2017 時間軸於合併後不到一年在 2013 年交付 friDay 購物,之後每年交付 1-2 個新平台,期間歷經無數次大小改版。團隊正面迎戰各種挑戰,漂亮的轉型建立自我成長與管理的穩定敏捷團隊,並在中間實踐穩定與彈性的架構,在商業與技術間平衡。

Views

Total views

2,636

On Slideshare

0

From embeds

0

Number of embeds

153

Actions

Downloads

0

Shares

0

Comments

0

Likes

17

×