開篇:我的職業背景與 Scrum 旅程
我曾在一家電商新創擔任後端工程師,同時兼任團隊的 Scrum Master。在我以往的工作經驗上,主要熟悉 AWS 的技術環境,而對 Google Cloud 的了解並不多。當我轉換工作時,一方面是因為當時主管鼓勵我獲得 Professional Cloud Architect (PCA) 證照,另一方面,我也希望驗證自己在 AWS 上的經驗是否同樣適用於其他雲平台。至於這篇文章的另一個主題: Scrum,則是在我考取 PCA 證照後,才開始思考是否可以將 Scrum 框架應用於證照考試的準備過程,以期能改善整個流程。
Scrum,作為一種廣泛應用於軟體開發的敏捷開發方法,不僅以其靈活性、迭代及團隊合作為核心特點,逐步改善團隊開發流程。然而,Scrum 的應用並不只侷限於軟體開發領域。許多敏捷的實踐者已經開始探索將其應用於家庭、個人成長等領域上,而逐漸形成 Personal Scrum 的概念。一些生活黑客(Life Hackers)便採納了 Scrum 的核心概念,致力於提高個人日常活動和工作的效率。在這裡,我將分享我自己在實踐這一理念過程中的一些體會與心得。
在開始我的 Sprint 之前,我首先對自己可以利用的時間進行詳細的盤點。由於時間資源有限,我儘可能利用每一分每一秒。具體來說,我把 Sprint 長度定為一個星期為主,下圖是比較詳盡的時間規劃作為參考,初步來看,我每天有近2個小時的通勤時間可以用於學習和準備。而每個星期一早上我會利用運動的部份時間,為這周的準備計畫作Planning。Review 的時間會安排在周五晚上約半個小時的時間,評估考試的準備狀況,並安排時間報名線上考試。考試通常安排在周日早上9點的時間,考後會再利用空閒的時間進行 Retrospective。我大概按這個課表進行了近3個月左右,而我的上下班通勤時間成為了實際學習和準備考試的寶貴時段。
在 Scrum 中有三個核心角色:Product Owner (PO)、Team 和 Scrum Master,每個色角在 Scrum 的不同活動中有著獨特的作用。在過去團隊的經驗中,許多創新的想法常常源自於不同角色之間的頻繁互動與討論。但若要落實到 Personal Scrum 流程,情況就變得有些不同。我必須讓自己主動意識到自己在各個活動中同時擔任好這些角色,並試著在不同立場間建立對話。例如在 Sprint Planning 階段,我必須提醒自己所提出的想法需要從 Product Owner 的角度出發,並設定好 Sprint Goal。在此當下,也作為一人團隊,也得在我釐清目標和需求後,將課程的準備材料逐一展開,切割成可執行的工作。同時,這整個過程還得讓扮演 Scrum Master 的我,在旁時時注意整個活動的進行,記錄並適度調整流程,以讓這 Planning 能夠順利完成。總之,在Sprint內同時扮演多個角色,讓我的大腦變得異常忙碌。所幸的是這些討論都是在我大腦跟自己對話,整個流程執行下來,並不會花費太多時間。
接下來我將簡要概述 Scrum 幾個主要活動的安排,並把要點繪製成以下的圖:
Sprint Planning:在每周一早上出門運動前,我會收集相關信息,並審視一下本周的計畫,看週末有沒有安排,並初步計算一下本周可用於準備的總時數。我會大致規劃出需要完成的內容,我課程資源主要就以下四個:
我會先粗略瀏覽課程目錄、投影片、影片長度及數量,簡單分配一下,最後決定一下Sprint Goal,通常會在20分鐘左右就可以完成。舉 PCA 的 Udemy 課程來說,總共有330講座,共計20小時51分鐘的影片,假設我希望在周五前把它看完,那我一天的進度至少就得完成66個講座,就是這樣簡單粗暴的切割工作。
Daily Scrum:在每天上班的通勤途中,我會每天動態調整當天的學習目標與進度。例如設定今天的目標要完成到150/330講座的目標,又或者會專注於特定的技術主題,通常是用在我特別不熟悉的主題。有時也會安排練習考古題及官方考題。這樣的日常任務不僅增加了學習的趣味性,也提高了學習效率。
Sprint Review:在每周五,當我把預定的學習資源都看得差不多的時候,我會回顧一次當周所學習的內容,也會作一輪官方所提供的20題 Sample Questions,這時我會切換到PO角色,並視其結果用來評估我自己對考試的掌握程度。評估後覺得可行的話,我就會在 Review 當場安排時間報名線上考試。若是評估覺得希望渺茫的話,我就會把資料整理起來( Retro 用),讓整個團隊都去放假(也只有自己一人 XDD)。又或者評估後覺得準備不夠,就承認這個 Sprint 已經 Fail 了,把考試安排到下一個 Sprint 再多準備一個星期。總之,我會在 Review 作一個階段性的總結與決策。
Retrospective:最後的 Retro 其實是 Scrum Master 角色的主場,不批判自己,不對考試結果過於懊悔,不論成與不成,都需要檢討自已在流程或心態上,找出可以調整或維持的空間,用以改善準備過程及應試技巧。舉例來說,剛開始幾次的遠端考試真的是狀況百出,像是網路無法連線,但這樣每次檢討下來,我反而喜歡用遠端考試的方式來應試,檢驗流程也可以在很短的時間內就完成,也不會因為考試環境的關係而影響到考試的情緒。
在過去的三個月中,我總共進行了11個 Sprint,其有有一次 Sprint 未能順利成功,一次是考試 Fail,一次是評估下報名考試,還有一次是準備不足,把 Story 延長到下一個Sprint。但就最終的成果仍然還是有達到我的預期(具體成果見文末)。最初的想法是想要充份利用每天約4個小時的漫長通勤時間,而在這段旅程中,在落實 Personal Scrum 上從中學習了以下心得:
最後,藉由這次的生活實驗將 Personal Scrum 流程應用於證照考試上,並藉此提供了具體的操作策略,在每一次的 Sprint 過程逐步改善整個流程。儘管過程十分忙碌,但收獲還是挺豐富的。此外關於考證照的作用,我還是認為通過考證照本身並不能直接提升個人的專業上的能力,它只是認可你具備從事這項職業最基礎的要求 - 溝通語言,對我而言,在完成這些證照後,一方面證實了不同雲平台間背後的理論架構是相似的,只是各家的技術及服務的選擇上略有差異。深入理解一個雲平台的經驗讓我不必擔心切換到另一個雲平台。另一方面,這些證照有助於工作上與團隊在溝通跟討論解決方案上會有共同的語言,更能有效的促進團隊合作。希望這幾個月來的實驗心得,能對有興趣嘗試Persnoal Scrum的人提供幫助!
以下這些我在過程中給我不少想法的文章或書藉: