Pair programming 是由XP發明人Kent Beck提出來的概念

簡單來說,就是兩個人共用一台電腦,一起開發軟體

一個人做為Driver 就是操作電腦的人,

另一個人則為Navigator也就是出一張嘴告訴driver要做什麼

由於我們指導教授非常推崇"一起寫程式",

因此我們實驗室除了採用Pair programming以外,還採用了Mob programming

所謂的Mob programming就是一群人用一台電腦,一起開發軟體

mob.png

▲這就是我們Mob programming的實況,我們實驗室現在買了好多台大螢幕

採用Mob programming就更為方便了

 

在我們實驗室中,除了我參與的ezScrum專案採用Pair programming以外,

其他專案都是採用Mob programming

 

某天早上我們在吃早餐時,我把我的partner叫過來說我們邊吃早餐邊聊個天

我說很多人對於Pair programming都有所質疑,

大家都覺得採用Pair programming會降低開發速度

人力都不夠了,還兩個人一起寫程式

我們的指導教授非常推廣Pair programming以及Mob programming

那麼如果有人對於Pair programming有所質疑時,又或是你今天要說服老闆採用Pair programming時

我們要如何根據我們採用Pair programming一年時間的經驗去告訴別人Pair programming的好處

 

我們統結了一下如下:

1. 可以互相監督 :

這當然是往不好的面向去想,因為兩個人一起寫程式,就能彼此監督,如此就不敢再開發時間去看臉書、追韓劇...

除非...兩個人一起看XD

 

2. 可以互相學習,技術交流,開發出來的軟體品質通常比較好 :

以經驗談,當成員不知道要做啥,或是不會做的時候就可以和另外一位成員一起討論想辦法解決,

就可以避免掉不知道做啥時再裝忙、瞎忙,或是不知道怎麼做的時候花大量時間查詢資料,

而他在查的東西說不定剛好就是別人已經會的東西。因此可以避免許多時間的浪費。

況且如果大家各做各的,很有可能寫出來的程式碼彼此衝突或是不相容,

在整合上就需花更多時間,也有可能花大量時間在Debug。

 

3. 當有新成員加入團隊,透過Pair programming能讓新成員快速上手

 

因此,大家對於Pair programming會不會拖累的疑慮

以宏觀來看,當然是不會啊!!

後來我跟我的partner說,最後可以再丟一句話給老闆:

如果你是一個短視近利的主管或是老闆,那你就繼續不要採用pair programming 吧!

當然...站在主管或老闆面前我們肯定不敢說的XD

所以只能在這邊打打嘴砲 哈哈XD

 

不過後來我自己又再想想...會不會不是老闆或主管不願意採用pair programming阿!?

說不定是工程師本身不願意採用,因為其實採用pair programming精神壓力相對比自己開發來得大啊

(畢竟不能偷懶....)

不過在這邊可以建議可以開發一段時間就休息一下

或是可以小聊一下,緩和氣氛(我常這樣 哈哈!)

有一本書《大腦喜歡這樣學》,裡面談到人的大腦分成專注模式以及發散模式

發散模式是離開專注模式,當你專注一段時間後可以休息一下,再回來工作

我不知道大家有沒有和我一樣的經驗

就是當寫程式遇到瓶頸時去吃個飯、喝個咖啡或是運動一下再回來寫程式

莫名其妙就把剛剛的難題給解掉了,後來讀了《大腦喜歡這樣學》這本書後才知道原來這就是所謂的"發散模式"

大家有興趣可以去把那本書拿來讀一讀,很有意思的一本書

我後來把這本書的概念分享給我的partner知道後

我常常就會跟他說,我們來進行一下發散模式吧!

arrow
arrow

    Mark Zhang 發表在 痞客邦 留言(0) 人氣()