Waterfall 陰魂不散

更新於 2024/04/27閱讀時間約 6 分鐘
此為過去的舊文,2015 年 8 月 25 日初次發表於 logdown。
圖片來源:www.freepik.com

圖片來源:www.freepik.com

2015 年隨著團隊組織方式的改變,個人在團隊中的角色也有了改變,改變至今大概有三個多月,從不同的角度在看事情時,也能得到許多有趣的想法,加上幾次參加C.C. Agile也都能得到意外的驚喜,讓自己反省:自己真的Agile了嗎?真的了解scrum?

敏捷宣言 (Manifesto for Agile Software Development)可能很多人都能朗朗上口(事實上,若隨堂考我,書上或網路上能查到的東西,我通常背不出來,除非我是一個指導別人怎麼跑敏捷開發的顧問,不然背的滾瓜爛熟有什麼意義?),但其中一句:Responding to change over following a plan,就這樣的一句,都不見得是容易做到的,有時內心其實是在抗拒的,因為人本質(well,我不是心理學家,我可能無法證明這件事)上是有點害怕改變,因此做任何事前,都會有計畫並希望所有的事情都照計畫走。

過去的軟體開發便是想管控變化,很多團隊都使用瀑布模型、使用CMMI...,有趣的是,Royce在論文中提瀑布模型的目的,是要拿它當例子來說明軟體開發不能這樣做!有了完整的分析、設計和計畫,然後盡可能避免變化,但大家都知道這不可行,於是有人提倡了敏捷開發,但即便用了某某敏捷開發方法,擁抱改變依舊不是件簡單的事,因為內心還是有waterfall依舊陰魂不散地在很多小地方出現。在敏捷團隊中,還是有可能聽到這些對話:

  「因為沒有細部設計,到時候可能會重工...」
  「因為沒有細部設計,我無法決定...」
  「某某某又改了什麼設計,重工浪費很多時間...」

回頭想想,敏捷精神到底是什麼?我覺得最核心的部分是快速取得回饋並盡快做調整(或稱trial-and-error process),如果在這個核心上來看scrum的幾個活動、產出或實踐,也許就能知道自己是否做得好或不好?

Planning meeting - 重點不在於設計是否一定要細到如規格書一樣才能估時數,細節足於開工就夠了,重點在於團隊的理解是否偏離使用者的需求,一些細節在實作的過程中都還能跟PO確認與調整

Daily scrum - 重點不在於昨天做了什麼?今天要做什麼?還需要多少時間?重點在於我遇到什麼困難,是否需要援助,在會後,scrum master或團隊是否能幫助有困難的人解決問題

Burn down chart - 重點不在於進度是在線上或線下,重點是在線上時團隊能做出怎樣的調整?在線下時,是否有細節被隱藏,當提前完成時,是否還能再加入新的story

Review meeting - 前陣子曾在C.C. Agile聽到一個團隊,因為平時story一完成馬上就跟PO驗證,因此除非真的要展示給stakeholder看,或是要跟團隊討論product backlog的優先順序,不然是不舉行review meeting,若核心精神是快速取得回饋並盡快做調整,那當一個story完成馬上與PO確認,有問題在還有時間的情況下,可以調整不是更好嗎?所以重點還是在於如何快速驗證story是否完成

Retrospective meeting - 重點在於團隊是多認真看待持續改善這件事,願不願意說真話,能不能提出有意義的建言。更重要的是團隊能獲得多少自主調整的空間,在獲得這空間後,團隊是否努力改善自我

Continuous integration and regression testing - 這幾乎是最能反映核心精神的實踐,由於就是有持續整合與回歸測試,因此能快速取得回饋(建置失敗或無法通過測試),才能快速調整(修正)。

在原始的scrum中並沒有明確提到user story refinemenet meeting,但在後來很多scrum教材或實施上,都會有這個會議來釐清stakeholder的需求,團隊過去也在這個會議的進行方式上做過多次調整,在團隊分組後,到目前也調整了兩次進行方式,但運作起來總覺得哪裡卡卡的,最誇張的一次是分組後的第一次refinement meeting:全員加班到隔天凌晨,那一次對團隊士氣的殺傷力其實很大,個人認為PO與團隊之間出現了些小裂痕。

因為團隊成員或多或少對於設計有高度的興趣,因此後面的幾次調整還是讓團隊能參與what的設計,個人提出了一些建議,至今我仍然還在想:以我的角色,我當時應該出手建議嗎?後來這建議和其他團隊成員與PO的意見變成了一個新流程。即使是分組後新的流程,回頭看看過去執行的情況,腦海中浮現過去scrum master說過的一句話:我們該不會是mini waterfall吧

當refinement meeting的重點不在於釐清問題與背後的情境,不在溝通和確認需求,不在找出what,馬上投入到how的細節設計,這設計真的滿足stakeholder需求嗎?當設計細節已經細到UI上的某個元件如何呈現、要有哪些多國語系的key時,這和過去waterfall的差別又是什麼?當為了避免開始施工時發現問題,回頭大幅修改設計(這個自己可能也要反省,因為自己也曾抱怨類似的問題),因此希望能夠在refinement時確認所有細節時,這樣真的算是擁抱改變嗎?

過去我很喜歡《搶救貧窮大作戰》這個節目,節目尋找經營不善的店家,協助老闆到其他的店進行非常嚴苛的訓練,在獲得技能後改善原有的經營方式,這節目後來有回去追蹤過去參加受訓的店家,有的能延續好的成績,有的則變回跟受訓前沒兩樣,現在想想,這會不會是在守、破、離的成長過程中,其實並沒有在守的過程中,真正理解那些規則、教條背後的意義,並自以為是地進到破與離的階段?或是只在守這個階段原地踏步?

回到敏捷開發或是scrum的方法中,這些活動或教條,依樣畫葫蘆,反覆練習,直到熟練,但真的了解背後意涵嗎?當要根據團隊的情況對現行方法進行調整,進一步到破的階段時,是否沒有偏離原先的價值?是否能擺脫waterfall的心魔?這或許是轉換角色後,我思考最多的問題。當然,如果一開始抓住的核心觀念是錯的,那自然會練成九陰白骨爪或是逆練九陰真經。

avatar-img
53會員
104內容數
這是從 Medium 開始的一個專題,主要是想用輕鬆閒談的方式,分享這幾年軟體開發的心得,原本比較侷限於軟體架構,但這幾年的文章不僅限於架構,也聊不少流程相關的心得,所以趁換平台,順勢換成閒談軟體設計。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Spirit的沙龍 的其他內容
這名字是刻意取Stop starting, start finishing的相反,有一陣子在觀察團隊時發現,story/task 的 burn-down線圖會發現到task幾乎都完成了,但story卻還懸在半空中,甚至在sprint結束前一天,還是有不少stories接近完工卻還沒完工。
Acceptance criteria 確保 do the right things,DoD 則是確保 do the things right,兩者合在一起,才會 do the right things right。
一般來說,會斤斤計較估算的數字,一個可能的潛在原因是來自管理層,忘記從哪看來的一句話:總是會得到想要的 KPI。意思是當制定一個指標,總是能得到期望的數字卻不一定能達到預期的效果。
過去擔任 Scrum Master 時,曾觀察團隊用 planning pork 估時超過三或四輪仍無法取得共識,但點數或時數有時只差一點點 (2 or 3),或是差距很大 (3 or 8),若仔細聽他們的討論會發現,之所以會沒有共識,是因為成員都帶入一個心態:如果我做這個 task 要多久?
如果工作的預估和實際的執行是一致的,就不會有《人月神話》中那一句話:用人月的前提必須是人力與工時可以互換的情況下。我並不是說反正執行結果都不會跟預估的一樣,所以團隊成員在 planning meeting 裡可以亂估,而是要回頭想一下,Scrum 裡 planning meeting 的本質是什麼?
之前讀《Refactoring: Improving the Design of Existing Code》,書中提到了若干個smells,用來聞出程式設計不太理想的地方,那在用Agile或Scrum方法時,是否也能聞出哪裡有些問題呢?可以的,我把過去參與過的經驗整理成幾個 smells。
這名字是刻意取Stop starting, start finishing的相反,有一陣子在觀察團隊時發現,story/task 的 burn-down線圖會發現到task幾乎都完成了,但story卻還懸在半空中,甚至在sprint結束前一天,還是有不少stories接近完工卻還沒完工。
Acceptance criteria 確保 do the right things,DoD 則是確保 do the things right,兩者合在一起,才會 do the right things right。
一般來說,會斤斤計較估算的數字,一個可能的潛在原因是來自管理層,忘記從哪看來的一句話:總是會得到想要的 KPI。意思是當制定一個指標,總是能得到期望的數字卻不一定能達到預期的效果。
過去擔任 Scrum Master 時,曾觀察團隊用 planning pork 估時超過三或四輪仍無法取得共識,但點數或時數有時只差一點點 (2 or 3),或是差距很大 (3 or 8),若仔細聽他們的討論會發現,之所以會沒有共識,是因為成員都帶入一個心態:如果我做這個 task 要多久?
如果工作的預估和實際的執行是一致的,就不會有《人月神話》中那一句話:用人月的前提必須是人力與工時可以互換的情況下。我並不是說反正執行結果都不會跟預估的一樣,所以團隊成員在 planning meeting 裡可以亂估,而是要回頭想一下,Scrum 裡 planning meeting 的本質是什麼?
之前讀《Refactoring: Improving the Design of Existing Code》,書中提到了若干個smells,用來聞出程式設計不太理想的地方,那在用Agile或Scrum方法時,是否也能聞出哪裡有些問題呢?可以的,我把過去參與過的經驗整理成幾個 smells。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
#十分風景區#ShifenScenicArea#十分瀑布#ShifenWaterfall#十分老街#ShihfenOldStreet#十分車站#Shifenrailwaystation#十分駅#柴犬#koro #コロ#散步#walk#晃晃#ぶらぶら 柴犬 KORO FB https://www.f
會採取每天固定寫出定量字數,但是不固定發文的狀況,因此請務必『追蹤』本書,方便後續追文!
Thumbnail
前一段感情的陰影,會影響著現在的感情或婚姻,而且,一直陰魂不散。
Thumbnail
平平無奇的2021/11/11,這天是各大電商大打折扣的日子。 然而這天因為第一次被爆倉 (在幣安做多LRC合約,過幾天再來寫QQ) 整天內心沉浸在以下情境中。
Thumbnail
身在幣圈,總是充滿了各種傳奇。 例如最近這陣子最神的SHIB幣,從3400U翻到15億U 神人花3400鎂買SHIB「已賺15億美元」;柴犬幣暴漲3大原因為何?
Thumbnail
索馬利象鼩(Somali Sengi/ Somali Elephant-shrew)曾在1970年被認定為已消失的物種,也被全球野生動物保育協會(Global Wildlife Conservation) 列為消失物種中最被通緝的前25種名單中(25 most wanted lost species
Thumbnail
伊拉旺國家公園(Erawan National Park)位於北碧府境內桂亞河(Khwae Yai)上游,距離北碧府市區約70公里,是一處環境清幽的避暑勝地,來到這裡大多是為了探訪號稱泰國最美的瀑布--Erawan waterfall(譯名:伊拉旺瀑布、愛侶灣瀑布)。
Thumbnail
每次我心醉神迷的說 “文法好性感”。學生就翻白眼,翻到馬里亞納海溝。可是是真的啊!你看一個some 講了三週還講不完。優雅又有內涵,學識淵博,字型優美, 能說不性感嗎~ 填填看,即將公佈答案!
Thumbnail
  2016年第一次上電影院看電影,《神鬼獵人》The Revenant 馬上就獵到我的心,不只震撼還感動。肯定是得獎名單的坐上賓,甚者獎盃排排站。
Thumbnail
  《神鬼獵人》The Revenant 這個中文片名取得好,為什麼呢?上一篇提到三個理由,現在再稍微解釋。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
#十分風景區#ShifenScenicArea#十分瀑布#ShifenWaterfall#十分老街#ShihfenOldStreet#十分車站#Shifenrailwaystation#十分駅#柴犬#koro #コロ#散步#walk#晃晃#ぶらぶら 柴犬 KORO FB https://www.f
會採取每天固定寫出定量字數,但是不固定發文的狀況,因此請務必『追蹤』本書,方便後續追文!
Thumbnail
前一段感情的陰影,會影響著現在的感情或婚姻,而且,一直陰魂不散。
Thumbnail
平平無奇的2021/11/11,這天是各大電商大打折扣的日子。 然而這天因為第一次被爆倉 (在幣安做多LRC合約,過幾天再來寫QQ) 整天內心沉浸在以下情境中。
Thumbnail
身在幣圈,總是充滿了各種傳奇。 例如最近這陣子最神的SHIB幣,從3400U翻到15億U 神人花3400鎂買SHIB「已賺15億美元」;柴犬幣暴漲3大原因為何?
Thumbnail
索馬利象鼩(Somali Sengi/ Somali Elephant-shrew)曾在1970年被認定為已消失的物種,也被全球野生動物保育協會(Global Wildlife Conservation) 列為消失物種中最被通緝的前25種名單中(25 most wanted lost species
Thumbnail
伊拉旺國家公園(Erawan National Park)位於北碧府境內桂亞河(Khwae Yai)上游,距離北碧府市區約70公里,是一處環境清幽的避暑勝地,來到這裡大多是為了探訪號稱泰國最美的瀑布--Erawan waterfall(譯名:伊拉旺瀑布、愛侶灣瀑布)。
Thumbnail
每次我心醉神迷的說 “文法好性感”。學生就翻白眼,翻到馬里亞納海溝。可是是真的啊!你看一個some 講了三週還講不完。優雅又有內涵,學識淵博,字型優美, 能說不性感嗎~ 填填看,即將公佈答案!
Thumbnail
  2016年第一次上電影院看電影,《神鬼獵人》The Revenant 馬上就獵到我的心,不只震撼還感動。肯定是得獎名單的坐上賓,甚者獎盃排排站。
Thumbnail
  《神鬼獵人》The Revenant 這個中文片名取得好,為什麼呢?上一篇提到三個理由,現在再稍微解釋。