一個人的偽 SCRUM 生活實驗

Balloon
6 min readNov 21, 2021

--

INTRO

「敏捷開發」近年來已經是軟體開發的顯學。「敏捷」是一種價值觀,實踐上又以 Scrum 最廣為人知。本實驗的目標不在於開發軟體,而是想測試它是否能套用在個人生活實踐上。本來想簡介 Scrum 是什麼,但在讀過這篇文章之後就放棄了(我大概很難寫得比他淺顯易懂 XD)。文中作者舉澳洲旅遊的例子解釋什麼是 Scrum,很簡單、很生活化!

WHAT

在實驗開始前,先定義要做什麼以及範疇:

  1. 一個人跑 Scrum
  2. 跑 Scrum 的目標是實踐個人生活上想做的事,而非開發軟體

WHY

最近公司拉了幾個人成立特別小組,說要跑 Scrum 開發新產品。我擔任 Scrum Team 的 Product Owner(某種程度兼任 Scrum Master)。但我只有在前公司以菜鳥工程師的身份參與過 Scrum,當時也沒太去瞭解 Srcum 是什麼?初次帶 Scrum Team 實在是戒慎惶恐啊~~~

除了趕快跟比較有經驗的同仁討論、查了些資料、買書看等等,突發奇想,我能不能把它套用在個人生活上,一來是親身感受 Scrum 是什麼;二來搞不好能治治我老是定了一堆計畫,卻做沒兩個禮拜就放棄了的惡習。於是這個實驗就誕生啦!

NAMES

這一節做兩個名詞的介紹,以及在本實驗中如何看待它們:

Sprint:一個從「計畫」、「執行」、「發佈」到「回顧」的完整週期,每個 Sprint 都需要產出「交付物」。Scrum 由週而復始的 Sprint 組成,常見的週期是一到四週。本實驗將週期定為兩週。

交付物:以軟體開發而言,交付物必須是可被使用的、具商業價值的功能或頁面。本實驗把它定義成一個可被發佈到網路上的「成品」!比方「發佈彈唱某首歌的影片」或「撰文介紹某本書」都屬於「成品」;「練琴 5 小時」或「閱讀某本書的前三章」則不是。

HOW

我參考 Scrum 的三個重點文件 / 圖表,盡可能在保留原始精神下,做一些調整以符合實驗的需要,並將某些項目的中文重新命名:

總待辦清單(Product Backlog)

在這份清單中,會列出想要執行的「故事(Story)」。「故事」跟上述的「交付物」基本上是類似的概念。執行完某個「故事」,代表這個故事可以被「交付」。有時候一個故事的涵蓋範疇可能會太大,導致無法在一個 Sprint 內完成。這時候可以考慮是否將故事拆分成幾個更小的故事,但原則是每個小故事仍然要可以被交付。比如本來的故事是要介紹某本有三大章節的書,或許可以把該故事拆分成三個,每個小故事只介紹一個大章節。

在本實驗中,會把清單中的故事分成三種類別,分別是:「生活」、「職涯」與「趨勢」。目前清單中的故事如下。

生活:彈唱《不是因為天氣晴朗才愛你》

職涯:介紹《Agile 成功法則》、介紹《資訊架構學》

趨勢:介紹 NFT、介紹元宇宙

Sprint 待辦清單(Sprint Backlog)

這份清單中羅列的,是故事經過「拆分時間」(後面會介紹)後拆出來的細項,它們無法單獨被交付。比方故事是彈唱某首歌,拆出來的細項可能是聽熟原曲、練唱主歌、練唱副歌、找吉他教學影片、練彈主歌、練彈副歌、練習同時彈唱全曲、錄製影片、剪輯影片⋯⋯等。

燃盡圖(Burn Down Chart)

這邊建議先看完下面的「計畫時間」小節後,再回頭來看會比較容易理解。

圖表的縱軸是當前 Sprint 所有細項的總點數,橫軸是日期或天數。理想上,要在該 Sprint 中完成所有細項。換句話說,一開始的剩餘點數最多,每完成一個細項就把對應的點數扣除,在 Sprint 結束的時候應該要剛好把所有點數燒光光,也就是剩餘 0 點。

以「計畫時間」小節底下的附圖為例,該 Sprint 的總點數是 24 點,所以縱軸是 0~24。因為我將 Sprint 定為 11 天,所以橫軸是 1~11。假設目前 Sprint 已經進行了三天,這三天依序完成了 2 點、0 點、5 點,畫出來的圖大概就會長這個樣子:

圖中藍色直線代表如果每天都以相等的速率燒掉點數,所呈現的剩餘點數狀況。每天按實際上剩餘的點數在圖上畫紅點,並在紅點間連線,則形成折線。效果是,如果折線高於直線,代表進度落後;反之,則是進度超前。如此便能一眼輕鬆看出目前的進度。

Scrum 還有五個重點會議,我一樣有做了一些調整:

計畫時間(Sprint Planning Meeting)

為「Sprint 待辦清單中」的每個細項,分別估算點數,並加總出原本每個故事的總點數。點數估算的方式,會按照該細項的複雜度或預期花的時間多寡來給點。可以使用的點數有 1, 2 ,3 ,5, 8。最簡單一下子就可以做完的給 1;反之給 8。

接著判斷這個 Sprint 大概可以處理多少點數,按自己喜好挑選出這個 Sprint 想做的故事,不一定要全部挑完。把確定要在這個 Sprint 做完的故事的所有細項,一個一個寫在便利貼上,並標上點數。為了方便一目了然,我將使用黃、藍、紫三色的便利貼,分別對應由「生活」、「職涯」、「趨勢」拆出來的細項。寫好之後把它們通通貼在看板「To Do」下方。沒有被挑到的細項則留在「Sprint 待辦清單中」即可。

每日進度檢視(Daily Scrum Meeting)

每天更新燃盡圖(Burn Down Chart)以追蹤進度。

發佈會(Sprint Review Meeting)

把當個 Sprint 的成品發佈到網路上。

回顧(Sprint Retrospective Meeting)

寫 Medium 文章紀錄。

拆分時間(Backlog Refinement Meeting)

從「總待辦清單」中拿出幾個下次 Sprint 最想執行的故事,拆分出細項,列到「Sprint 待辦清單」中。

Sprint 以兩週為一個週期,始於週一、終於隔週四,共計 11 天。各項作業的時程安排如下:

  1. 第一天(週一):執行「計畫時間」
  2. 每天:執行「每日進度檢視」。此外,隨時可以更新便利貼在看板上的狀態。正在進行中的細項,應將對應的便利貼移到「Doing」下方;完成的則貼到「Done」下方。原則上 Sprint 結束時所有便利貼應該都要在「Done」下方。
  3. 第十一天(隔週四):執行「發佈會」
  4. 第十三天(隔週六):執行「回顧」
  5. 第十四天(隔週日):執行「拆分時間」

Outro

敏捷是什麼?Scrum 又是什麼?很難一言以蔽之。而且讀再多資料,不如實際走一遭來得有感。我認為敏捷是自由的、回應變化的。本實驗參考 Scrum 的框架與精神,做了若干調整,設計出以上的流程。至於這樣到底還算不算 Scrum?有沒有什麼重大缺陷?這些問題,就留給實驗幾個 Sprint 後的自己來解答囉!

--

--