SlideShare a Scribd company logo
1 of 47
那些失敗教會我的事
Kuma Syu
About me…?
Kuma Syu
Java Lecturer
Developer / Testing Addict / Blogger
---
Lazy, Bad tempered
Hate to do coding
Hate ugly codes...
Software Engineering to Me...
Outline
五個真實發生的小故事、失敗的痛,以及我學會的事
給有志一同者的三個建議
給RD的五個建議
Q&A
故事一 - 瞎子摸象的scrum
故事要從那一晚說起…
那就來搞Scrum吧!
Scrum…感覺按表操課而已嘛,沒什麼學問,簡單!
書上說要cross-functional,那抓個QA進團隊吧
Enya身為PM,來當PO…應該差不多吧
Kuma在前公司跑過scrum,那他來當SM吧
那就開始吧!
However...
為什麼…Story永遠做不完
為什麼…站會老是有種例行公事感
為什麼…開的會好像沒什麼用
為什麼…不知道QA能領什麼工作
當團隊在plan時因實作細節起了爭執,而爭執
的兩人包含Scrum Master...
太挫敗了…
我不是照做了嗎?
那就讓專業的來吧!
為了不要有廣告嫌疑…
喔,原來問題出在...
純後端團隊,
又有Unit Test,那QA…?
我們沒搞清楚…
我們要什麼,
我們有什麼,
我們的產品邊界在哪裡,
以及我們還缺什麼!
1/5
喔,原來問題出在...
草率估算時數,
沒有落實排序,
我們沒搞清楚…
估時數與排序原意是要幫我們解決
什麼問題!
插件原來就有,而我們讓它更加惡
化
2/5
喔,原來問題出在...
有了PO,
可是老闆還是習慣交代事給「
Team Leader」
PO根本不知道Team在忙什麼
我們沒搞清楚…
在我們的context下,每個角色
應該由誰擔任比較適合!
E.x., PM跟PO根本兩碼子事
3/5
喔,原來問題出在...
當Scrum Master兼任
Developer…
我們沒搞清楚…
SM、PO、Team這三個角色重疊時
各會造成什麼樣的混亂!
4/5
喔,原來問題出在...
當你的站會只是在回答「那三個問
題」!!!
我們沒搞清楚…
Scrum各個會議
各自在鎖定什麼目標、
探索什麼範圍、
調適什麼內容!
5/5
於是我們決定:
(3)確實拆分Task、確實估算可用時
間
2週Sprint
(5)公開Code Review
(6)不管多忙,
都要開回顧會議
(4) 確實討論story狀況,適時調配人力
(2)確實撰寫User Story、慎重排序
(包含急件)
(1) 團隊重組
PO、SM、QA
所以這個故事告訴我們…?
「套用招式
就能解決問題」
花時間進
行會議
壓縮開發
時間
未達預期
效果
應知其所以然
故事二 - 人生最後一個手動過版
開始接觸維運,才發現…
Admin Server
Server 1
Server 2
Server N
DB schema migration
DB data adjustment
Code
Settings
Settings
Settings
...
我的筆電
一波三折的自動化佈署…
「沒有Force,就沒有問題」
然後Force就來了…
「再撐一週,這週不出事就OK了」
然後就出事了…
總目標是要「一鍵佈署」
(設計對白)
所以這個故事告訴我們…?
「熟能生巧」
腳本是死的,
人是活的
百密一疏
提早曝險
自動化要趁早
故事三 - 專才專用的甜蜜陷阱
團隊End-To-End總戰力
Pair + 學習
適應力 發大財
+
學習意願 個人End-To-End總戰力
End-To-End很重要,這我知道…
+
+
++
+
然而有一天,速解從天而降…
糖衣
團隊End-To-End總戰力
Pair + 學習
適應力 發大財
+
學習意願
專才專用
個人End-To-End總戰力
團隊對自己能力的認知
拉進Sprint的Story
各Component效率
+
+
++
+
+
+
+
+
-
直到有一天,Force出現了…
團隊End-To-End總戰力
Pair + 學習
適應力 發大財
+
學習意願
專才專用
個人End-To-End總戰力
團隊對自己能力的認知
拉進Sprint的Story
各Component效率
Delay
所以這個故事告訴我們…?
「專才專用,
達到最快速度
」
離職
Single Point
Failure
「慢慢」讓大
家會的事差少
一點
故事四 - 這個不用測啦…
為了業務需求,做了某個功能,不出10行
「這段邏輯很簡單,不用測啦…」
為了安全,加了try-catch
「又沒動主邏輯,不用測啦…」
為了需求變更,重複執行數次
「一樣的事重複做而已,不用測啦…」
直到有一天…
核心業務出了「一次」Exception
Exception被catch住了, 沒往外丟
最外層迴圈始終等不到停止條件…
所以這個故事告訴我們…?
「這裡不太會錯,
不用測啦…」
不以惡小而為
之…
至少「有修改
時」測一下
故事五 - 都是你們那個什麼破scrum…
課本說:「你要去問客戶要什麼。」
客戶說:「接下來這段時間,我們所有產品裡面就是 A 最重要…」
課本說:「減少浪費,先做最重要的事。」
---
一如預期…
原定要做三個月的產品,一個半月就做完上線了
開開心心去找客戶,結果…
A1
B1
A2
C1
A3
A4
D1
A1
B1
A2
C1
A3
A4
D1A5
A5
「你們花了我一個半月,只幫我做一個功能喔?」
「你們那個什麼破Scrum,只能開一條產線,這什麼破流程?」
所以這個故事告訴我們…?
「客戶說重要
,就是重要」
腦補「客戶
沒說出口的
話」
全部做完才
交付?
了解客戶真正需求
PSPI!
PSPI!
PSPI!
給有志一同者的三個額外建議
每個會議,都有它該有的長相
e.g., 站會…
不要談Scrum,不要談Agile
你是要解決問題,但一旦你沒有成功,「Scrum」會為你背所有黑鍋!
你是要解決問題,但一旦你沒有成功,「Agile」會為你背所有黑鍋!
想辦法解決問題就好!
依需要,建立你的技能樹
工作安排不順暢
套用Scrum流程
流程套用效果不好
「Scrum實作班」 回顧會議成效不彰
「回顧會議實作班」
維運做起來不太順暢
「程序員的維運課」 TDD卡卡的
溝通需求不太容易
「CSD」
對後續SM與PO的
培養不得要領
「SCM、SCPO」
想要擴大範圍,把scope放
大到company-wide
「看板方法實戰」
要溝通的對象變多,
內容變複雜了
「系統思考」「ORID」
給RD的五個建議
自動化是你的好朋友
1/5
所有Test中,Unit Test最重要
Unit Test 不是 Test,是「功能的一部份」
一樣要Clean Code、一樣要重構
如此一來「改Test要很久」這件事…
不會是改Production Code猶豫的理由
而「沒時間寫Test」這件事…
根本不應該發生 (謎之聲:「寫快點就好啦!」)
為了不要有廣告嫌疑…
2/5
Pair Programming 是「1 + 1 > 2」的事
Pair Programming
TDD
SBE
都是你的好朋友
3/5
不要當「敏捷工程師」
要當「在任何流程中都能發揮專業」的工程師
4/5
永遠、永遠要避免在Production下手動指令!!!
5/5
不要誤會了…
老闆不care你敏不敏捷,老闆只care你快不快!
那些失敗教會我的事

More Related Content

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

那些失敗教會我的事

Editor's Notes

  1. 我與友人的對話…「你希望達到什麼效果?」
  2. 我的簡… Who CareS? 現在我的工作,與其說是做軟體,其實大部分是在做「軟體工程」。 我比較想跟大家聊聊, 我學習「軟體工程」的過程, 「軟體工程」對我的影響…
  3. 大學修軟體工程,被系主任勸退 而真正用在工作上,越來越多經驗後,才發現原來軟體工程真的很難,難在他根本沒有標準答案,而且今天的解藥可能是明天的毒藥… 我的職涯,是從寫Unit Test 開始的…半年只寫unit test -> Integrtion test -> Production code... 在學習過程中,接觸到很多好書,而這幾本書:對我的維運、佈署、coding、Test的觀念與習慣,都有很大的影響 而待會將開始介紹的內容,很多軟體工程上的觀念、做法、與學習,是從實際經驗與書上的內容交錯學習而來的。
  4. 什麼,你不認識「西屯桂綸美」? 下來我們交流交流…
  5. …至於敏捷方法那麼多種,為什麼偏偏選了scrum?
  6. 明明我們都照著網路上人家說的做了, 為什麼人家這麼順,我們這麼卡? 到底差在哪裡?正當我們坐困愁城的時候…
  7. ...至此,像不像三分樣,總算是順多了。 …而此時,六個月過去了…
  8. 了解會議中每個環節 被設計出來要解決的問題 E.x., 拆任務時一定要出牌嗎?
  9. …當然敝司是一個「持續改善」的公司啦!!!
  10. 過程大概三、四個月 我的軟體工程生涯中,至今最挫敗的一次經驗! 至今餘悸猶存…
  11. …而學習是需要時間的!!!
  12. ...然而此時的我們還沒有意識到這件事,反正效率很好嘛…
  13. 別說離職,光「請假」你頭就痛了…
  14. …而你知道,我知道,獨眼龍也知道,始終等不到停止條件,就會…
  15. (在看「學習」之前) 經過多次的「小修改」,原本簡單的邏輯是否依然間單? 如果這當中有一次,有一個人加了測試,讓邏輯走到那一行…?
  16. …後來多花了兩的sprint才讓產線回復暢通
  17. 全部做完才交付,是傷害適應性、阻礙與客戶間統一認知的元兇!
  18. 身為SM,或其他成員,聞到會議的壞味道 回顧會議就拿出來討論了!
  19. 你有什麼困難,你想解決什麼問題, 針對你的問題,去尋求專業協助 而不要拿香跟拜,更不要說什麼媽祖叫你出來上的…
  20. 開發時,正式佈署時 K8’s?
  21. 我有一些朋友,專門在教人家這些事情的,你可以去問問…
  22. 你需要主管同意才能開始嗎? 不一定,你不要變慢就可以了。
  23. 最後一張投影片...