什麼是敏捷開發中的核心分析工具?
敏捷開發 (Agile Development) 的核心不在於單純的速度快,而在於建立穩健的修正週期與提升生產力。在 Agile Tour 2020 中,三大核心工具被廣泛討論:1. 週期圖法 (Cycle Diagram) 用於識別團隊成員與環境間的「速度感」差異,協助個人在爬山與下山的職涯階段中調整節奏;2. Cynefin Framework 提供了解析問題的架構,將挑戰分為簡單、繁雜、複雜與混亂四類,協助團隊在面對如「20 個減肥 Sprint」這類複雜問題時做出正確的試探與因應;3. 遊戲化八角框架 (Octalysis) 則透過內外部動機(如使命感、稀缺性與社會影響力)激勵成員主動參與。掌握這些工具能有效優化軟體工程管理,達成高品質的團隊協作與職涯發展。
這篇文章會分享聽 Agile Tour 2020 三場分享的心得,包含從週期圖看不同速度成員在同個團隊的狀況,如何用 Cynefin Framework 來談為什麼 20 個減肥 Sprint 會失敗? 遊戲化框架對團隊的幫助在哪?
在心得開始之前,想先問大家有聽過 Agile 嗎? 先直接說我的看法:
- Agile 翻譯是敏捷。
- 敏捷通常會聯想到速度。
- 敏捷不完全等於快,也可能是增加專案修正的週期。
- 生涯或團隊的最終目標都是增加 Productivity。
週期圖看團隊成員速度
Q 不同速度的人要怎麼合作? 不同速度的生物怎麼在同個生態系中共存共榮?
這次的主題是敏捷組織內,是你在跑步還是我在走路? 活動的開始,講師帶領大家 Check In 的破冰活動是選擇一隻代表自己速度的動物自我介紹,接著用不同速度感的動物分組,體驗不同速度感的團隊怎麼溝通,我覺得這個破冰活動很棒,原因是:
- 用動物介紹自己比較沒有侵入性。
- 不同速度的動物在同一組討論能夠增加異質性。
- 速度感的代表性還蠻明顯的,速度感也可以分成兩種看法:
- 時速: 60 km/hr,偏重當下的速度。
- 配速: 6 分速,偏重一分鐘可以完成多少事情。
QA 如果把當下組織當成活的生態系,不同速度的生物在加入時會有哪些情境和情緒?
想像剛進公司到離開,有哪些情境跟情緒,探討隨著了解和到達輸出的極大化的過程中會遇到的速度感、情境、情緒。
舉例來說: 我過去待的都是相對自己能力比較普通的公司,只要是時程合理的專案,遇到的通常都是人的問題居多,個人成長的速度在有意識的安排底下通常都是超過公司速度的,才會出現跳槽的問題。
剛開始工作的時候,我是一個後端工程師,一週的工作量大都能在四天左右完成,剩下半天是跟主管確認和寫週報,最後半天到一天是可以學習任何跟公司或專案相關的任何技術,我也是在那個時候自學前端相關的知識,現在仔細想想那時候也是每週一次小 Sprint 的概念。
QA 情境跟情緒如果要分四個階段會怎麼分? 這個階段的速度感如何?
- 多週期的職涯
- 薪資上的成長
- 職能上的成長
切割成四個周期後,就能夠畫出週期圖,週期可以看成是爬山的過程,由於我們並不會一直待在頂峰,那在下山的路上,我們該如何看待自己和團隊的狀態、速度感。
QA 公司目前這四個階段的挑戰、優勢在哪邊,這四個階段跟個體職涯本身的階段是相同的嗎?
團隊狀態週期圖
不管是家庭、職場或是人生,敏捷本身強調的是快速調適的能力,當不滿意或是委屈的心情出現的時候,往往我們導入方法常常都在想怎麼改變團隊,但是 vision 跟 reality 之間拉扯的張力通常會讓隊友不舒服。
有時候也可以反思怎麼把自己調適成適合團隊發展的成員,敏捷不只是把組織變成想要的樣子,也能夠試著把自己變成適合組織的樣子。
Cynefin Framework 分析
減肥是怎麼樣的問題? 為什麼會失敗?
講者分享的題目是從 20 個 Sprints 減重成功(或失敗)的經驗來看組織敏捷轉型之路。體驗活動的開始是希望小組的大家在不講話溝通的情境底下達到講師的要求:
- 按照身高排序。
- 按照進教室時間排序。
- 分成五人內的小組。
- 組成一個 A。
- 組成飛機的形狀。
- 組成壽司的形狀。
體驗活動的心得:
- 知識由經驗累積。
- 等待第一個動作的人。
- 問題有分不同的類型。
- 怎麼在不講話的情況下同步大家的知識、想像。
Cynefin Framework 是解析問題的一種方法,用來幫助我們做優先順序的決定,當然也可以加入花費時間、產出效益、困難度來增加分析。
- 有序、簡單 (Obvious): 按照身高排列 (簡單到不需要流程)。策略:觀察 → 分類 → 因應。
- 有序、繁雜 (Complicated): 按照進教室時間排列。策略:觀察 → 分析 → 因應。
- 無序、複雜 (Complex): 組成一個 A,需要等有人先有試探性地帶領動作。策略:試探 → 觀察 → 因應。
- 無序、無法估計 (Chaotic): 策略:行動 → 觀察 → 因應。
| 不同種類的問題,會有不同的應對方法 | |
|---|---|
| 3. 無序、複雜: 試探 → 觀察 → 因應 | 2. 有序、複雜: 觀察 → 分析 → 因應 |
| 4. 無序、無法估計: 行動 → 觀察 → 因應 | 1. 有序、簡單: 觀察 → 分類 → 因應 |
其他常見流程管理
- OOAD: Observe → Orient → Decide → Act
- PDCA: Plan → Do → Check → Action
流程管理像是 PDCA 就是剛開始工作主管要求我做的,我在每周四的下午和主管 check 過後到周五結束前都是我可以 Plan 的時間,提早完成就可以學其他自己想學的技術。
回顧 20 個 Sprints 減重成功(或失敗)的經驗,過程中最重要的是每次迭代要有增量:
- 減肥問題看起來是 Obvious 實際上是 Complex。
- 太晚觀察和建立壓力大的行為模式。
- 幾次回顧會發現其實不想做 Scrum Master。
- 能否在外部角度看問題,是否看出狀態、想法。
- 減重只有一種方法有效,只有你願意堅持的那一種。
遊戲化框架 (Octalysis)
是什麼讓打遊戲的人這麼快樂?
遊戲化的八角框架,透過八個內、外部動機,來分析歸納遊戲化設計怎麼發揮影響力。
黑帽 vs 白帽:
- 白帽核心動力: 強大、圓滿、滿意。
- 黑帽核心動力: 著迷、焦慮、上癮。
內、外部動機分類:
- Epic Meaning (使命感): 有義務完成什麼 eg 成就感,可以找下一個更好的工作 or 專案能夠有影響力。
- Avoidance (避免): 損失與避免 eg 對失去的恐懼。
- Accomplishment (成就): 發展與成就 eg 點數、成長視覺化。
- Scarcity (稀缺): 稀缺與迫切 eg 競爭稀缺資源。
- Ownership (所有權): 所有權與佔有慾 eg 產生想要 "改進"、"保護" 的心態。
- Empowerment (創造力): 創造力與回饋 eg 創造自己的貢獻 or 樂高。
- Unpredictability (不確定性): 不確定性、好奇 eg 發票抽獎活動、想了解未知的動機。
- Social Influence (社會影響力): 社會影響力與同理心 eg 歸屬感、師徒制、影響力小隊。
如果從遊戲化框架來回頭看團隊與個人的目標:連結要能被量化、人不是機器、人們喜歡感覺自己聰明、了解不同人的狀態期望、引導設計自我增強計畫。
FAQ:敏捷開發實踐常見問題
Q1:Cynefin Framework 標註的「混亂 (Chaotic)」場景在軟體開發中常見嗎?
A:常見於「重大資安漏洞」或「正式環境全面崩潰」的時刻。此時不應花時間分析或試探,必須先「行動 (Act)」——例如立即切斷連線或回滾版本——來止血,待環境穩定後再回歸「觀察」與「因應」。
Q2:如何避免遊戲化機制讓團隊感到幼稚或被迫?
A:關鍵在於平衡「白帽」與「黑帽」動力。過度強調點數與排名(黑帽)會導致短期焦慮與作弊行為;應強化「創造力回饋 (Empowerment)」與「使命感 (Epic Meaning)」,讓成員認同重構程式碼或優化流程是為了更好的開發體驗,而非單純為了積分。
Q3:為什麼說「週期圖」中下山的階段很重要?
A:因為沒有人能永遠維持高產出。當您進入「職涯下山期」(例如技能進入停滯期或對環境感到疲憊),這是一個重要的「重組與再啟發」信號。敏捷思維告訴我們,應在此時減少張力,尋求橫向轉職或學習新技術,為下一個上升週期做準備。
喜歡這篇文章,請幫忙拍拍手喔 🤣
