敏捷 (Agile) 開發與Scrum:個人與互動重於工具與流程,站著開會才不是重點!

Jia-Yau Shiau
AI Blog TW
Published in
15 min readSep 4, 2021

--

敏捷 (agile) 開發與 Scrum可以說是現在大量軟體開發團隊在採用的方法與框架。敏捷的精神在於因應變化,能夠快速進行調整,而 Scrum是迭代式增量軟體開發的過程,與精實開發 (LEAN)、與極限程式開發 (XP) 都是敏捷軟體開發中最常見的實踐框架。

或許很多人都曾經參與過一個或多個採用 Scrum的團隊,這時候就會發現每個團隊的 Scrum其實都有許多不同之處。依據敏捷精神-個人與互動重於工具與流程,其實沒有所謂最正確或是對錯的問題。但另一方面敏捷開發希望因應變化調整,因此本篇文章內容是筆者個人在不同團隊的開發經驗與《敏捷與scrum軟體開發速成》結合,希望可以在客觀介紹的同時,也提供一些實務經驗的眉批。

(圖片來源)

文章難度:★☆☆☆☆

閱讀建議: 這篇文章會從敏捷開發精神開始,而後介紹 Scrum框架,主要著重於角色與流程兩個部分。文章內容會以《敏捷與scrum軟體開發速成》一書為依據,同時會佐以一些個人的實務經驗。

推薦背景知識: Product Development Process, Waterfall Development, Scrum, LEAP, Extreme Programming, Microservices, DevOps (Development & Operations).

敏捷 (Agile) 的革命

要說起敏捷開發,或許從瀑布開發開始說起會更容易理解。

瀑布 (Waterfall) 開發

瀑布開發是 1970年首次在論文 [1] 中被「正式提出」,其實論文中並沒有使用到 waterfall這個詞,只是很單純地描述一個軟體的線型開發流程,其中每一個階段都要等待前一個階段完成後,才能夠開始運行

瀑布式開發的流程。 (圖片來源)

有趣的是,作者 (Winston W. Royce) 提出瀑布式開發是要做為一個負面教材,告訴大家不要用瀑布式開發。接著 Royce在文章中提出了一種迭代式開發流程,與後來敏捷開發蠻相似的 (有興趣讀者可參考論文最後一頁)。

但不知為何,反而是他在瀑布式開發的描述,頗受大眾青睞。甚至後來美國國防部宣布要以瀑布式開發作為旗下專案的經典模式,這些都一步步鞏固了瀑布式開發的地位。

其實對於這些方法論 (不論是瀑布、敏捷或是…

--

--