iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0
自我挑戰組

那些敏捷開發裡的小事系列 第 19

Day 19 跟大廚學敏捷-準備工作

跟大廚學敏捷-準備工作

Imgur

你知道對大廚來說,他的眾多工作職責中哪一個最重要嗎?

也許你的第一個想法可能會是做菜好吃最重要,但在大廚眼中,做菜好吃只能排第二,他們認為最重要的其實是準備工作。

準備工作

為什麼是準備工作呢?

因為在餐廳的菜單中,其實隱含著大廚對顧客的承諾,就是你點什麼我就能做什麼。要履行這個承諾,大廚都會在前一天把東西準備好,否則客人點了菜,你發現缺了這個食材少了那各調味料,那客人的餐點就無法按時出菜。

如果是準備宴會的話,他們需要決定上菜的順序,每道菜大約要做多少的時間,什麼時間點要擺什麼盤子裝什麼菜,什麼時候要送菜。

菜單就是 Product Backlog

所以菜單其實就是 Product Backlog,每道菜就是 Item, 準備工作所做的就是釐清這些菜要有哪些食材,調味料,烹飪方法,怎麼擺盤,要做多久等等。

敏捷裡的準備工作

在敏捷裡面也有一個專門在做準備工作的會議 - Refinement meeting。 我們來看看 Scrum Guide 裡 Refinement 要做什麼

Product Backlog refinement is the act of adding detail, estimates, and order to items in the Product Backlog

這些是不是跟大廚所做的準備工作是一樣的。

不過還有一些實務上的細節必須要注意的。例如我們剛剛說的食材或調味料沒有準備好,就無法出菜了。我們在開發時也是一樣,如果有一些必需的東西沒有準備好,那我們的 Item 就沒有辦法完成了。

為了避免缺少這些必要的東西,所以在 Refinement 時,我們其實就知道需要哪些東西才能完成這個 Item,我們就可以先行準備,也就有所謂的 DoR (Definition of Ready) 這個概念的誕生。

務必完成的心態

大廚還有一個值得我們學習的部分,務必完成的心態,也就是做完。

一道菜只要開始加工,他們就會爭取在最短的時間內把它做完,送到客人的餐桌上。你應該沒有看過第一道菜做一半跑去做第二道菜,第二道菜還沒裝盤就跑去做第三道菜的,這樣前面兩道菜都沒辦法上,也就是都是半成品,這些是沒有價值的。

我們在軟體開發上也是要避免產生半成品。會有半成品很可能就是你的準備工作沒有做好,你必需等東等西的。


上一篇
Day 18 跑敏捷應該要加班把東西做完嗎?
下一篇
Day 20 你們用什麼工具來做估算呢?
系列文
那些敏捷開發裡的小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言