iT邦幫忙

2023 iThome 鐵人賽

DAY 14
2
Software Development

敏捷聖徒系列 第 14

Day 14:「然後就沒有然後了」- 談不敏捷的敏捷

  • 分享至 

  • xImage
  •  

故事是這樣的

筆者的朋友 Karl 在一間接案公司上班,有一天在聊天時,他跟我說:「其實我們也有跑敏捷,只是我覺得沒什麼用。」這引起我的好奇心了:「你所謂的敏捷,具體是指什麼內容?」我問。

Karl 表示,有一天他們總經理把大家招集起來,說他從他生意伙伴那兒聽來了「敏捷開發」這個好東西,然後隔天開始,我們每個部門(他們也是 Component 分組)會在九點整站起來,依序向主管報告,分別回答「昨天做什麼」、「今天做什麼」,以及「我有什麼問題」。

「聽起來是個不錯的開始,然後呢?」我問。

「沒有啦!這還不夠敏捷嗎?」Karl 接著回答:「你看,我們已經這樣站了三個月了也沒做得比較快,你說說看,敏捷是不是沒什麼用!」

另一個故事

從每天 5 ~ 10 分鐘的站會開始,對一個組織來說,是向敏捷開發轉型漫漫長路,不錯的第一步。

但,也就是一步。

筆者小時候很喜歡看哆啦 A 夢,那時還叫小叮噹。有一集故事我印象還很深刻:

有一個週末大雄難得的早起了,但不確定要現在就下樓吃早餐,還是要再賴床一下,於是就問哆啦 A 夢,哆啦 A 夢就給他一個「可切換式時光望遠鏡」。當你有兩難的決擇時,切換一下決定,就可以從望遠鏡看到不同的決定帶來的後果。大雄於是馬上看了看起不起床有什麼差,發現不起床會被媽媽罵,馬上起床下樓會得到稱讚,而且爸爸還會提議晚上大家一起去看電影,感覺不錯。

這時,哆啦 A 夢就問大雄那怎麼還不趕快下樓,但大雄此時還想再繼續看看接下來會發生什麼事。

於是,大雄在望遠鏡裡看到了白天的事情:胖虎來約打棒球與靜香約去她家玩的選擇,本想著當然要去靜香家,但不放心又用望遠鏡確定了一下,發現去靜香家玩會不小心打破昂貴的花瓶,害靜香大哭,但去跟胖虎他們打棒球,卻出乎意料地打得不錯,幫助球隊贏球。就這樣,靠著望遠鏡,大雄一整天都能做出更好的決定,全家開開心心看了電影、吃了大餐,過了開心又滿足的一天。

「既然如此就馬上下樓吃早餐吧!」大雄滿懷期待地下樓,卻發現早已人去樓空,原來在大雄忙著看望遠鏡的時候,早就已經過了中午,別說早餐了,連中飯人家也吃完了,就更別說電影與大餐了。

早起很不錯,但早起後只是坐著看望遠鏡,是沒有大餐吃的。流程改善也是。

不敏捷的敏捷

敏捷開發希望我們做到兩件事:第一,找到一個你現在最想解決的問題,審慎評估各種解法後,執行;第二,執行後觀察,觀察執行後問題解決了沒,有沒有新問題,或是原本不太痛的問題現在有沒有相較之下變得比較痛了。如果有,回到第一步,找到一個你現在最想解決的問題,審慎評估各種解法後,執行…週而復始,百戰不殆。

你一直加班,發現修 bug 花太多時間,所以開始寫自動化測試。後來,發現架構太死,所以開始絞殺式重構。後來,發現人員異動會讓知識中斷,所以開始 pair programming。後來,發現討論時很常因領域認知不同而多做事或做錯事,所以開始 DDD…。這些流程或工具,你可以一口氣在公司「導入」,以求一勞水逸,但相信我,沒人會理你,為什麼?太累!

「夏蟲不可以語冰。」

我們都知道,一個沒有病識感的病人是最難醫的。他就不痛,你硬是塞一大堆藥給他,吃起來真的很痛苦,甚至超過生病的痛,他當然不想吃。

好吧你就一項一項來吧,評估看他目前最嚴重的是胃潰瘍,於是你就開胃藥給他,跟他說先治好胃潰瘍,後續再來處理下一個。結果會怎麼樣?他拿了胃藥就不見了,胃潰瘍好了,但皮膚病又犯了,於是他上網到處罵你,笨醫生,我明明是皮膚病,沒事開胃藥給我,害我現在「吃這個也癢,吃那個也癢」,庸醫。

你看,醫生是不是很難為?

筆者的朋友 Karl 的公司,就是一樣的情形。大家每天站一站,就敏捷了嗎?每日站會的目的是什麼?如果只是拿來同步進度,請問是要同步給誰聽?主管嗎?主管為什要管你昨天幹什麼今天幹什麼?主管不就只要管你什麼時候做完就好了嗎?手下這麼多人,每個人每天在 10 分鐘內跟他回報昨天幹什麼今天幹什麼,他就算想記也記不住吧!那你這 10 份鐘到底站起來做啥?罰站嗎?

其次,如前所述,站會也只是一個第一步,站會完了,有沒有找到問題?有沒有大家幫忙想辦法解決?是不是想幫忙卻分身乏術?要不要開始 pair?要不要開始限 WIP 上限?要不要開始把 QA 加入團隊?要不要讓大家都能從客戶身上問到想問的問題?

上述這些,你說它是敏捷開發的一環也行,說不是也無妨,重點是你有沒有一直重複「觀察、提案、行動、再觀察」的迴圈,一步一步慢慢改善你的工作流程?

你沒有,因為你只想到你自己。

https://ithelp.ithome.com.tw/upload/images/20230924/20107429sX8TUxOQW8.png
你只想到你自己,圖片取自泛科學。

因為你只想到你自己,所以:

你只想不加班,不想好好與客戶互動,探索更高品質的需求。
你只想要 RD 為估算背書,不想好好為 Product Backlog 排序與拆分。
你只想要拿敏捷開發的「小團隊」想法來對付政敵,轟人下台,不想管人少了之後如何把人力用在最有用的地方。

以下開放接力…

敏捷開發不是一個「導入」後一勞永逸的方法論。不要隨隨便便早上起來站個兩下就以為自己很敏捷,從此再做不好工作都是敏捷害的。

別這樣,饒過敏捷吧!

謎之聲:「勸你壞事還是中午做比較好,因為你早晚會有報應!」


上一篇
Day 13:「來來來攏來」- 續聊敏捷開發的團隊組成
下一篇
Day 15:「啊不是自動化測試嗎?」-- 聊自動化測試的誤區
系列文
敏捷聖徒30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言