ProductTank Taipei #10 筆記:敏捷開發與轉型(上)
這次的 ProductTank Taipei 主題為「敏捷開發與轉型」,由 Gogolook 負責 Whoscall 的資深產品經理 張仕杰,以及 91APP 負責 CRM 解決方案相關的資深產品經理 葉力維,分享在各企業中推動敏捷開發的心路歷程,並不藏私的分享其中的訣竅。
ProductTank Taipei #10 2018 July@Pic collage
(在開始前想先說聲:因為本人不是專業的 PM ,以下內容若有誤植,可能在理解過程中有落差,請多見諒。歡迎留言糾錯,期待未來可以越來越好,謝謝!)

張仕杰:「以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑」
張仕杰分為兩大面向,分享在 Gogolook 改善開發流程過程的兩大面向,第一為「Agile 運行的詳細旅程」第二則為「想推動 Agile 的 PM 該注意什麼」。
Agile 運行的詳細旅程
Gogolook 在使用 Agile 進行開發流程改革,嘗試過 Kanban、Scrum、Sprint、Impact Mapping 等方式,共經歷 2 年的時間。大致可以分為以下四個步驟:
1.凝結共識:點出問題
邀請 team member 說出目前有什麼問題,了解組織可以怎麼去改進。當進行討論時,對改進的目標有共識,之後討論解決方式也會更關注。(第二位分享者葉力維,也特別提及此共識建立的重要性。)
當時便發現主要的兩個問題為「時程延誤」、「需求不定時提出」造成團隊在開發上無法順利推進。
2.使用 Kanban:讓項目透明
理解團隊問題後,張仕杰開始帶動團隊使用 Kanban 此工具,幫助 team member 可以明確地看到現在插單的狀況、每位夥伴現在手上的 task 有哪些。
在 Kanban 的使用上,該團隊透過不同顏色的 post it 來區別 task 的狀況,例如紅色為插單,各方格以人為區隔,所以當「紅色 」、或是「某一格(人)」的 post it 明顯很多,就可以知道大概是有問題了,這時便需要即時資源的調配與問題解決。
但 Kanban 有一個缺點就是,沒有時間感。在不斷產生以及走流程的過程中,team member 可能會有一種看不到盡頭感,或是不知道何時該推進感。
3.轉型使用 Scrum:聚焦目標
在發現 Kanban 較無時間感的缺點後,開始使用 Scrum,進行兩週的 sprint 開發。他分享將「Task 變成 User Story」的三大重點分別為
- 溝通使用者價值:身為一個特定角色,他想要特定功能,來完成特定事情會是什麼?
- 開發的商業價值:story 有沒有辦法解決他的問題?(重點不是技術或是細節,而是問題的解決與否)是否為最有效的作法?
- 成果驗收的標準:如何評斷問題是否解決?
4.使用 Impact Mapping (reference)
在 Scrum 的進行中,團隊發現一個新的問題,在不斷 sprint 的奔跑過程中,好像不太知道奔跑的盡頭,以及整體跑步的路線,到底是什麼。因此就有了目前運行較為適用的 Impact mapping,透過 Why Who How What 進行開發的路徑優先順序的評估。

四個類別概述如下:
- why:目標為何?(商業價值是什麼?)
- who:誰來做這件事情?
- how:如何達成這件事情?(who 可以怎麼影響 why 的達成)
- what:該用哪些步驟/行動來達成?
張仕杰實際運行以終為始,展開 Impact map的步驟為:
- 每一季一開始,先確認溝通目標—— Impact map 的長相為何
- 進行路徑的優先順序排列(評斷標準:目標效益、成本大小、阻礙多寡等)
- 使用 sprint 去開發 map 中的「what」(行動)
- 使用季度一開始的假設,去驗證最後的實際產出,評斷是否 impact 和當初 map 規劃相同
透過 Impact mapping 團隊有在開發上明顯的準時許多,速度也加快,可以即時知道是否有解決使用者的需求,快速去做調整。
想推動 Agile 的 PM 該注意什麼
關於 Agile 的推動,張仕杰進一步分享自己身為 PM 在其中六個學習,以及小技巧們。
- 假設與驗證的過程很重要:建議可以使用「產品路線圖 > sprint 行動執行> 驗證假設」三階段的方式,去評估目標是否達成,去思考路徑策略並評估哪一種路徑最容易成功。
- 安排你的 release plan:張仕杰提供五種優先排序的方式供參考
- A. 使用 impact map 的優先順序往回逆推
- B. 先考量最有效益的 story
- C. 用發佈時間點來排序
- D. 思考需要的資源、是否需要進行研究與實驗(建議實驗可以放在最前面做)
- E. 張仕杰自己的小技巧,定義 Story 類別以及該採取的行動
- a. Product:規格明確,有直接 impact 結果 > 直接做
- b. Infra:基礎設施 > 是一種未來的投資
- c. Bug :明顯錯誤 > 需要修復
- d. Study:價值有,但還不明確 > 用有效的方法驗證(e.g. A/B Test, User Research, POC 等)
- 向上管理:主動和上級說明產品路線,並確認插件的價值是什麼
- 有效率的溝通:有效率的開會、文件要清楚(e.g. spec)、使用同一套的溝通架構不斷精進(張仕杰的溝通架構:溝通結果 > 現況 > 作法 > 誰做、何時做)
- 多費心在自省會議(retrospective):建議觀察一開始不順利的東西,那多是最嚴重的問題、最需要解決。每次 retro 後可以挑一個 task 去改進,重點要讓參與者感到每次都有在改進。同時,retro 你的 retro也會是很關鍵,例如:為什麼有人不提建議等。
- 採用敏捷前,先問自己「要解決什麼問題」:先從瓶頸開始,找出問題。
最後張仕杰也分享,有各種方式可以達到敏捷開發的效果,最重要的是從公司的策略去找到最適合的方式。
第一次寫 PM 相關的學習,若有解讀錯誤以及撰寫錯誤請多指教,下半場「我的 91 app 敏捷修羅道」也歡迎閱讀,謝謝!
Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!