SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Project GATE的敏捷實踐之路 
蕭存喻 Richard Hsiao 
AgileCommunity.tw 贊 助 廠 商
⾃自我介紹 
• 蕭存喻 Richard Hsiao 
• 交通⼤大學 資科⼯工所 博⼠士 
• 專⻑⾧長: 網際網路技術 及 分散式系統 
• 電腦玩家雜誌社 特約作家 9年 
• 遊戲齡:29年 
• 相關經驗: 
• 遊戲橘⼦子集團 ⼯工程師 ⾄至 研發經理 
• 六年多之遊戲及引擎開發經驗 
• NetGames 2014 Program Committee 
• 近年來特別關注於敏捷軟體開發法的實務 
• 導⼊入及團隊帶領約有6年經驗 
AgileCommunity.tw
Project GATE背景 
• 內容: 
• ⾏行動裝置上的應⽤用程式專案 
• 跨平台、使⽤用雲服務、提供社群平台服務、 
導⼊入應⽤用程式遊戲化(gamification) 
• 團隊組成: 
• ⼀一個預計⾃自集團內部切分出的新創團隊 
• 向執⾏行⻑⾧長團隊提案通過的社群平台app 
• 在專案執⾏行⾯面及技術選擇上有相當的⾃自主權 
AgileCommunity.tw
Project GATE背景 
• 隨著專案的執⾏行,由10⼈人左右的團隊開始,⾄至 
⼆二年後的今天,已經到達25⼈人。 
AgileCommunity.tw
這個專案會冒出什麼樣的⽕火花呢? 
草創期 
擴張期 
穩健期 
AgileCommunity.tw 贊 助 廠 商
3C 問題,⼀一個也沒少 
Communication 
Collaboration 
Coordination 
AgileCommunity.tw 贊 助 廠 商
第⼀一步 解決程序正義的問題 
» 草創期與擴張期的常⾒見挑戰: 
» 該聽 誰的? 何時? 
» 三個 Product Owners, 
⼀一個stakeholder, 
團隊初期成員⼜又有點像是合夥⼈人, 
到底聽誰的? 
» Acceptance Criteria不明確 
» definition of done不清 
AgileCommunity.tw
⽅方式: 強化refinement workshop 
Stakeholder’s 
Meeting 
() 
AgileCommunity.tw 
Refinement 
workshop 
(Week N-2 Friday) 
PO meeting 
Runway Review 
(Week N-2 Tuesday) 
Daily Scrum 
11:45AM 
Sprint Planning 
(Week N Monday) 
Week 2 
(Week N+1 
Friday)
» 強化Refinement workshop的進⾏行要點: 
1. 於refinement workshop中發表story 
的設計,讓成員理解並有機會參與調 
整設計。 
2. 強化workshop中Acceptance Criteria 
的訂定以便讓後續planning更順暢 
3. ⿎鼓勵當場能將設計討論完。 
AgileCommunity.tw
第⼆二步 建⽴立軟體規格與開發之間 
的共識 
» User Stories的撰寫、開發⽂文件撰寫 
» 常⾒見的挑戰: 
» 價值不夠突顯 
» 開發⽂文件的撰寫詳細度 
» 各專業/平台有辦法⼀一同於同個 
sprint完成嗎? 
AgileCommunity.tw
» ⺫⽬目前我們把握的原則為:「價值優先」 
1. User Story Title著重描述價值 
2. 規格細節的⽂文件,寫了有⽤用、有⼈人會 
看就寫。 
3. 溝通的平台 不限,只要有⼈人覺得可以 
達到⺫⽬目的就可。 
» 但規格部份仍要有主要匯集地 
» 不過,促進團隊有良好的溝通循環及養 
成⽂文化習慣才是重點。 
AgileCommunity.tw
我們的User Stories: 
AgileCommunity.tw 
12
第三步 使專案流程明確並順暢 
» 增設採⽤用看板⽅方法的runway階段: 
» 其⺫⽬目的有⼆二: 
1. 解決User Story Grooming階段的不確定性 
» 有些發想、設計⼯工作難以在sprint中完全達 
陣 
» ⽀支援型或探索型 等,不確定性較多的任務 
2. 適合 量產型任務 
» Runway Review是於PO Meeting來進⾏行。 
AgileCommunity.tw
Stakeholder’s 
Meeting 
() 
AgileCommunity.tw 
Refinement 
workshop 
(Week N-2 Friday) 
PO meeting 
Runway Review 
(Week N-2 Tuesday) 
Daily Scrum 
11:45AM 
Sprint Planning 
(Week N Monday) 
Week 2 
(Week N+1 
Friday)
» 當然並⾮非這麼⼀一來就順利了 
» Hugh Lead/Cycle Time 
AgileCommunity.tw
» 團隊後來也曾做些嘗試 
» sprint N 撥出部份的時間(40%)的時間 
進⾏行兩個軟體特⾊色的討論及設計, 
Sprint N+1, N+2全⼒力衝刺完成。 
» 偶爾為之可,⻑⾧長期下來會爆肝。 
AgileCommunity.tw
» Project GATE團隊的真實運作狀況(縮時 
影⽚片): 
» daily scrum 
» daily development 
» review meeting 
AgileCommunity.tw
» 我們學到了什麼? 
» 溝通、團隊適性及磨合在Agile Team 
裡⾯面⼀一直是個重⼤大的議題。 
» Agile Scrum只是個曝險架構,對於看 
到的問題不能視⽽而不⾒見,需要捥起袖 
⼦子與團隊⼀一同解決。 
» 建⽴立適切的敏捷⽂文化並找尋到合適的 
⼈人員會事半功倍。 
AgileCommunity.tw
⾏行動應⽤用之驗收測試驅動開發 
AgileCommunity.tw 贊 助 廠 商
» 機緣: 
1. 成員對於Refinement workshop的需求 
2. 當CI變成開發⽇日常中的重要⼀一環後,推 
⾏行⾃自動化測試的理念就開始浮現。也因 
此開始進⾏行 Quality Engineer的招募 及 
ATDD 制度的引⼊入與試⾏行。 
3. 2013/3/28 的cc Agile Sprint 8 :「BDD 
in .NET - TDD 在實務上最後⼀一塊拼 
圖」 by Joey Chen(91) 
AgileCommunity.tw
BDD的測試框架的架構⽰示意 
Business Facing 
(Gherkin) 
Technology Facing 
AgileCommunity.tw
» 只是,現實是殘酷的: 
「初次懈逅 想像總是⽐比較美好」 
» 原本希望達成的⺫⽬目的: 
1. 期望透過Gherkin易懂的優勢,讓 
團隊中⼈人⼈人都可寫UAT描述. 
2. Quality Engineer專⼼心建構step 
definition (reuse steps去加速架起 
UAT防護網) 
3. 有效利⽤用⾃自動化測試的優勢 
AgileCommunity.tw
» ⺫⽬目前達成的現狀 
» 使⽤用cucumber去驅動測試iOS與 
Android平台的App 
» Gherkin與Ruby Library的部份共 
⽤用。 
» 主司smoke test及每⽇日的integration 
test 
AgileCommunity.tw
» 進⾏行過程中不盡理想的部份: 
» the cucumber book上提到的⼀一個也沒少: 
» flickering scenario 
» brittle features 
» slow features 
» bored stakeholders 
AgileCommunity.tw
» 我們學到了什麼? 
» 勿對於UAT⾃自動化想的太過美好 
» test code 進度趕不及、穩定度不⾜足 
» 測試內功是重點 
» 敏捷測試的⽅方向選擇團隊需有共識 
» 不要輕忽進⾏行⾃自動化所需要的時間 
» 每次app features⼤大改版、OS改版 
及伴隨的⼯工具改版都會消秏不少團 
隊時間再次步⼊入穩定期。 
AgileCommunity.tw
持續整合與發佈的實踐之路 
AgileCommunity.tw 贊 助 廠 商
» 第⼀一階段:「形成共識」 
» 採⽤用⽐比以往更重視中的開發模式,並 
由cruise control.net切換導⼊入Jenkins 
» 不知不覺中整個project就進⼊入了trunk-based 
AgileCommunity.tw 
development的開發⽅方式。 
» 團隊形成共識: DoD包含了unit tested. 
iOS, android兩平台均有可以安裝的實 
機版本,可透過CI觸發建置、測試 
完,進⾏行下載安裝
» 維繫trunk-based development的關鍵: 
» 形成⽂文化及養成習慣 
» 突顯trunk build success 與 fail 的狀態 
» Build Success (previous is fail): 
» Final Fantasy Combat Victory Melody 
» Build Fail: 
» 南⽅方公園的精典台詞: 我的天,阿尼⼜又掛掉了~ 
AgileCommunity.tw
雖然我很不起眼 
但團隊絕不會忘了 
speaker photo 
我的存在!!! 
» 總結: 以有樂趣的⽅方式讓團隊成 
員確實感受到CI的整合是⼀一件團 
隊注重的事。 
AgileCommunity.tw 贊 助 廠 商
iOS Project的單元測試狀況 
AgileCommunity.tw
» 第⼆二階段:「縮短反饋時間」 
» 切分出 debug, release stage,進⾏行參 
數、圖素⺫⽬目錄結構整理並進⾏行美術 
Assets的輸出的⾃自動化。 
» 先由較有經驗的總監們進⾏行 
scripting撰寫及⺫⽬目錄定義 
» 透過coding dojo將知識分享給成員 
» 使得企畫與美術可以⾃自⾏行建置版本, 
確認圖素、AI、遊戲參數在實機上是 
正確的。 
AgileCommunity.tw
» 第三階段:確⽴立「eat own dog food」⽂文化 
» 確⽴立五個發佈的stage 
» 正式營運環境移往aws 
» 每sprint都有polish time 
» review/retro之後全team再次試⽤用,由 
PO決定是否發佈publish。 
AgileCommunity.tw
» Project GATE的釋出stage安排(C.I.⾃自動化) 
AgileCommunity.tw 
Debug Release Trial Publish Operation 
背景企畫與美術 
測試⽤用環境 
程式開發中 
版本 
Iteration 
polish/ 
review版 
本 
可公開的候 
選版本營運⽤用 
功⽤用 
企畫與美術 
測試之⽤用, 
如:A.I. 
參數. UI 元 
素 
供整合測試 
之⽤用 
團隊測試、 
展⽰示之⽤用 
送審/上架/ 
對外展⽰示之 
⽤用 
對外營運 
⺫⽬目前費時 20 Min ~ 
1 Hours 20 Mins 10 Mins 10 Mins ???
總結 
AgileCommunity.tw 贊 助 廠 商
» 我們學到了什麼 
» 以提昇敏捷性⽂文化為最終指導原則, 
⽽而不是只要求依循敏捷實踐,⽅方有最 
佳效果(being agile, not doing agile) 
» 建⽴立敏捷⽂文化、環境與共識 
» 建⽴立符合程序正義的管道 
» ⿎鼓勵團隊嘗試並從中學習 
» “開始”永遠不嫌晚,累積的進步是相當 
顯著的。 
AgileCommunity.tw
交流時間 
AgileCommunity.tw 贊 助 廠 商

Contenu connexe

Tendances

在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法TIM WANG
 
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
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)Chen Cheng-Wei
 
從研發團隊管理及產品發展的角度看 DevOps
從研發團隊管理及產品發展的角度看 DevOps從研發團隊管理及產品發展的角度看 DevOps
從研發團隊管理及產品發展的角度看 DevOpsTIM WANG
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例TIM WANG
 
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline ToolsDevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Toolsscott liao
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)Weijun Zhong
 
面試心得
面試心得面試心得
面試心得澐 向
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设Tianwei Liu
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發Edward Kuo
 
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Miles Chou
 
Wiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindWiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindRick Hwang
 
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)William Yeh
 
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱TIM WANG
 

Tendances (16)

在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 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)
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
 
從研發團隊管理及產品發展的角度看 DevOps
從研發團隊管理及產品發展的角度看 DevOps從研發團隊管理及產品發展的角度看 DevOps
從研發團隊管理及產品發展的角度看 DevOps
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
 
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline ToolsDevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Tools
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)
 
面試心得
面試心得面試心得
面試心得
 
2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设2021 ee大会-旷视ai产品背后的研发效能工具建设
2021 ee大会-旷视ai产品背后的研发效能工具建设
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
 
Xpp
XppXpp
Xpp
 
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
 
Wiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindWiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected Mind
 
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)
 
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
 
前端測試
前端測試前端測試
前端測試
 

Similaire à Project GATE 的敏捷實踐之路

Agile introduction
Agile introductionAgile introduction
Agile introductionJen-Chieh Ko
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)Will Huang
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版Kirk Chen
 
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲悠識學院
 
SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale Rick Hwang
 
[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
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)LetAgileFly
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出Taien Wang
 
Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型Tony Deng
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合Rick Hwang
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outlineturtleknight
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级Hardway Hou
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
台中市創業平台建置計畫
台中市創業平台建置計畫台中市創業平台建置計畫
台中市創業平台建置計畫Chris 克里斯
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startupYenwen Feng
 
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdfIvan Chiou
 

Similaire à Project GATE 的敏捷實踐之路 (20)

Agile introduction
Agile introductionAgile introduction
Agile introduction
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
 
SCRUM
SCRUMSCRUM
SCRUM
 
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲
使用者中心的網站設計原則 以英國政府入口網gov.uk 為例 / 悠識 蔡明哲
 
SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale SRE CH27 - Reliable Product Launches at Scale
SRE CH27 - Reliable Product Launches at Scale
 
[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 ...
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
 
Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outline
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级
 
0918 產品經理先修班
0918 產品經理先修班0918 產品經理先修班
0918 產品經理先修班
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
台中市創業平台建置計畫
台中市創業平台建置計畫台中市創業平台建置計畫
台中市創業平台建置計畫
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
 
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf
20231028 清大GDSC演講-何謂敏捷與PAIA如何透過敏捷組織企業與學生共融的開發團隊.pdf
 

Plus de AgileCommunity

從Agile到Lean Startup:趨勢的軟體開發之旅
從Agile到Lean Startup:趨勢的軟體開發之旅從Agile到Lean Startup:趨勢的軟體開發之旅
從Agile到Lean Startup:趨勢的軟體開發之旅AgileCommunity
 
A journey about how’s high performance teams forming and develop Mobile appli...
A journey about how’s high performance teams forming and develop Mobile appli...A journey about how’s high performance teams forming and develop Mobile appli...
A journey about how’s high performance teams forming and develop Mobile appli...AgileCommunity
 
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 - 趨勢科技的 agile 之旅
Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅
Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅AgileCommunity
 
More with Less - Agile Meetup 2014/9/18
More with Less - Agile Meetup 2014/9/18More with Less - Agile Meetup 2014/9/18
More with Less - Agile Meetup 2014/9/18AgileCommunity
 
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美AgileCommunity
 
2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發AgileCommunity
 

Plus de AgileCommunity (11)

從Agile到Lean Startup:趨勢的軟體開發之旅
從Agile到Lean Startup:趨勢的軟體開發之旅從Agile到Lean Startup:趨勢的軟體開發之旅
從Agile到Lean Startup:趨勢的軟體開發之旅
 
A journey about how’s high performance teams forming and develop Mobile appli...
A journey about how’s high performance teams forming and develop Mobile appli...A journey about how’s high performance teams forming and develop Mobile appli...
A journey about how’s high performance teams forming and develop Mobile appli...
 
練出精實ux
練出精實ux練出精實ux
練出精實ux
 
Agile tour dojo c++
Agile tour dojo c++Agile tour dojo c++
Agile tour dojo c++
 
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 - 趨勢科技的 agile 之旅
Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅
Agile Tour Taipei 2014 - 趨勢科技的 agile 之旅
 
2014/10/3 Ux in china
2014/10/3 Ux in china2014/10/3 Ux in china
2014/10/3 Ux in china
 
More with Less - Agile Meetup 2014/9/18
More with Less - Agile Meetup 2014/9/18More with Less - Agile Meetup 2014/9/18
More with Less - Agile Meetup 2014/9/18
 
Coding dojo初體驗
Coding dojo初體驗Coding dojo初體驗
Coding dojo初體驗
 
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
 
2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發2014/02: 嵌入式測試驅動開發
2014/02: 嵌入式測試驅動開發
 

Project GATE 的敏捷實踐之路

  • 1. Project GATE的敏捷實踐之路 蕭存喻 Richard Hsiao AgileCommunity.tw 贊 助 廠 商
  • 2. ⾃自我介紹 • 蕭存喻 Richard Hsiao • 交通⼤大學 資科⼯工所 博⼠士 • 專⻑⾧長: 網際網路技術 及 分散式系統 • 電腦玩家雜誌社 特約作家 9年 • 遊戲齡:29年 • 相關經驗: • 遊戲橘⼦子集團 ⼯工程師 ⾄至 研發經理 • 六年多之遊戲及引擎開發經驗 • NetGames 2014 Program Committee • 近年來特別關注於敏捷軟體開發法的實務 • 導⼊入及團隊帶領約有6年經驗 AgileCommunity.tw
  • 3. Project GATE背景 • 內容: • ⾏行動裝置上的應⽤用程式專案 • 跨平台、使⽤用雲服務、提供社群平台服務、 導⼊入應⽤用程式遊戲化(gamification) • 團隊組成: • ⼀一個預計⾃自集團內部切分出的新創團隊 • 向執⾏行⻑⾧長團隊提案通過的社群平台app • 在專案執⾏行⾯面及技術選擇上有相當的⾃自主權 AgileCommunity.tw
  • 4. Project GATE背景 • 隨著專案的執⾏行,由10⼈人左右的團隊開始,⾄至 ⼆二年後的今天,已經到達25⼈人。 AgileCommunity.tw
  • 5. 這個專案會冒出什麼樣的⽕火花呢? 草創期 擴張期 穩健期 AgileCommunity.tw 贊 助 廠 商
  • 6. 3C 問題,⼀一個也沒少 Communication Collaboration Coordination AgileCommunity.tw 贊 助 廠 商
  • 7. 第⼀一步 解決程序正義的問題 » 草創期與擴張期的常⾒見挑戰: » 該聽 誰的? 何時? » 三個 Product Owners, ⼀一個stakeholder, 團隊初期成員⼜又有點像是合夥⼈人, 到底聽誰的? » Acceptance Criteria不明確 » definition of done不清 AgileCommunity.tw
  • 8. ⽅方式: 強化refinement workshop Stakeholder’s Meeting () AgileCommunity.tw Refinement workshop (Week N-2 Friday) PO meeting Runway Review (Week N-2 Tuesday) Daily Scrum 11:45AM Sprint Planning (Week N Monday) Week 2 (Week N+1 Friday)
  • 9. » 強化Refinement workshop的進⾏行要點: 1. 於refinement workshop中發表story 的設計,讓成員理解並有機會參與調 整設計。 2. 強化workshop中Acceptance Criteria 的訂定以便讓後續planning更順暢 3. ⿎鼓勵當場能將設計討論完。 AgileCommunity.tw
  • 10. 第⼆二步 建⽴立軟體規格與開發之間 的共識 » User Stories的撰寫、開發⽂文件撰寫 » 常⾒見的挑戰: » 價值不夠突顯 » 開發⽂文件的撰寫詳細度 » 各專業/平台有辦法⼀一同於同個 sprint完成嗎? AgileCommunity.tw
  • 11. » ⺫⽬目前我們把握的原則為:「價值優先」 1. User Story Title著重描述價值 2. 規格細節的⽂文件,寫了有⽤用、有⼈人會 看就寫。 3. 溝通的平台 不限,只要有⼈人覺得可以 達到⺫⽬目的就可。 » 但規格部份仍要有主要匯集地 » 不過,促進團隊有良好的溝通循環及養 成⽂文化習慣才是重點。 AgileCommunity.tw
  • 13. 第三步 使專案流程明確並順暢 » 增設採⽤用看板⽅方法的runway階段: » 其⺫⽬目的有⼆二: 1. 解決User Story Grooming階段的不確定性 » 有些發想、設計⼯工作難以在sprint中完全達 陣 » ⽀支援型或探索型 等,不確定性較多的任務 2. 適合 量產型任務 » Runway Review是於PO Meeting來進⾏行。 AgileCommunity.tw
  • 14. Stakeholder’s Meeting () AgileCommunity.tw Refinement workshop (Week N-2 Friday) PO meeting Runway Review (Week N-2 Tuesday) Daily Scrum 11:45AM Sprint Planning (Week N Monday) Week 2 (Week N+1 Friday)
  • 15. » 當然並⾮非這麼⼀一來就順利了 » Hugh Lead/Cycle Time AgileCommunity.tw
  • 16. » 團隊後來也曾做些嘗試 » sprint N 撥出部份的時間(40%)的時間 進⾏行兩個軟體特⾊色的討論及設計, Sprint N+1, N+2全⼒力衝刺完成。 » 偶爾為之可,⻑⾧長期下來會爆肝。 AgileCommunity.tw
  • 17. » Project GATE團隊的真實運作狀況(縮時 影⽚片): » daily scrum » daily development » review meeting AgileCommunity.tw
  • 18. » 我們學到了什麼? » 溝通、團隊適性及磨合在Agile Team 裡⾯面⼀一直是個重⼤大的議題。 » Agile Scrum只是個曝險架構,對於看 到的問題不能視⽽而不⾒見,需要捥起袖 ⼦子與團隊⼀一同解決。 » 建⽴立適切的敏捷⽂文化並找尋到合適的 ⼈人員會事半功倍。 AgileCommunity.tw
  • 20. » 機緣: 1. 成員對於Refinement workshop的需求 2. 當CI變成開發⽇日常中的重要⼀一環後,推 ⾏行⾃自動化測試的理念就開始浮現。也因 此開始進⾏行 Quality Engineer的招募 及 ATDD 制度的引⼊入與試⾏行。 3. 2013/3/28 的cc Agile Sprint 8 :「BDD in .NET - TDD 在實務上最後⼀一塊拼 圖」 by Joey Chen(91) AgileCommunity.tw
  • 21. BDD的測試框架的架構⽰示意 Business Facing (Gherkin) Technology Facing AgileCommunity.tw
  • 22. » 只是,現實是殘酷的: 「初次懈逅 想像總是⽐比較美好」 » 原本希望達成的⺫⽬目的: 1. 期望透過Gherkin易懂的優勢,讓 團隊中⼈人⼈人都可寫UAT描述. 2. Quality Engineer專⼼心建構step definition (reuse steps去加速架起 UAT防護網) 3. 有效利⽤用⾃自動化測試的優勢 AgileCommunity.tw
  • 23. » ⺫⽬目前達成的現狀 » 使⽤用cucumber去驅動測試iOS與 Android平台的App » Gherkin與Ruby Library的部份共 ⽤用。 » 主司smoke test及每⽇日的integration test AgileCommunity.tw
  • 24. » 進⾏行過程中不盡理想的部份: » the cucumber book上提到的⼀一個也沒少: » flickering scenario » brittle features » slow features » bored stakeholders AgileCommunity.tw
  • 25. » 我們學到了什麼? » 勿對於UAT⾃自動化想的太過美好 » test code 進度趕不及、穩定度不⾜足 » 測試內功是重點 » 敏捷測試的⽅方向選擇團隊需有共識 » 不要輕忽進⾏行⾃自動化所需要的時間 » 每次app features⼤大改版、OS改版 及伴隨的⼯工具改版都會消秏不少團 隊時間再次步⼊入穩定期。 AgileCommunity.tw
  • 27. » 第⼀一階段:「形成共識」 » 採⽤用⽐比以往更重視中的開發模式,並 由cruise control.net切換導⼊入Jenkins » 不知不覺中整個project就進⼊入了trunk-based AgileCommunity.tw development的開發⽅方式。 » 團隊形成共識: DoD包含了unit tested. iOS, android兩平台均有可以安裝的實 機版本,可透過CI觸發建置、測試 完,進⾏行下載安裝
  • 28. » 維繫trunk-based development的關鍵: » 形成⽂文化及養成習慣 » 突顯trunk build success 與 fail 的狀態 » Build Success (previous is fail): » Final Fantasy Combat Victory Melody » Build Fail: » 南⽅方公園的精典台詞: 我的天,阿尼⼜又掛掉了~ AgileCommunity.tw
  • 29. 雖然我很不起眼 但團隊絕不會忘了 speaker photo 我的存在!!! » 總結: 以有樂趣的⽅方式讓團隊成 員確實感受到CI的整合是⼀一件團 隊注重的事。 AgileCommunity.tw 贊 助 廠 商
  • 31. » 第⼆二階段:「縮短反饋時間」 » 切分出 debug, release stage,進⾏行參 數、圖素⺫⽬目錄結構整理並進⾏行美術 Assets的輸出的⾃自動化。 » 先由較有經驗的總監們進⾏行 scripting撰寫及⺫⽬目錄定義 » 透過coding dojo將知識分享給成員 » 使得企畫與美術可以⾃自⾏行建置版本, 確認圖素、AI、遊戲參數在實機上是 正確的。 AgileCommunity.tw
  • 32. » 第三階段:確⽴立「eat own dog food」⽂文化 » 確⽴立五個發佈的stage » 正式營運環境移往aws » 每sprint都有polish time » review/retro之後全team再次試⽤用,由 PO決定是否發佈publish。 AgileCommunity.tw
  • 33. » Project GATE的釋出stage安排(C.I.⾃自動化) AgileCommunity.tw Debug Release Trial Publish Operation 背景企畫與美術 測試⽤用環境 程式開發中 版本 Iteration polish/ review版 本 可公開的候 選版本營運⽤用 功⽤用 企畫與美術 測試之⽤用, 如:A.I. 參數. UI 元 素 供整合測試 之⽤用 團隊測試、 展⽰示之⽤用 送審/上架/ 對外展⽰示之 ⽤用 對外營運 ⺫⽬目前費時 20 Min ~ 1 Hours 20 Mins 10 Mins 10 Mins ???
  • 35. » 我們學到了什麼 » 以提昇敏捷性⽂文化為最終指導原則, ⽽而不是只要求依循敏捷實踐,⽅方有最 佳效果(being agile, not doing agile) » 建⽴立敏捷⽂文化、環境與共識 » 建⽴立符合程序正義的管道 » ⿎鼓勵團隊嘗試並從中學習 » “開始”永遠不嫌晚,累積的進步是相當 顯著的。 AgileCommunity.tw