Member-only story

[工作效率] Agile/Scrum — 敏捷的工作法

Jack in the world
7 min readNov 21, 2019

--

在軟體開發的世界裡,突然間Agile(台灣翻譯成「敏捷」)就像是珍珠奶茶一樣倏地流行起來,每個公司團體都在使用它.
Agile的發展歷史我就省略了,有興趣的請去維基百科查查:

Agile被應用在軟體開發上面,大概是因為軟體的開發快,分工細,軟體的生命週期短,而且在過程中有許多不確定性.
相較於一般的計劃管理流程,是以事先規畫安排好,然後照著計畫去做,確保每一個階段步驟都在計畫之內,並且有「里程碑(milestone)」可以檢查進度,Agile強調的是彈性和快速應對.

這麼說吧,傳統的做法就像是在出國旅行時,先把所有行程規畫好,預算精打細算,每天每段的行程時間和地點清楚標出,也知道食衣住行娛樂各個分配,出門之後就按表操課.

Agile就比喻成給你一筆錢,告訴你旅行的目的地是哪裡,有幾天的時間可以玩,然後就出發.
在每個行程點規劃下一個地點是哪,怎麼去怎麼花錢怎麼玩,都是在前一段才安排好.也就是說除了起點和終點之外,其他都隨便你,只要玩到了你想玩的景點活動,平安回家,剩下的就看你自己任意安排.

這就可以看出,Agile不適合許多行業.

Scrum被稱作是Agile的「框架」,這我還真不知道該怎麼解釋比較好.

在我的想法裡,Agile是種指導大綱,Scrum偏向執行準則.
至少Scrum有許多具體的應用方法,雖然還是可以視情況由使用者改變調整,不過大方向是一樣的.

Scrum的角色(role)

在Scrum的團隊裡面,大概分成三個主要角色:

  1. Scrum Master:理論上不參與開發行動,擔任溝通協調和指導教練的角色,並且協助其他角色排除障礙.
  2. Product owner:在計畫開始時給定目標,安排階段工作的優先次序,確認每個Sprint(這個等下講到)的驗收達到標準,回答開發團隊的問題,並且負責整體計劃的成敗.
  3. Development Team:實際上開發的團隊,理論上是混合技能的小團體,以最少可執行人數為佳,但是實際上會有互補技能和缺員支援後備的情況.

Scrum的流程

Scrum一般是以兩個星期為一個階段,這稱為一個Sprint.
因為當初提出設計Scrum的人是以橄欖球裡的Scrum(每次暫停之後的重新集結)來介紹整個流程,所以用這來命名,而Sprint同樣是橄欖球術語,翻譯成衝刺.

有些團體會把數個Sprint組合成一個週期,稱為一個PI(Program Increment),然後每個PI指定一個達成目標,而PI裡面所有Sprint總合起來就是要達成這個目標.
這就有點像是在做年度計劃時,分成季度計畫和每月計畫.

--

--

Jack in the world
Jack in the world

Written by Jack in the world

Where in the world is Jack? 在這個世界上, 我們都在找尋自己的所在. 寫程式是我的嗜好和工作, 好好地生活在這個世界是我的日常, 學習新知識是我的快樂.

No responses yet

Write a response