SlideShare uma empresa Scribd logo
1 de 83
timwang.work@gmail.com 1
1
從研發團隊管理及
產品發展的角度看DevOps
Tim Wang
2019/12/19
Agile Taipei
Meetup
#1912 加開場
timwang.work@gmail.com 2
2
Tim Wang
MOXA Networking
Network System Division
PO / 後端架構 / UX / SRE (內部服務)
徵才 (RD/SDET/PMM)
Scrum & DevOps evangelist
貓奴 / 日旅愛好者
timwang.work@gmail.com 3
3
2008.01 進入職場
2019.04 取得CSPO
2013.10 兼任管理職
2015.XX 團隊試行 Scrum
2016.12 Agile Tour Taipei
2017.XX 團隊試行 DevOps
2018.09 DevOpsDays Taipei 講者
2019.05 轉職兼任產品人(PO)
2018.01 兼任SW Project Manager
2019.07 團隊試行DevSecOps
timwang.work@gmail.com 4
4
## 本日話題預期圍繞在
- 人、團隊與組織
- 探索、遞交與回饋
- 引領與創造
timwang.work@gmail.com 5
5
# 軟體研發團隊在
長銷型產品公司的困境
timwang.work@gmail.com 6
6
## Define 困境
- 推動工程文化(例如DevOps),好難
- 推動組織變革(例如敏捷),更難
- 問出為什麼進而看見全貌,超難
timwang.work@gmail.com 7
7
## 去年DevOpsDays會後得到的提問…
1. 你做這些……你們 PM……?
2. 你做這些……你們 IT ……?
3. 你做這些……你們 主管……?
timwang.work@gmail.com 8
8
資訊軟體服務業佔70%
timwang.work@gmail.com 9
9
資訊及通訊傳播業 < 3%
宗教、政黨、日常維修、…
timwang.work@gmail.com 10
10
- DevOps 社群參加者有明顯的群聚
- 案例多樣性不足、業態經驗感覺難以複製、領域法遵限制
- Cloud Native 不只是那張 landscape,也是組織構型
- 製造業留下的人力體系與固有經驗
- C-Phase、我們沒有要維運啊(IT才要維運)
- 倖存者偏誤
- 期望能靠突變而非演化來獲得生存能力
timwang.work@gmail.com 11
11
廣義上的軟體產品維運是什麼?
確保軟體發佈能夠快速上線及可靠穩定
加新需求必須做好實作隔離及測試
修正已知問題並定義釋出策略
確保一系列產品能夠長期穩定運作
說穿了運維的目的大致相同,差在細節跟手段
…
timwang.work@gmail.com 12
12
「隊形」
timwang.work@gmail.com 13
13
## 組織不含 Cloud Native 的 DNA 時
- “IT” 負責的是企業運維:網路要通、電腦要
修、資安認證、盜版軟體、內部系統、工廠
生管系統…
- “IT” 不想也沒空去搞懂Dev/Ops在搞什麼,
但總歸大家最好不要惹麻煩…
Dev端要發起DevOps,
通常得兼當SRE(那條龍)
timwang.work@gmail.com 14
14
「隊形」
timwang.work@gmail.com 15
15
Waterfall
Sprint 1
Sprint 4
Box 1 Box 2 Box 5
Sprint 2
Sprint 3
Development
QA Testing
非戰鬥編組下的現實
(Non-feature team) Actual Releasable
Sprint 5
Box 3 Box 4
timwang.work@gmail.com 16
16
## 組織不含 Cloud Native 的 DNA 時
- 能夠讓 QA 與軟體工程流程充分結合的公司,
我的觀察仍是少數 (即便是純軟)
- 自動化測試開發(SDET)人才非常稀缺
- DevOps 沒起來、測試流程不連貫,敏捷很
快會卡彈
敏捷很容易得到
理所當然的失敗
timwang.work@gmail.com 17
17
新產品/專案開發
文件(SRS/SAS)驅動開發
文件能抄就抄能少則少
舊產品/專案維護
技術債只修復不重構
能只改軟體就不改硬體
可行性研究
AI, Big Data, Cloud, …
Buzzword-driven
系統元件改版
作業系統、瀏覽器升級
產品硬體料件漲價/停產得換料
軟體得改但不能影響到使用情境
看見全貌 - 需求的來源?
70%維運
timwang.work@gmail.com 18
18
## 電子業留下的 PM 特色
- 偏重專案管理
- 規格可以用抄的
- 成本優先、唯快不破
- 看似一切都有公式可循
- 原廠roadmap
- 不太需要探索與試驗 (可能也不敢..)
timwang.work@gmail.com 19
19
## 專案生命週期大不同
- 產品公司
- 運氣好(或不好?)可以做一輩子
- 研究指出EOL前70%時間在維護
- 很多人夢想當甲方,有些人最後選擇加入乙方
- 專案公司
- 一個大 timebox,驗收完解脫
- 科技服務公司盛行,人力即商品,預算轉為營運支出(OPEX)
timwang.work@gmail.com 21
21
需求規格
散亂不清
變更
難以追溯
沉重的
技術債
散亂多變
的工具鏈
測試牽涉
系統組態
多樣的
釋出組合
訊息遲滯
透明不足
timwang.work@gmail.com 22
22
Topic 2:
從Dev端發起的DevOps經驗
timwang.work@gmail.com 23
23
過去常見的景象
一包 Legacy Code 他的版控長這樣
好心的前輩寫的
Readme.txt
timwang.work@gmail.com 24
24
共通點?
1. 過程蓋很久
2. 擺著沒處理
(或因故處理不了)
3. 突然要拆很麻煩
4. 面臨時間壓力
糟了,是世界奇觀
timwang.work@gmail.com 25
25
版控一切該版控的產物
“軟體開發的本質:獲取及保存知識” by Terry Yin
追溯變更
知識資產管理
Ref: https://hackmd.io/@ModernWeb/BkNErphQm 遺留代碼經濟學 - Terry Yin
timwang.work@gmail.com 26
26
需求分析文件
追蹤進度/變更
變更透明易分享
需求統整管理
追溯變更
透明共享
timwang.work@gmail.com 28
28
進版前相互把關
看板帶來數字感
看板進度透明化
追溯變更
透明共享
timwang.work@gmail.com 30
30
人
案
週報系統化
數據趨勢透明化
專案分配透明化
透明共享
timwang.work@gmail.com 32
32
改變溝通工具
透明共享
timwang.work@gmail.com 34
34
靜態掃描
歷史資產管理
透明共享
[目的]
掌握 Duplications
避免 Memory Leak
timwang.work@gmail.com 35
35
Design
Implement
Evaluate
Release
• 分析架構,盤點信任邊
界及確保風控對策
• 盤點外部工具使用計畫
• 進行SAST靜態掃描、取
得報告進行統合呈現
• 以 Jenkins 依照品質門
檻進行流程控制與通知
• 進行DAST動態掃描、
黑箱弱掃
• 確認開源工具授權合規、
無重大已知漏洞
• 產出 Software BOI
• 針對釋出檔案進行簽章
及/或產生 MD5 hash
• 針對可轉散佈的封裝,
以 Virustotal 確保無惡
意程式並取得整合報告
E-test
接軌 DevSecOps 引入安全開發流程 (SSDLC)
timwang.work@gmail.com 36
36
Build/Unit .Test
Kernel Driver
Build/Unit Test
API DLL
Release Signing
(non-Win10)
Pack cabinet
file (*.cab)
EV Signing
(Win10)
Submit to MS
HW Dev Center
等待回應
Generate
hash log
Pack runtime
components
(*.msi)
Build/Pack
utilities (*.msi)
Pack samples
(*.msi)
Pack installer
(exe)
Submit to
VirusTotal
等待回應
產品釋出的
Value Stream
工具鏈整合
釋出組態管理
[目的]
全面導入自動化
盤點釋出過程,找出過
程費時或前置時間
[成果]
視實際狀況可在 25 分
鐘左右產出交付檔案
節省前置作業及等待時
間約30分鐘
> 10 mins
> 10 mins
timwang.work@gmail.com 37
37
Kernel
Driver
Unit test Build
Release
Signing
(Attestation
signing)
Pack
cabinet file
Local EV
Signing
MS HDC
(傳送並等待)
API DLL Unit test Build Smoke Test
Middleware
Utility
Unit test Build Smoke Test
Component
(msi)
Generate
hash log
Pack
runtime
Pack
utilities
Installer
(exe)
連結
需要的元件
VirusTotal
(傳送並等待)
主動通知
業務單位
流程解耦合
工具鏈整合
釋出組態管理
[改進點]
- 沒彈性
- Artifacts 重複產生
- Artifacts 不易取得
[成果]
視實際狀況可在 2 ~ 16
分鐘內產出交付檔案
timwang.work@gmail.com 39
39
Artifact Repository
Infra. Automation
待測平台 (IoT) 待測平台 (PC-based)
從交付到部署
[成效]
- 自動化設定平台組態
- 自動化測試腳本的遞
送與執行
- 整合測試帶來高信任
Continuous Delivery
Cont. Deploy
組態自動化
簡化硬體測試
timwang.work@gmail.com 40
40
套件管理標準化
全自動迴歸測試
組態自動化
簡化硬體測試
任何人都可以輕易取
得 最新的可執行檔
(展示/測試/知道進度)
timwang.work@gmail.com 41
41
導入平台虛擬化
效能監控與通知
timwang.work@gmail.com 44
44
需求
設計
開發
驗證
封裝
交付
整合
確認
回饋
分享
建立開發流程
timwang.work@gmail.com 45
45
## Key Takeaways
1. 建立訊息透明化的共識
2. 版控做紮實再講自動化
3. 紀錄一切值得紀錄的變更
4. 自動化一切值得自動化的工作
5. 持續觀察流程並調整
6. 思考如何減少平台的維運成本
timwang.work@gmail.com 46
46
所以,怎麼跟老闆溝通?
想想過去的成功方程式是什麼
timwang.work@gmail.com 47
47
Toyota Production System (TPS)
Just-In-Time Production (JIT)
成本(少浪費)、快、標準化
做太多
等待
輸送
加工
庫存
動作
不良品
產能太低的工人
timwang.work@gmail.com 48
48
Six Sigma
品質、去變異(少浪費)、經驗/統計
https://en.wikipedia.org/wiki/Six_Sigma
timwang.work@gmail.com 49
49
ISO 9000
數據化、流程化、全力發揮(人)
https://en.wikipedia.org/wiki/Six_Sigma
超越客戶期望
完全投入達成組織目標
為了組織利益完全投入貢獻所能
流程化管理
持續改善是持續性目標
以資料/資訊做決策
timwang.work@gmail.com 50
50
數據化、標準化
省成本、速度快、品質好
人、機、料、法、環
timwang.work@gmail.com 51
51
https://dotblogs.com.tw/jimmyyu/archive/2015/08/30/how-to-earn-the-respect.aspx
老闆在乎的事
情其實可以用
Lean及價值流
去溝通,但大
家都在講工具,
卻忘了三步工
作法的第一步
是什麼…
timwang.work@gmail.com 52
52
識別價值流
timwang.work@gmail.com 53
53
消除浪費
增強學習
延遲決定
儘快發布
下放權力
嵌入品質
全局優化
LEAN software development
timwang.work@gmail.com 54
54
DevOps 是可行的
先找到痛點,再談工具輔助
timwang.work@gmail.com 55
55
#3 DevOps對研發團隊
留用育選
的重要性
timwang.work@gmail.com 56
56
## 3.1 關於「留」
timwang.work@gmail.com 57
57
為什麼不是選育用留?XD
timwang.work@gmail.com 58
58
Ref: DevOps Meetup #? 新時代的人力資源觀念與變革, 晉麗明
timwang.work@gmail.com 59
59
## 走人的節奏
- 新人進來沒空或不會帶
- 知識管理與傳承在有與沒有之間
- 把工具鏈通通建起來就花了半個月
- 突然就要拿木棒去拆世界奇觀
- 業務邏輯沒有測試保護
- 穩定到沒機會摸新技術 或 賭博式的拼裝車
想要我的知識嗎? 可以全部都送給你,我都
放在Email跟Slack裡了,去找吧!
timwang.work@gmail.com 60
60
Ref: https://www.weibo.com/2518512474/Ih60Zl0IP
公務員、三師
科技新貴
金融海嘯、費用化
網路世代、易受影響
敏捷、扁平化溝通
timwang.work@gmail.com 61
61
需求亂開、市況混沌
工作沒成就感
軟體人覺得很賽想逃
去哪當RD都很賽
還是轉職位吧!
(主管/PM/Sales)
歷練不完整
只有工程實作
缺乏商業/管理思維
不會做訪談/收集需求
不會開規格/管專案
不會帶團隊/做領導
產品滯銷/開不出產品
研發能量停滯
競爭力下降
常見的悲劇循環
timwang.work@gmail.com 62
62
為什麼不是選育用留?
從已經有的開始改變
timwang.work@gmail.com 63
63
## 3.2 關於「用」
timwang.work@gmail.com 64
64
## DevOps 提升效率省時,然後呢?
- 重視可測性、品質保護
- 學需求分析、架構設計
- 學系統工程、實驗設計
- 學商業思維,拉高視角
timwang.work@gmail.com 65
65
Sprint 2
Box 1 Box 2
Sprint 4
Sprint 3
Sprint 1
Box 3 Box 4
10% 20% 70%
10% 20% 70%
15% 25% 60%
20% 30% 50%
Automated regression Automated regression Automated regression
automated
Automated regression Automated regression
Automated regression
測試發展策略
UI test API test Unit test
Iterations
Test
coverage
timwang.work@gmail.com 66
66
老闆
Sales / BD
主管 / PM
基層 / RD
商機 / 價值
方案 / 需求
設計 / 架構
自動化省時
正向循環
負向循環
上游思維
timwang.work@gmail.com 68
68
### 3.3 關於「育」
timwang.work@gmail.com 69
69
## 我的作法
- 落實知識管理
- 優先順序:文件 (有目錄/易搜尋) → Test case (TDD/BDD)
- 用系統封存知識,用系統的維護、延展及演習做訓練
- 增加回饋頻率
- 每月/每季的 1 on 1 取代年度性的績效考核(PA)
- 充分利用Retrospective / Refinement 的場合
- 鼓勵參與多樣化學習
- 社群活動
- 小班制的技術實作課程
timwang.work@gmail.com 70
70
## 資料/數據導向
- “It’s science.”
- 取代拍腦袋決策
- 正面看待數據的文化
- 成員的感覺是組織文化的投射
- 正面的文化感覺滿是能量
- 負面的文化感覺盡是負擔 今日產
出行數
只有50?
雜碎!
timwang.work@gmail.com 71
71
•碼農、版控
Dev
• 持續整合、自
動測試組態管理、持
續交付、持續部署、
系統架構
DevOps
•法遵、資安議題
•不要上CVSS、不要侵
權
DevSecOps
•
•商業思維、需求分析、
產品規格、合約、成本
BizDevSecOps
timwang.work@gmail.com 72
72
### 3.4 關於「選」
timwang.work@gmail.com 73
73
## 過往常見的模式
- 選人的傾向
- 高重疊率,確保大家都會一樣的東西,降低離職風險
- 高手 = 立刻可以上工作現在規劃的工作
- 分工方式
- 新人進來就是要 maintain、扛賽,這叫做磨練、OJT
- 讓資深去做新議題、做研究
timwang.work@gmail.com 74
74
timwang.work@gmail.com 75
75
## 新的做法
- 選人的傾向
- 無限學習者,願意持續找更好的方式改進自己及團隊
- 願意為團隊好的人
- 學習!熱情!快速迭代!(看似廢話,容易嗎?XD)
- 分工方式
- 只需要具備學習語言/框架的機動性,不一定需要跟資深一樣
的skillset
- 維護舊產品要學習的是“產品知識”,繁雜流程封存在系統中,
交給系統搞定
成員怎麼挑?
timwang.work@gmail.com 76
76
如果挑錯人可能會引發受害者循環
↓
自動化是不是要裁員?
透明化會不會被找碴?
長週期的品質比較好!
timwang.work@gmail.com 77
77
DevOps在產品面的意義
timwang.work@gmail.com 78
78
### 產品負責人(PO/PM)的責任
- 從0到1的探索、雛型實現、驗證
- 引領而非管理
- 質化分析 – 假設 – 量化回饋
- UX很重要,但很多時候你不一定有headcount去養研究員
- 從1到10、100、1000的放大迭代
- 移除阻礙,降低前置時間 (lead time)
- 找對TA,增加用戶接觸面,持續獲得回饋
- 團隊參與決策、參與感、成就感
timwang.work@gmail.com 79
79
Impact Mapping Event Storming UX prototyping
timwang.work@gmail.com 80
80
Product Dev.
Life Cycle
回饋收集
定義路線圖
方案設計
開發實作
方案驗證
行銷準備
市場發行
PMM
Mkt
PMM PdM(PO)
PdM(PO)
UX
Architect
RD
RD
QA
SDET
Architect
PjM
PdM(PO) PMM
PdM(PO)
PdM(PO)
timwang.work@gmail.com 81
81
## DevOps對產品負責人的意義?
- 加速整個 PDLC 循環
- 確保釋出品質
- 提高觸及率
- 以實際回饋數據驗證假設
timwang.work@gmail.com 82
82
## 產品跟雲沒有直接關連,還有搞頭嗎?
- 使用者旅程地圖(UJM)盤點,設計回饋系統
- 在風險可控的前提下擴大回饋面
- 借助雲服務建立實驗機制
產出交付
透過管道
提供到客戶端
客戶端有環境
且能夠安裝
NOC/SOC:
審核後佈署
工廠:
IT準備離線環境
數周後…
數周後…
timwang.work@gmail.com 83
83
Non-web-based? 何不考慮IaC+拋棄式環境?
獲取回饋用的 SaaS 服務
timwang.work@gmail.com 84
84
## 導入雲方案後的優缺點
- 優點
- 實驗組態多樣化(編OPEX就好)、Log檔多樣
- 隔離內部資源減少資安疑慮、也提高存取效能
- 前線Demo、發表會、徵才、面試…
- 減少自行維運成本
- 缺點
- 需要更加的一條龍…XD (but why not?)
timwang.work@gmail.com 85
85
要總結啦!
timwang.work@gmail.com 86
86
三步工作法之一
- PO/PM
- UX research
- Value Stream Mapping and/or Impact Mapping
- User Story Mapping and/or Event Storming (DDD)
- 支持以完整的能力編組來構造團隊
- RD
- Trunk-based development & CI
- Feature toggle
- Infra. as Code
- Event-driven and event-storing
- Kata
timwang.work@gmail.com 87
87
三步工作法之二
- PO/PM
- Retrospective (回顧)
- Refinement (微調)
- Data-centric (資料驅動)
- RD
- 測試金字塔、行為測試
- 埋 Log 輔助做分析決策 (前後端都可)
- System thinking (系統思維)
- Business Awareness (商業思維)
timwang.work@gmail.com 88
88
三步工作法之三
- PM & RD
- 價值導向
- 假設(hypothesis)驅動
- 信任
- 夥伴關係
- 負責而不咎責
timwang.work@gmail.com 89
89
帶團隊的課題:
讓團隊具有快速釋出、回應的能力,並培養成長思維
管產品的課題:
如何協助團隊建立價值回饋循環,以成就感驅動眾人
timwang.work@gmail.com 90
90
“Be the change you want to
see in the world.”
—Mahatma Gandhi
timwang.work@gmail.com 91
91
Q&A
timwang.work@gmail.com 92
92
DevOps Taipei Community
 https://www.facebook.com/DevOpsTaiwan/
Agile Community in Taiwan
 https://www.facebook.com/AgileCommunity.tw/
Domain Driven Design Taiwan
 https://www.facebook.com/DDDCommunity.tw/

Mais conteúdo relacionado

Mais procurados

以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享Chen Cheng-Wei
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたMITSUNARI Shigeo
 
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)Chen Cheng-Wei
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離Edward Kuo
 
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれいまさら聞けないselectあれこれ
いまさら聞けないselectあれこれlestrrat
 
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步Edward Kuo
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日Keizo Tatsumi
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesKazushi Kamegawa
 
敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊William Yeh
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學littlebtc
 
面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!Chih-Hsuan Kuo
 
さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2ozuma5119
 
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...William Yeh
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合Rick Hwang
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 

Mais procurados (20)

以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享以自動化先行的 DevOps 實踐經驗分享
以自動化先行的 DevOps 實踐經驗分享
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
 
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
 
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれいまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
 
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
 
敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊
 
吳明展的履歷表 My Resume 2009 (pdf)
吳明展的履歷表 My Resume 2009 (pdf)吳明展的履歷表 My Resume 2009 (pdf)
吳明展的履歷表 My Resume 2009 (pdf)
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 
面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!
 
吳明展的履歷 My Resume 2009 (ppt)
吳明展的履歷 My Resume 2009 (ppt)吳明展的履歷 My Resume 2009 (ppt)
吳明展的履歷 My Resume 2009 (ppt)
 
さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2
 
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
 
HDMI探検隊
HDMI探検隊HDMI探検隊
HDMI探検隊
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 

Semelhante a 從研發團隊管理及產品發展的角度看 DevOps

在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法TIM WANG
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...Edward Kuo
 
從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談TIM WANG
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptxFEG
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)LetAgileFly
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC
 
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceHow to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceAlex Su
 
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2Yiwei Ma
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC
 
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生appuniverz
 
DevOps program 導入經驗談
DevOps program 導入經驗談DevOps program 導入經驗談
DevOps program 導入經驗談levelup31
 
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Miles Chou
 
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)AgileTour@TW
 
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Chen Cheng-Wei
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgileCommunity
 
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDAgile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDJoey Chen
 
Testing in Production, Deploy on Fridays
Testing in Production, Deploy on FridaysTesting in Production, Deploy on Fridays
Testing in Production, Deploy on FridaysYi-Feng Tzeng
 
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2PMCamp
 

Semelhante a 從研發團隊管理及產品發展的角度看 DevOps (20)

在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
 
從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B serviceHow to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
 
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
 
DevOps program 導入經驗談
DevOps program 導入經驗談DevOps program 導入經驗談
DevOps program 導入經驗談
 
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
 
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)Effective DevOps:一場文化與技術的轉型運動  (陳正瑋)
Effective DevOps:一場文化與技術的轉型運動 (陳正瑋)
 
Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)Effective DevOps (Agile Tour HsinChu 2017)
Effective DevOps (Agile Tour HsinChu 2017)
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
20150206 aic machine learning
20150206 aic machine learning20150206 aic machine learning
20150206 aic machine learning
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDD
 
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDAgile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
 
Testing in Production, Deploy on Fridays
Testing in Production, Deploy on FridaysTesting in Production, Deploy on Fridays
Testing in Production, Deploy on Fridays
 
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
 

從研發團隊管理及產品發展的角度看 DevOps

Notas do Editor

  1. 平常我會做的事: 對外做需求訪談、跟前端一起討論UX、跟後端討論系統架構、還有當部門內部服務的SRE 另外也會幫作徵才、看履歷、參加面談,參與面談的時候會有很多有趣的發現跟觀察
  2. 雖然我沒待過真正的純軟體產品公司,不過職涯因為盡可能跟敏捷Devops掛勾而比較特別,目標是希望能夠讓整個技術體系運作得更有效率,所以想從比較不同的角度進行分享
  3. 今天不會深入講工具,而是圍繞在我試圖將敏捷、DevOps這些文化落到團隊跟組織時的觀察,以及我自己在各種身分上轉換時的體驗
  4. 為什麼要指出是產品公司? 因為專案性質的公司大多都有個明確的遞交時程,完成後解散重編或再投入下一個,消電硬體系統場蠻多是這樣,工控不是
  5. 生存者偏誤 & 傳統IT職責 隊形 & 過往成功經驗 SDLC & 需求 & 溝通
  6. 群聚講得更直白,就是Ops居多,大家都是最痛的那些人,所以熱門議題是什麼工具、框架可以不那麼痛,談論文化或思路的反而不多
  7. 產業差異影響的會是交付及部署的做法,例如產品在線上的人講的CD跟產品是線下交付的人講的CD就不太一樣,工程上需要考慮的細節就不一樣,但目的都是 更快、更好、更有價值
  8. 這張圖應該蠻多人看過,常說推動DevOps會要這三類人緊密合作,DevOps或敏捷多少需要一些工具或系統協助,但IT會不會幫忙呢?
  9. 好,少了IT,剩下這兩群人總該還是能做些事吧? 但其實QA體制也常常不在一起…
  10. 所以常見的例外 1. 談bug插單 2. 預先保留一點時間修bug,但留多少才夠? 多了老闆幹、少了PM幹XD SDET很重要
  11. 講一下找SDET的經驗,大量手動測試,大家把測試當成不歸路
  12. 抄、便宜、快、強一點點就好(擠牙膏) 代工文化,說是如期如質如預算,永遠最好低於預算 教育偏狹,缺乏探索能力、不敢犯錯 軟體弱勢,軟體出身懂技術的PM較少,又懂開放探詢難上加難
  13. 兩者都可能有自己的品牌,關鍵是看靠賣什麼獲利 科技服務公司、外包這塊沒時間多談,有興趣另外聊
  14. 在人肉銀行上,隨便撈都有系統廠訓練出來的各路底層硬體專精高手,但都無法解決系統性問題 不知道價值在哪 (主管不講,或許他自己也不知道) 反正對手做什麼就做什麼 產品賣不賣跟自己沒關係
  15. PM無法結構性的統整清楚需求、片段散落在mail溝通中 變更沒有版控,土炮備份法,缺乏結構性的描述與查詢方式 成功的產品都有祖產包袱,後人面對的是大量的重複代碼與意味不明的分歧 要接手專案前還得先重建工具鏈,搞到128G SSD還不夠裝 從底層到上層,[技術堆疊x產品線x客戶變化型],釋出花費大量時間 測試需要測[產品測項x作業系統x產品總數],人工曠日廢時 知識跨function mail傳遞為主,不能搜尋且結構化的都不算知識,仰賴週會也是落後指標
  16. 因故: code是你老闆寫得不敢推翻
  17. 盡可能地記錄需求及變更的起源與細節 (user stories) 記錄所有工作大項並合理的拆分(展開WBS) 可輕易追蹤變更,進而討論分享,透明化
  18. 雖然JIRA的看板不完整,沒有WIP,但對於透明化促進協作已有幫助
  19. 過往的週報繳交方式過於繁複,檔案散落且難以回查、分析,以致形同垃圾堆積 [成效] 便於回查歷史資料 減少檔案管理成本 數據了解趨勢、助決策
  20. 視狀況以便利貼舉行計畫會議或回顧會議 避免像 Ruddy 老師也提到的跑 Scrum 跑到不知道 Story 的全貌是什麼 每日上班第一件事:昨天做的、今天打算、可能需要的協助 [成效] 對自己做的決定負責(參與感、正向回饋) 不怕犯錯、一起改 工作方向透明公開 公私分離、工具獨立
  21. 不要重複造輪子,但有沒有想過撿來的輪子可能會害你翻車?
  22. 參考微服務拆解策略,歡迎來參加DDD社群
  23. 重點不是什麼工具,而是怎麼在可負擔範圍內解決問題
  24. 價值流三個重點: 前置時間、操作時間、正確過件率 台灣有個通病,RD罵PM,PM罵RD,兩邊不合作的結果是需求訂得亂七八糟導致實作退件率偏高,造成大家的時間浪費
  25. 個人覺得這數據已經很客氣了,人求事或五五波才有辦法,事求人、隱形冠軍企業,面談報到率10%差不多 職缺在某些隱形冠軍的企業,可能比產品還難賣
  26. slack還是免費方案就更銷魂了
  27. 乍看之下像笑話,但其實值得用人主管深思 在當下愈來愈強調職涯發展、產業變遷愈來愈快,投入技術的年輕人會追著什麼東西跑是很正常的事 你再丟世界奇觀給他,他會想留下來才怪….
  28. 給大家改變的空間跟機會,另外一個意義是觀察誰值得留,不值得的還是得砍,很多主管不敢砍人、沒做過PIP
  29. 吃更多案子?
  30. 有種江湖傳言說跑scrum品質就會爛掉,但scrum只是把原本一大包的測試計畫一樣變成逐步完善,且搭配CI做保護會比傳統QA流程更能確保品質
  31. 不去做就沒有改變的機會,例如公司大之後會有很多日常系統流程要跑,RD不愛文件、不想碰流程,可以選擇在旁邊說“這不敏捷”,可是很多時候流程不是完全沒有彈性,加入其中才知道怎麼突破
  32. 盡量不要把知識散落在mail、IM,不管是不是工作的IM,無系統、難搜尋 省下時間多關注「人」的本質 Scrum 的方法有程度上的儀式性,不需要為了做而做,但心理層面有正向意義
  33. 前面提到kanban也可以拿來做趨勢分析,能怎麼客觀的進行提案與工作規劃? CI/CD 實施涵蓋率、commit 的頻率與次數、刷leetcode,質化分析研究不容易,但不要輕易用量化就產出結論
  34. 43% 程式碼不安全,上CWE影響名聲,被動防禦為主 技術人員不想搞懂商業,跟以為自己可以遠離政治卻又豐衣足食是同樣道理,只看技術興趣而不看商業價值,或許短時間可以靠快速追逐框架來生存,但能追多久呢?
  35. 引發相對剝奪感,這邊常形成悖論,因為新人會熱門題目,卻被派去接手維護性工作,而資深未必具有學新議題的主客觀條件,雙方都進退失據
  36. 愈是全功能的團隊,愈能高效率完成整個流程
  37. 自動化生成VM、控管IAM,方案必要時人工佈建
  38. 必須支持自動化測試,才能因應千奇百怪的機會,例如支援IE