13

愛上Mob Programming(上)

 3 years ago
source link: https://teddy-chen-tw.blogspot.com/2021/01/mob-programming.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

愛上Mob Programming(上)

Jan. 21 01:08~14:24

ACtC-3et0A4GkPJh0Wi3ehwPTTMIojjm_2T5NdHTmOOSKxXrggtxEB0IMTOghkbl0Z9pLyoCAM2xXk4lBTBvJFv0pp3ZgjA7537ZmaAxc_0CZpGGiSfhcBwJnwDmJtrUQQjJ-hvRKbtj6qFZwwqeReDdKOeGag=w2086-h1558-no?authuser=0

▲ezKanban團隊mobbing實況

緣起

約略四年多前Teddy聽指導教授鄭老師提到實驗室開始全面採用mob programming(簡稱mobbing),這是Teddy第一次聽到這個名詞。

如果鄉民們把mob programming丟到Google翻譯,會得到暴民編程的中文解釋,因為mob的英文就是暴民的意思。最近很流行的新聞—美國擁護川普的群眾衝入國會大廈,英語新聞就用mob來指稱這群人。

當然mob programming絕對不會是找一群暴民來寫程式,根據維基百科的解釋:

(譯自英文) Mob編程是一種軟件開發方法,其中整個團隊在同一時間,同一空間和同一台計算機上處理同一件事。這類似於結對編程,在結對編程中,兩個人坐在同一台計算機上,並同時在同一代碼上進行協作。通過mob編程,可以將協作擴展到團隊中的每個人,同時仍然使用一台計算機來編寫代碼並將其輸入到代碼庫中。

也就是整個團隊一起用一台電腦同時開發軟體。

Teddy第一次聽到這種作法,腦中的第一個反應是出現黑人問號的畫面。Pair programming很合理,但整個團隊綁在一起用一台電腦開發,真的假的?!

初體驗

兩年多前Teddy幫忙帶幾個實驗室的研究生開發看板軟體—ezKanban,採用類似Scrum的方式開發,兩個禮拜Teddy和學生review一次進度,每次review會跟學生討論設計細節,包含design review與code review。雖然Teddy覺得自己已經把話講得很清楚,但常常在下次review的時候才發現學生的實作並沒有真的達到Teddy的要求,所以需要再解釋一次。長期以往雖然還是有迭代與增量,但整個ezKanban的開發進度總是不如Teddy的預期。

約略一年多前有一次機會,Teddy在實驗室跟團隊一起mobbing,那次的體驗並不好。首先,實驗室的空間並不大,Teddy這個人懶散慣了,不太習慣幾人擠在一個沒有方便伸展與走動的空間。其次,Teddy年紀大了,雖然實驗室mob環境有一台65吋大螢幕,但Teddy看著這個螢幕還是有點不太習慣。寫到這裡Teddy才突然想到,不一定是螢幕的問題,也有可能是實驗室椅子太難坐的關係。畢竟平常在家裡工作,Teddy坐的都是Herman Miller Aeron的高級人體工學椅XD。

總之Teddy的第一次mobbing經驗並沒有激起到自己繼續跟學生一起mobbing的想法。

ACtC-3cajcMq8vJAbpgAL39NsbvGIHdF6qToN4lrEOUDgKPUQX_oa5nsatL5wsPIfycLl9YNdBDzDKTzWJK_do1GBVoM2Bq5VClzd_u02BMLKkWRZ51UcxrCp4gYCHMVJQ8yDIjYzVg17BwB_PcOg4wR3rvvow=w1094-h1428-no?authuser=0

▲要價不菲的人體工學椅

疫情的正面影響

為了Clean Architecture與領域驅動設計(Domain-Driven Design;DDD)課程的教學需要,Teddy自己也開發一套看板系統—cleanKanban,但因為Teddy前端不熟,所以cleanKanban一直就只有後端。

去年七月初暑假的時候,Teddy覺得這樣下去也不是辦法,ezKanban團隊開發一套看板系統,Teddy自己也開發一套。ezKanban團隊的前端做得還可以,但後端還差很多。Teddy的cleanKanban剛好相反,後端好棒棒,但前端……醒醒吧,你根本沒前端啊!

因為新冠肺炎疫情的關係,人們開始廣泛接受以線上活動取代實體活動。Teddy也受到這個正面的影響,去年七月暑假剛開始,Teddy決定把cleanKanban合併到ezKanban裡面,並且跟ezKanban團隊一起mobbing。但Teddy採用skype遠端連線的方式,ezKanban團隊在實驗室mobbing,並分享桌面給Teddy。如此一來,Teddy不用出門,可以舒舒服服坐在家裡的電腦前面玩貓兼用嘴吧寫程式

有此工作環境,夫復何求!

ACtC-3d0pBXlAW4KoZDIR4ksgErmLo3ubXk739aPRv4hILAnyjSntJGqf0DcK7tWxR-MG0g6wX7ybwNfuQnp9iuuoCEpaVv1GXxbwcPFnk3Oh0HQCrDZhj46bTCIxLFBblAAUM_hh2PyYxVW4vNyskEeyBEx9A=w1578-h1588-no?authuser=0

▲Teddy在家裡遠端參與ezKanban團隊的mobbing實況

全新的體驗

換個合作模式之後,去年暑假ezKanban進度大爆發。Teddy覺很棒,於是暑假過後繼續跟學生約定每周mobbing的時間。

ACtC-3fS6cx30Xr7mNiIQN04jBhFBfOIVBiBqUPwJF-zk1mFHZVYpHQfcqMcGmyxn73vhE_FxYjoX8CsKT9H50_STol7xr-Gt9d440PBMYP_gh4ek0ul45D471ASH2Z1ZPNJf_qICEiuoDCkxxTdy2Fij7twkg=w1002-h1284-no?authuser=0

▲上學期ezKanban團隊mobbing時間表

從去年至今Teddy已經連續和ezKanban團隊mobbing了近七個月,每周平均約20小時,累積mobbing時數應該已超過500小時。

下一集Teddy從敏捷與精實開發的角度來細談為什麼mobbing是一種好的開發模式。

友藏內心獨白:看似浪費實則精實。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK