iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
Agile

敏捷路上觀察紀錄-那些好用的與歪掉的部分系列 第 23

[DAY 23]暴民打群架?組隊打怪?-Mob programming

  • 分享至 

  • xImage
  •  

想了解更多有關Mob programming的知識?推薦你來看由本系列改寫出版的《Agile一本通!敏捷新手入門導引》
不用打群架也可以擁有 >> https://www.books.com.tw/products/0010968755


「Mob programming?這是什麼?」灰貓看著技術文章,發現了這個酷酷的東西。

由於英文程度不太好,他先是查了mob這個字,意思是「暴民」。

雖然有聽過隔壁部門同事帶斧頭來上班,不過團隊成員遇到瓶頸,也頂多小聲問候對方家人,大多數時間都是和善的紳士淑女,很難想像一群暴民怎麼靜下心來寫程式?

「同時間不限人數,使用同一台電腦同時作業?」灰貓越查越好奇,這麼多人同時開發,真的有效率嗎?內向的灰貓,想著如果有這麼多人看著自己寫程式,自己一定會緊張得腦袋空白。

群體程式設計(Mob programming)

群體程式設計是結對程式設計的延伸,結對程式設計限定兩人於同一電腦作業,群體程式設計則不限人數。整個團隊同時開發系統的同一部分,例如所有人同時開發UI、同時開發API,團隊成員每個人同時間都發揮他自己最擅長的部份。

角色與結對程式設計一樣,有司機(driver)與導航員(navigator),由司機操作電腦(把操作畫面投影到大銀幕或螢幕分享,讓大家都可以看的到開發畫面),當司機不知道怎麼做時,導航員可以立即給予指導,發現問題時也能立即討論。即使是新人也能藉由這個過程學習到各部分,其他成員也能加強自己的能力。

因為團隊成員能立即被找到,就能省去確認/詢問產生的等待時間;因為團隊成員同時參與開發,在功能完成前就能發現問題並有共識的解決。

群體程式設計的好處

  • 分享知識,無論資歷深淺都能有所收穫
  • 無須事後code review
  • 建立團隊信任與共識
  • 不會有溝通落差
  • 省去解決merge code時conflict的時間
  • 省去等待確認造成的時間浪費

今天的參考資料/延伸閱讀:

  1. Speed Up Your Scrum With Mob Programming
  2. Mob programming
  3. 愛上Mob Programming(下)

上一篇
[DAY 22]「中獎了」怎麼辦-以資訊共享因應團隊成員變動
下一篇
[DAY 24]你知道這是什麼嗎?-快速高效的電梯簡報
系列文
敏捷路上觀察紀錄-那些好用的與歪掉的部分30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言