從結對程式設計到結對工作

agile_boy發表於2009-03-24

熟悉極限程式設計的人都知道,在極限程式設計的十二項實踐中,有一個非常重要的實踐就是結對程式設計,也就是兩個人坐在同一臺電腦前面,使用相同的鍵盤和滑鼠來開發同樣的一個模組,一個負責程式碼的鍵入,另外一個人負責盯緊可能出現的錯誤,包括低階錯誤和方向性的錯誤。而且,當一個問題對其中一個人難以解決而恰好是另外一個人的強項的時候,那麼角色就會發生轉換。

  但是,由於某些原因,我一直無法實踐結對程式設計,儘管在平時有意的在自己的工作中實現極限程式設計中的一些實踐,但是一個人對於結對程式設計這項實踐是無法進行了。(除非我會分身術,要麼只能是精神分裂了)。

  然而,偶然的一個機會,我體會到了結對工作的好處。那天是一個同事接到了一個任務,要設計一下公司內部的網路,並且要畫出網路拓撲圖。他對於網路的配置和安裝是非常熟悉的,所以很快就開始畫表格,畫圖,開始了工作。而我當時恰好沒什麼事情可做,所以就搬了一把椅子,坐在他的旁邊。

  就在我不自覺之間,我們實踐了結對工作。我們先是對網路的部署有一個簡單的討論,確定了所有的計算機應該處於的網段,由於採用了子網掩碼255.255.255.192,這是一個我們從前沒有用過的,所以在他畫表格的時候,我幫他計算了一下我們的IP地址至少要在多少以後,算出來的結果是最後一個數字要大於192。

  接下來我們商量著確定了公司的計算機包括伺服器的數目,這樣,他就可以確定表格的行數。並很快填寫了序號好計算機的使用者。而且填寫了必要的一些資訊。IP分配的問題就很快完成了。由於我們不停的在交流,避免了很多拼寫的錯誤,也沒有遺漏任何一臺計算機,一切都進展的非常順利。

  然後需要畫一副圖來表示網路中的裝置的分佈,開始的時候他打算使用excel中的繪圖工具來完成,但是眾所周知,Office本身帶的繪圖功能在畫一些專業的圖的時候是不夠的,所以我推薦他使用插入物件的方式來加入Visio的影像。

  他考慮了一下,同意了我的看法,於是我們切換到Visio下面,開始繪製網路拓撲圖。

  但是我們很快發現,在Visio中畫好的圖有一個問題,文字由於採用的圓滑邊角的操作而顯得不是很清楚,於是他決定採用畫好圖之後在Excel裡面來手動新增文字。

  圖很快畫好了,他開始新增矩形框,並將其背景色和邊框線都設為無色,然後在其中新增必要的說明文字。

  時間已經過了差不多一個小時了,他有些累,工作的效率也有些降低,我提議剩下的一點兒工作由我來替他完成,他同意了,兩分鐘之後,所有的工作完成了。

  接下來我們又一起檢查了一下,沒有什麼遺漏和錯誤的地方。於是我們的工作就完成了。

  由上面我們可以看出,其實結對這個方式不僅僅可以應用在程式設計的過程中的,在平時的一些工作中都可以採用。我想大家一定用過這種方式,想想從前在大學的宿舍裡面,打遊戲或者打牌的時候總是會在身邊有一個參謀,那樣不也是結對的方式嗎?哈哈。

  結對的確是一種非常有效的方式,如果利用得當,不僅能夠通過優勢互補提高我們的工作效率,而且還可以減少錯誤。最重要的一點,這種方式非常有利於大家的共同提高,這對於一個團隊來說不能不說是一種非常好的結果。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14639675/viewspace-578133/,如需轉載,請註明出處,否則將追究法律責任。

相關文章