2023年5月28日 星期日

《SCRUM:用一半的時間做兩倍的事》 讀書心得:告別瀑布,擁抱 Scrum 敏捷工作法

沒有留言:
 

本書深入淺出介紹提高生產力 200% 的 Scrum 工作法,作者 J. J. 薩瑟蘭是 Scrum 開創人,藉由 Scrum 實際應用場景的解說,幫助你改善你的工作,甚至是日常生活,打造效率高、彈性大的敏捷團隊:)




前言:軟體專案管理的痛點


過去十年間,大型系統的軟體開發工作就像是掉進了焦油坑裡。 -《人月神話》, 1975

2005 年,主流軟體開發方法大多採用瀑布法(Waterfall Model),需求、開發、測試,一個階段走完才進入下一階段,最後釋出終極版給客戶,這種方式緩慢且無法預知成果,做出不符合顧客需求的產品;把每一步都規劃成美觀但不實用的甘特圖(Gantt chart),讓人覺得開發在掌握中,而這樣的誘惑真的很難抵擋:所有必須完成的工作全部都一一攤在每個人面前提供檢視。但結果眾所周知,進度時程嚴重落後,甚至功能使用者根本不買單,工期延遲好幾個月,預算嚴重超支。

Jeff Sutherland 設計 Scrum 流程來解決這個問題,Scrum 源自於豐田生產系統(Toyota Production System)和空戰 OODA 循環。把小團隊當作運作的核心,強調團隊的自我組織和自我管理,運用迭代、靈活和協作的 Scrum 方法,團隊可以更快速有效的開發產品,並獲得更高的客戶滿意度。



作者簡介:傑夫·薩瑟蘭 Jeff Sutherland


Jeff Sutherland (June 20, 1941 -)

Jeff Sutherland 是著名的軟體開發專家,敏捷開發方法的創始人之一。他和 Ken Schwaber 共同創建了 Scrum 開發框架,並共同編撰了The Scrum Guide

Scrum 是一種敏捷開發框架,在軟體開發領域有廣泛的應用。其主要目的是提高團隊的生產力效率,幫助團隊更好地管理並完成複雜的項目。

Sutherland 曾在美國空軍擔任醫療兵,從那時起,他就開始學習和發展高效的工作流程。除了Scrum,他還積極參與國際軟體專業組織和標準化委員會,並出版了多本關於敏捷開發和 Scrum 的書籍,如《SCRUM:用一半的時間做兩倍的事》等。2001年,Sutherland 和其他學者專家總結發表了廣泛知名的敏捷宣言 Agile Manifesto

Sutherland 的貢獻受到了廣泛的認可和贊譽,並獲得了多個獎項和榮譽,如 IEEE 顯著貢獻獎、敏捷經濟學獎等。他還擔任多個國際會議的演講嘉賓和顧問,並為 Agile Alliance 的創辦人,為企業和組織提供顧問和培訓服務。



Scrum 簡介


〈The New New Product Development Game〉, 1986

1986年,兩位日本企管教授竹內弘高 (Hirotaka Takeuchi) 和野中郁次郎 (Ikujiro Nonaka) ,在《哈佛商業評論》文章〈新新產品開發遊戲〉(The New New Product Development Game)中,闡述了一種新的整體性的方法 ,該方法能夠提高商業新產品開發的速度和靈活性。作者受到這種新的管理手法的啟發,在 1995 年時,與 Ken Schwaber 在計算機協會 (Association for Computer Machinery) 發表一篇〈SCRUM Development Process〉,設計總結實際的作法。

關於 Scrum 工作法最權威的指南,是由 Ken Schwaber 和 Jeff Sutherland 所編寫的〈Scrum Guide〉,2020 當前最新版僅有 13 頁,運用最低限度的框架來指導 Scrum 的實施,是使用 Scrum 工作法必讀的材料。簡言之,Scrum 框架主要包括以下角色、活動和產出物:


角色:
  • Scrum Master: 負責 Scrum 框架被遵守
  • Product Owner: 負責確定產品需求
  • Development Team: 負責開發產品

活動:
  • Sprint Planning: Sprint 開始前計劃
  • Daily Stand-up meeting: 追蹤進度,討論應變方法
  • Sprint Review: sprint: 結束展示成果
  • Sprint Retrospective: 檢討工作流程

產出物:
  • Product Backlog: 包含產品的所有需求
  • Sprint Backlog: 要在當前Sprint中完成的工作
  • Board: 任務狀態的視覺化工具

另外,作者也有錄製一系列的課程放在 Youtube,〈OpenView: Scrum & Agile Development〉 ,詳細解釋了 Scrum 施作方法和一些實務上的注意事項,我覺得非常值得一看。

Scrum 活動:站會 (stand-up meeting)
 

[用心去感覺] Scrum 敏捷開發中,持續交付可展示的里程碑(Milestone)是最有效的部分

Scrum 的敏捷開發方法之所以有效,是因為它看的是「人們實際上如何做事、而不是他們自稱如何做事」。Scrum 注重團隊成員實際上的工作表現,而非僅僅是書面上的承諾。相較於傳統的管理團隊,強調控制和可預測性,會帶來無數的文件和圖表;在 Scrum 的流程中,我們需要考慮到不確定性和創造性,並通過短期迭代實際呈現結果和持續改善,逐步提高產品品質和使用者體驗。

「這時,傳統的專案管理方法,不但會妨礙你進行變更,也會妨礙你以更快的速度創造價值。」  一《SCRUM:用一半的時間做兩倍的事》p. 274
 

[用心去感覺] 敏捷軟體開發宣言

Scrum 背後的一些敏捷理念,可以參考敏捷軟體開發宣言(Agile Manifesto):

藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:

個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃

也就是說,雖然右側項目有其價值,
但我們更重視左側項目。



《SCRUM》 書摘


《SCRUM:用一半的時間做兩倍的事》書本內容
 
書中對專案管理的一些情境說明很讓人有共鳴,作者也提出一系列的作法建議,初讀和跑專案兩三年後再回來閱讀,會有不同的想法和感受,是很適合反覆閱讀的書籍。


Scrum 的節奏:

節奏是 Scrum 的核心,它對於人類而言極為重要。節奏深植於我們大腦最深處,我們的血液汩汩流動時也聽的到節奏聲 …… 但是,我們所找到的模式未必會有益 …… 你可以閱讀幾千年前別人的一些著作,看看他們是如何在一個自己無力反抗的體制中過活。然而,在 20 世紀的某個時間點,我們似乎也很熟悉這種受困的感覺,尤其是在企業環境中,我們都出現急性的「自我感喪失」症狀,而且似乎命中注定如此。…… Scrum 要做的就是創造出一種不同的模式 …… 希望透過為 Scrum 設計以每日、每週計的節奏,為大家創造出一個喜歡鏡子裡那個人的機會。 

 〈浪費是一種罪〉 p. 126

多工只會增加成本:

這正是多工的代價。我們都生活在一個同一時間必須做很多事的時代裡,別人也對我們有各種不同的要求:電話響了,是一通真的很重要的電話;孩子放學回家了;老闆走進辦公室了等等。但我希望各位做的事是,要意識到環境切換是會耗費成本的。這樣的成本確實存在,你應該努力把它降到最低。 

〈浪費是一種罪〉 p. 137

事情做一半等於沒完成:

Scrum 的概念有很大一部分取自於大野耐一所寫的《豐田生產方式:追求超脫規模的經營》一書中介紹的日式生產手法。美國把這套模式形容為「精實」生產。基本上,其想法在於盡可能去除工廠中存在的浪費 …… 精實生產的主張是,要盡量減少廠房裡的在製品。…… 

試想(或者如果你很不幸的話,請回想一下)自己的手邊有四件做到一半的任務:你已經油漆好浴室的一面牆;狗食還在後車廂;償還房貸的支票已經寫好,但是還沒寄出;樹葉已經堆好,但是還沒裝袋。這時,你儘管已經花費心力,卻沒有創造出任何價值。 …… 做到一半的事,基本上就等於沒做。 

〈浪費是一種罪〉 p. 138

用故事描述任務:

你曾經碰過幾次別人把工作交辦給你,但你卻不懂為何得做這件工作的狀況?…… 人們都是用情節、故事在思考,大家都是這樣來理解這個世界。我們比較能掌握人物、慾望及動機這些東西,當我們試圖把個別區段從主線結構中抽離、在原本的情境之外進行它們時就會發生問題。

 〈計畫要務實,不要空想〉 p. 190

讓一切攤在陽光下:

哪些事能讓人快樂?這就和讓團隊感到快樂的事是一樣的:自主、精熟及有目標。或者再擴大解釋一下,那是一種可以掌控自己命運的能力、是一種覺得自己某件事越做越好的感受,或是很清楚自己正為了某種超乎個人的目標而努力。但管理者還是有許多簡單、具體的作法,可以讓公司形成鼓勵這些特質的文化。 

〈快樂是過程、也是指標〉 p. 219

80-20 法則:

在產品開發中,有一個一再被證明的不變定律。我曾經在前面提及:有80%的價值來自於20%的功能。…… Scrum 的能耐就在於,能幫你找出如何先建置那20%的東西 …… 如果你能比競爭對手快五倍的時間交出成果,還提供高於對手五倍的價值,還有贏不了的道理嗎?

〈優先順序〉 p. 248

釋出產品,最小可行產品:

你何時要釋出產品呢? …… 你會希望釋出的東西至少能提供一點價值,我稱為「最小可行產品」(Mininum Viable Product)或 MVP。他應該會是你首度對外展現的東西 …… 他的完成度幾乎要用可笑來形容。…… 不過,它卻能為你帶來回饋意見。

〈優先順序〉 p. 268




結語


台灣基隆嶼

在台灣,截至 2023 年為止,Scrum 敏捷開發方法已成為眾多企業推展的系統開發方法的預設選項之一,然而,大家實地在跑專案的情境和方式不一樣,也需要克服與原有流程或產業特性之間的差異。

回歸到最根本的專案管理目的,無論是採用瀑布式、敏捷式的專案管理方式,或是運用各式專案管理工具,我們的目標都是要讓團隊能對準目標、規劃整體流程架構、成功達陣並持續改善;我覺得多元的團隊溝通、強大的執行力、面對問題的心理素質,不僅是敏捷與 Scrum 的成員必須具備的人格特質,更是一種過好人生的處事態度;透過持續的努力和改善,我們能夠不斷提升團隊的效率,實現目標,在這個迅速變化的商業環境中持續領先、實現敏捷人生:)

 

 

References

 

博客來 - SCRUM:用一半的時間做兩倍的事

Sutherland, Jeff; Schwaber, Ken. "The Scrum Guide". Scrum Guides. Retrieved 12 September 2020

Scrum: The Structure of Scrum

wiki - Scrum




沒有留言:

張貼留言

技術提供:Blogger.