拿結(jié)對編程為例。對于采納敏捷方法論(尤其是極限編程)的團隊來說,結(jié)對編程是最有爭議的幾個問題之一,因為它需要兩個開發(fā)人員共同完成同一段代碼。雖然 一個開發(fā)者可能具有杰出的設(shè)計能力并精通開發(fā)平臺,但作為一個高效的XP開發(fā)者,他還必須能夠溝通思想,協(xié)作進行測試,提供可能的實現(xiàn)方案,并在某個實現(xiàn) 策略上達成共識。很多開發(fā)者不愿意進行結(jié)對編程,并不是因為他們不會編碼,而是因為他們不熟悉結(jié)對編程。有個開發(fā)者在他的blog中寫道:“結(jié)對編程會使 他們暴露他們真正的知識和技能水平”。獨立編程時,別人只會看到編碼結(jié)果。而結(jié)對編程時,不順利的開始和早期犯的錯誤都會被別人看到。這時肯定會有一種壓 迫感,甚至對高水平的開發(fā)者也是一樣,要花上一段時間才能習慣。值得牢記的是:當你了解了其它團隊成員,并且熟悉每個參與者的個性之后,結(jié)對編程就會變得 容易起來。
大多數(shù)成功的極限編程者對使用各種語言編程、學(xué)習新的設(shè)計方法都相當感興趣,特別是閱讀已存在的代碼。這些成功的開發(fā)者愿意通過嘗試做一些小的練習來“實 踐”編碼。他們可能會通過編寫一些小工具或參與開源項目進行實驗。在這里,著重強調(diào)“實踐”是非常重要的。好的敏捷開發(fā)者常常通做一些事情來掌握知識和技 術(shù),而不僅僅通過閱讀了解它。
“極限編程是共產(chǎn)主義……”這就是某個開發(fā)者對結(jié)對編程的牽強解釋。他提到,在XP中的編碼使大家分享了的各自的經(jīng)驗,他嘲笑“集體代碼所有制”,并對所 有開發(fā)人員可及接觸所有領(lǐng)域的工作以便能夠編寫任意部分的代碼這一事實嗤之以鼻。我與這個開發(fā)者聊過一段時間以后,才明白他的想法實際上是為了與他人競爭 以保住“飯碗”。他擔心同一團隊中以及不同團隊間的競爭問題。與別人一起工作意味著允許別人看到他是怎樣解決問題的,用了什么工具,這就使別人有機會學(xué)到 他的訣竅。他對結(jié)對編程的反感表明,在敏捷團隊中需要解決個人英雄式開發(fā)和“飯碗”問題。結(jié)對編程很自然地使開發(fā)者向同事敞開胸懷,分享領(lǐng)域知識,并時刻 準備把你的方法與大家分享。
一個極度自信的開發(fā)者也可能會拋開結(jié)對編程這一方式。有時面對生產(chǎn)速率下降而一個成員獨立工作可以使其提高的情況下會發(fā)生這樣的事。另外,當一對開發(fā)者中 的某個人能力不濟,而另一個人就會把“結(jié)對”變成“個人秀”。 還有一些時候,其中的一個開發(fā)者可能急不可耐地想完成任務(wù),因為一些個人原因驅(qū)使他盡快完成用戶故事,可能最顯而易見的原因就是“野心”:試圖通過展示技 術(shù)能力成為團隊領(lǐng)導(dǎo)者,或得到其它晉升機會。這樣的態(tài)度很容易使結(jié)對褪變成一個“得分比賽”,比賽的目標就是看誰能贏,而不是設(shè)法完成有意義的工作。
過少的發(fā)言權(quán)也可能是成為一個問題。一個開發(fā)者很少主動關(guān)心他的結(jié)對任務(wù)的話,很可能他就會被他的伙伴所領(lǐng)導(dǎo)。在這種情況下,這個開發(fā)者實際上是放棄了很多在設(shè)計和代碼質(zhì)量上的責任。
此文章共有5頁 上一頁 1 2 3 4 5 下一頁
文章來源:中國項目管理資源網(wǎng)
|