精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

結對編程踩坑指南

開發
本文作為“沉思錄”的第一篇,將列舉實際交付項目中,在結對編程時遇到的幾個實際問題,并針對具體問題給出一些嘗試過的解決方式。

背景

最近,我開始重新審視這些融入日常的工程實踐方式,去嘗試找出實際與理論的差距,分析差距成因,基于分析結果,嘗試找出可以逐步彌補差距的實踐方式,從而讓日常軟件交付工作變得更加“順滑”。

本文作為“沉思錄”的第一篇,將列舉實際交付項目中,在結對編程時遇到的幾個實際問題,并針對具體問題給出一些嘗試過的解決方式。

注意:以下話題不在本文的討論范圍中,并且默認讀者已經具備下列問題相關的知識:

  • 為什么進行結對編程?(如果想了解,可以參見維基百科(https://en.wikipedia.org/wiki/Pair_programming) 或其他相關郵件)
  • 怎樣開始結對編程?(如果想了解,可以參見《7個你需要知道的結對禮儀》(https://insights.thoughtworks.cn/seven-skills-about-pair-programming/))

工作環境上下文

  • 9 人團隊(1 BA, 1 QA, 1 TL, 6 Devs)
  • 特殊角色(BA,QA, TL)基本都是 Solo 工作,Dev Pair 工作
  • 每對 Pair 同一時間只會工作在一個 User Story 上,直到該 User Story 進入測試階段
  • 團隊在 Sprint 開始時進行 Switch Pair 活動,User Story 未完成的 Pair,會有一人留在未完成的 Story 上,以便完成保證卡片上下文充足
  • Switch Pair 會按照 Pair 輪換表(如下)進行,以確保所有開發都會有均等的 Pair 機會

Dev輪換表大概是這個樣子(每個周期內團隊采用同一編號的配對組合):

基于以上的上下文,我們遇到了以下實際問題:

問題 1:Switch Pair時,需要交接的內容過多

Switch Pair 時,需要交接的內容過多時,可能會漏掉一些細節信息。為了補充遺漏,會陷入更多、更深的討論。

具體場景

張三和薛霸經過了一周的結對編程,手頭的一張復雜 User Story (無法進一步拆分)沒有完成,薛霸被留在了當前工作上,準備和阿樂開始工作。

可是,在薛霸向阿樂介紹當前的工作進度時,無法清楚地給阿樂說明之前所寫代碼與 User Stroy 的對應關系和一些必要的上下文。

于是這對 Pair 不得不將張三重新拉回來,進行上下文交接,三人討論時間較長,并且會將之前已經討論過的問題重新討論,降低了工作效率。

分析原因

后來,張三,薛霸,阿樂對這次效率不盡人意的 Switch Pair 進行了回顧,嘗試利用問答的形式進行分析:

對于阿樂的問題,薛霸無法清楚地解答,但在拉回張三后,增加了一些額外的討論時間,就可以解答了。

問: 結對的兩人在當前工作中,理論上應該能夠具備相當信息積累。那么,為什么當前薛霸和張三出現了信息積累差異的情況? 

答:卡片從 Kick-Off 到當前交接 Switch Pair 的時間跨度較長(7天,含周末),包含內容較多,需要一些討論重新回想起當時的信息。 

另外,薛霸無法解答的問題,基本都是張三在薛霸請假期間完成的。

結對編程理應是有任務拆分(Tasking)作為前提的,以確保 Pair 兩人對于當前的工作進度一致,以盡量減輕請假所帶來的信息不對稱問題。

問:為什么當前的效果并不理想?

答:最初拆分的任務粒度較大,但實際上,在一個大粒度的任務中,會包含一些較小粒度的任務,并且這些任務的完成結果,還會影響后續的任務內容。在工作時,完成了這些較小粒度的任務后,沒有將關鍵工作內容更新到兩人共享的任務列表中,于是造成了信息不對稱情況。

可嘗試的實踐

于是,大家總結出了如下可以實行的行動:

  • 初始任務拆分盡量將可能會產生任務分支的關鍵任務(或問題)標出。
  • 在完成任務的過程中,保持最初任務列表的更新,特別是上述的關鍵任務,按需記錄任務的產出或關鍵信息。
  • Switch Pair 圍繞任務列表進行,以避免出現內容遺漏或花費額外時間討論上下文外的問題。

問題 2:Pair時,其中一人變Solo

  • 采用Navigator-Driver Pair 模式時,掌握鍵盤和鼠標的一人(Driver),有時會成兼任 Navigator 角色。
  • Pair 過程中,一人會處于高度集中狀態,另外一人可能會因為沒跟上,而從 Pair 中脫出,產生信息斷層。
  • Pair 過程中,如果不作 Driver 的角色,可能無法完全掌握當前 User Story 的全貌。

其實上述的問題是有一定的內在邏輯聯系的,可以通過下面的具體場景來進行復現。

具體場景

肖蘭和阿發在結對編程過程中,肖蘭使用自己的筆記本電腦外接顯示器,并通過筆記本的鍵盤和觸控板完成操作,阿發則可以通過外接的顯示器看到肖蘭的操作。

起初,兩人會對著外接顯示器進行一些討論。

但在深入調查代碼時和一些代碼編寫時,肖蘭開始對著自己的筆記本屏幕進行操作,隨著肖蘭逐漸地集中精力,討論和解說停止了。

在連續幾次的進入某個類查看細節代碼,再切換到另外幾個文件中查看配置文件后,肖蘭寫了幾行代碼試了試。

如此反復了幾次后,阿發已經不清楚肖蘭所進行操作的目的了,但他看著肖蘭投入的樣子,欲言又止,不忍心打斷她的操作。

于是阿發又努力了3分鐘嘗試跟上肖蘭的思路,可是猜透一個人的心思何其難也,阿發最終無奈放棄,于是默默轉向自己的電腦(手機),去看看郵件(朋友圈),等待肖蘭等下有了結果再同步給他。

可是,肖蘭在完成的調查整個過程中獲得的信息,卻不一定都能同步給阿發,阿發也就無法掌握當前工作的全貌了。

至此,Pair 終成 Solo...

分析原因

(1) 硬件設施準備不充分。

肖蘭掌控了所有的操作,阿發更多的時候都處于一種“被動”狀態,結對編程的參與感不高,特別是當肖蘭“全情投入”后,阿發的參與感幾乎被全部“剝奪”。

說明:在了解 “如何進行結對編程” 的部分有說明過,結對編程的兩人在硬件準備上,應該盡量平等,至少兩人都有可以各自操作的鍵盤。

(2) 沒有分配、交換角色的活動。

結對編程是兩個人共同合作的活動,那么兩人中每個個體在活動中的體驗感就直接影響這項活動的效果。

在上述例子中,肖蘭一開始就掌握了"操作權”,到了代碼調查階段時,肖蘭又直接“搶奪”了思維的“導向權”,隨著自己的想法去調查、嘗試。

導致阿發在這次結對編程中的參與度極低,體驗感也極差,并最終轉向獨自工作。

說明:為了保證結對兩人的參與度,結對編程存在多種不同的實踐方式(Navigator-Driver 模式、乒乓模式、鍵盤 + 鼠標模式),但無論采用哪種方式,兩人都應在實踐一段時間后,交換角色,從而使每人都有機會從不同的視角分析、解決問題。

(3) 缺少有效溝通。

結對編程與其說是編程方式,不如說更多是一種“社交”活動。那么,在整個過程中,結對兩人需要進行大量,高強度的溝通交流。

在上述場景中,一方面,當肖蘭要開始進行一些深入調查時,沒有說明意圖,從而使阿發開始產生迷茫。

另一方面,當阿發努力嘗試后,依然認為自己跟不上肖蘭的操作時,沒有與肖蘭說明情況,從而使兩人的“信息鴻溝”進一步被擴大。

可嘗試的實踐

針對上述問題,可以:

  • 每對Pair中,至少有一人使用從公司申請(自備)的鍵盤和鼠標,確保每個人都有條件能在想要操作的時候進行操作。
  • 每對Pair按照拆分的任務列表,每完成 1(X)個任務,交換一次兩人的角色。
  • 練習提問。結對的兩人中,任何一人發現兩人的思路不一致時,通過提問的方式,將問題暴露,并解決。

問題 3:Switch Pair頻率高,引發高溝通成本

Pair 過程會產生大量的溝通交流,頻繁的 Switch Pair 會使這種交流的成本擴大,那么如何從這種高頻的 Switch Pair 活動中獲得更高的個人收益呢?

具體場景

團隊最近在嘗試提高 Switch Pair 的頻率,從之前的每兩周提升到現在的每周一次,之后視情況仍有提升的可能。

而這給阿花造成了困擾,因為幾乎每次結對編程,阿花都和搭檔會討論很多問題,而幾乎每次 Switch Pair,阿花都需要花費不少時間將這些討論的結果和新的搭檔解釋。

阿花認為這降低了工作的效率,并且自己也沒從中獲得額外的收益,那為什么還要提升 Switch Pair 的頻率呢?

分析原因

其實,阿花遇到的工作效率降低問題,可以利用問題1中提到的實踐進行嘗試。

另外,隨著頻率的提升,需要傳輸的信息量也會下降,再加上合理的拆卡,工作效率問題的影響應該微乎其微。

可是,阿花提出的另一個問題,“如何從高頻 Switch Pair 中獲得更高的個人收益問題?” 這卻不是一個單靠結對編程技能就能解答的問題。

先拋開 Switch Pair 的初始目標(信息流動)不談,因為這其實是對于團隊的收益(一定程度上降低團隊人員變化帶來的風險)。 

那么,對個人而言,要想從 Switch Pair 中受益,就需要從敏捷軟件工程實踐的相關理論和目的出發,如果能結合“快速反饋,識別變化”,那得出的結論就不難了:

  • 更頻繁的搭檔交換,能使反饋的信息源變化,從而使反饋的角度變化,有利于個人從不同視角識別自身的長處與短板。無論是主動通過觀察學習,還是通過收集反饋,都提供了更加豐富的輸入。
  • 縮短單一搭檔工作的時間,但保證周期性的輪換,提供了一個適當的時期(大約一個月)去嘗試、應用一些變化,從而在下次輪換到相同的搭檔時,可以收集驗證性的反饋。

可嘗試的實踐

想要在高頻 Switch Pair 的實踐中最大化個人利益,那么就需要充分利用此時的機會和資源,即不同的搭檔的視角,再結合 Feedback 機制,就可以很容易構建個人有目的,有針對性的提升計劃。

那么就從每次 Switch Pair 前,向上一個搭檔收集這段時間合作的反饋開始吧。

注意:Switch Pair 的頻率不必一味求高,只要能夠確保工作所需的關鍵信息在團隊內充分流動即可。

小結

結對編程也只是程序員工作中會用到的一項技能而已,那么只要是技能,通過時間的堆積,去磨煉,去思考,就會有所提升。

穩扎穩打,時間會給予最棒的回饋!

責任編輯:趙寧寧 來源: Thoughtworks洞見
相關推薦

2022-07-27 10:39:14

Spring代碼IDEA

2023-05-04 10:08:00

Windows 10WinAFL二進制

2021-07-29 10:39:50

MySQLMySQL5.7MySQL8

2024-02-04 08:26:38

線程池參數內存

2013-11-28 10:22:37

編程結對編程

2013-01-30 10:03:01

結對編程編程語言

2013-05-06 10:22:07

結對編程敏捷開發敏捷管理

2018-09-11 09:14:52

面試公司缺點

2025-04-27 00:04:00

C#異步編程

2013-06-20 09:38:57

2010-01-27 09:33:40

結對編程

2015-09-11 08:59:03

結對編程

2020-09-15 08:46:26

Kubernetes探針服務端

2017-10-24 13:02:29

2014-03-03 09:48:55

SSHTmux

2013-05-24 09:37:25

結對編程結對編程實踐BitBucket

2023-08-31 08:10:18

2025-10-27 01:11:00

2023-02-20 08:11:04

2017-05-05 08:12:51

Spark共享變量
點贊
收藏

51CTO技術棧公眾號

久久久精品免费看| 欧美午夜精品一区二区| 国产三级在线看| 麻豆免费精品视频| 欧美日韩国产成人在线| 香港三日本8a三级少妇三级99 | 啊v视频在线一区二区三区| 日本中文字幕二区| 黄色激情在线播放| 国产精品乱码一区二区三区软件| www日韩av| 亚洲 欧美 中文字幕| 久久久人成影片免费观看| 亚洲国产成人在线视频| 中文字幕精品一区二区三区在线| 成人在线黄色电影| 中文字幕一区二区在线播放| 精品久久精品久久| 国产精品无码AV| 免费在线日韩av| 欧美成人精品xxx| 日本成人免费视频| 国产suv精品一区| 欧美日韩大陆一区二区| www.玖玖玖| 污网站在线免费看| 中文字幕不卡在线| 久久国产精品99久久久久久丝袜| 91精品视频免费在线观看 | 久久亚洲精品一区| 无码国产69精品久久久久同性| 美女久久精品| 欧美天堂亚洲电影院在线播放| 国产日本在线播放| 在线免费观看a视频| 国产偷国产偷精品高清尤物| 久久www免费人成精品| 国产手机视频在线| 久久9热精品视频| 日本精品中文字幕| 日韩男人的天堂| 一区二区三区四区日韩| 日韩专区在线观看| 亚洲欧美va天堂人熟伦| 蜜臀av免费一区二区三区| 精品欧美一区二区三区精品久久 | 久一视频在线观看| 永久91嫩草亚洲精品人人| 中文字幕久久亚洲| 成人国产精品久久久网站| 秋霞综合在线视频| 亚洲国产精品中文| 制服丝袜av在线| 97久久综合区小说区图片区| 91精品欧美综合在线观看最新| 天天爱天天操天天干| 国产精品av一区二区三区 | 欧美做暖暖视频| 黄色av电影在线观看| 国产精品成人一区二区艾草| 亚洲国内在线| 日本亚洲精品| 亚洲手机成人高清视频| 四虎永久免费网站| 超碰porn在线| 亚洲精品美腿丝袜| 国产一级片91| 黄页网站在线观看免费| 亚洲第一主播视频| 女人喷潮完整视频| 日韩欧美精品电影| 欧美三级电影精品| 亚洲国产午夜精品| 国产精品天天看天天狠| 日韩激情视频在线播放| 实拍女处破www免费看| 国内黄色精品| 精品国产区一区二区三区在线观看| 国产wwwwxxxx| 欧美日韩第一区| 午夜精品在线观看| 久久精品99北条麻妃| 麻豆精品久久久| 91蜜桃网站免费观看| 神马一区二区三区| 国产亚洲一区字幕| 一区二区冒白浆视频| 在线观看男女av免费网址| 亚洲国产日韩精品| 黄色三级视频片| 国内不卡的一区二区三区中文字幕| 欧美一区二区三区视频| 国产精九九网站漫画| 国产不卡一区| 日韩一区二区精品视频| 国产精品美女毛片真酒店| 久久一区欧美| 96pao国产成视频永久免费| 隣の若妻さん波多野结衣| 国产视频一区在线播放| 国产91av视频在线观看| 91九色国产在线播放| 午夜成人免费视频| 日本三级黄色网址| 国产精品自在线拍| 日韩在线视频线视频免费网站| 黄页网站免费观看| 免费人成精品欧美精品| 国产精品手机视频| 97电影在线| 亚洲成人综合在线| 日韩av.com| 思热99re视热频这里只精品| 欧美成人四级hd版| 欧美一区二区三区久久久| 国内精品久久久久影院一蜜桃| 黑人另类av| 久久亚洲天堂| 91成人免费在线视频| 岛国精品一区二区三区| 日韩不卡一区| 日韩av免费在线| 亚洲精品久久久蜜桃动漫| 亚洲国产精品成人综合| 精品中文字幕av| 91蜜桃臀久久一区二区| 日韩在线视频播放| 国产91国语对白在线| 东方aⅴ免费观看久久av| 中文字幕中文字幕一区三区| 日韩免费小视频| 精品视频久久久久久久| 国产主播在线观看| 国产一区二区精品久久99| 午夜精品一区二区在线观看的 | 日本人妻丰满熟妇久久久久久| 国产精品久久久久影院色老大| 成年人视频网站免费观看| 爱高潮www亚洲精品| 超碰精品一区二区三区乱码| 在线免费观看中文字幕| 国产日韩欧美亚洲| 日韩毛片在线免费看| 欧美天堂影院| 97超级碰碰碰久久久| 天堂网在线观看视频| 一区二区三区免费观看| www.桃色.com| 在线观看国产精品入口| 成人久久18免费网站图片| 亚洲成人三级| 欧美日韩精品免费观看视频| 国产毛片欧美毛片久久久| 天天做综合网| 久久99国产精品久久99大师| 日本午夜精品久久久久| 成人在线分类| 欧美在线播放| 91精品国产99| 欧美亚洲精品在线观看| 一区二区三区精品在线| 久久黄色一级视频| 亚洲小说欧美另类社区| 精品免费视频123区| 蜜桃视频www网站在线观看| 久久久久久黄| 国产精品网址在线| 亚洲图片88| 欧美一区二区视频免费观看| www青青草原| 丰满少妇久久久久久久| 狠狠干 狠狠操| 伊人春色之综合网| 国产精品久久久久久五月尺| 免费高清完整在线观看| 欧美一区二区大片| 日本视频免费在线| 日本一区二区三区dvd视频在线| 欧美午夜性生活| 亚洲精品一区二区在线看| 亚洲伊人一本大道中文字幕| 丁香花视频在线观看| 亚洲女人被黑人巨大进入al| 成人免费一区二区三区| 亚洲欧美韩国综合色| 中文字幕一区二区三区乱码不卡| 中文日韩在线| 一区二区三区四区| 91麻豆精品激情在线观看最新| 欧美一区二三区| 91青青在线视频| 精品日韩在线观看| 91黑人精品一区二区三区| 综合激情成人伊人| 韩国无码一区二区三区精品| 蜜桃精品在线观看| 免费在线观看视频a| 不卡中文字幕| 久久99热只有频精品91密拍| 成人国产精选| 97香蕉超级碰碰久久免费的优势| 国产三区四区在线观看| 精品美女一区二区| 波多野结衣网站| 亚洲国产一区二区三区青草影视| b站大片免费直播| 国产精品亚洲综合一区在线观看| 激情五月开心婷婷| 欧美日韩国产高清| 亚洲高清视频一区二区| 美女午夜精品| 91日韩在线播放| 国模冰冰炮一区二区| 久久艳片www.17c.com| 青青视频在线观| 精品久久人人做人人爱| 一级特黄录像免费看| 欧美日韩中文字幕日韩欧美| www.av视频| 国产精品国产馆在线真实露脸| 亚洲国产第一区| 国产成人精品亚洲午夜麻豆| 欧美一级特黄a| 久久青草久久| 少妇高潮毛片色欲ava片| 亚洲一区二区日韩| 水蜜桃亚洲精品| 自拍偷拍精品| 精品国产一区二区三区麻豆小说 | 国产精品免费在线免费| 僵尸再翻生在线观看| 欧美黑人国产人伦爽爽爽| 麻豆传媒在线观看| 中文字幕日韩av| 黄色av免费在线观看| 日韩电视剧在线观看免费网站| 国内精品久久久久久久久久| 欧美猛男男办公室激情| 中文字幕理论片| 一本久久综合亚洲鲁鲁五月天 | 天堂久久久久久| 成人一区二区三区在线观看| 超碰91在线播放| 国产一区二区三区四区在线观看| 国产精品一区二区小说| 麻豆国产欧美一区二区三区| 久久久精品麻豆| 日本在线不卡视频一二三区| 国产成人精品视频ⅴa片软件竹菊| 午夜在线a亚洲v天堂网2018| 国产免费毛卡片| 久久精品官网| 色一情一乱一伦一区二区三区日本| 久久xxxx精品视频| 欧美 日韩精品| 久久成人一区| 国产视频一区二区视频| 日本美女一区二区| 538任你躁在线精品免费| 免费欧美日韩国产三级电影| 天天操天天摸天天爽| 青娱乐精品在线视频| 国产精品久久a| 精品亚洲porn| 亚洲精品在线网址| 国产不卡免费视频| 国产av一区二区三区传媒| av一区二区三区在线| 强迫凌虐淫辱の牝奴在线观看| 91在线视频在线| 微拍福利一区二区| 中文字幕欧美一| 麻豆一区产品精品蜜桃的特点| 亚洲国产色一区| 亚洲 欧美 日韩 在线| 欧美日韩精品一区二区天天拍小说| 国产精品无码天天爽视频| 日韩精品一区在线| 欧美一区二区三区黄片| 亚洲免费福利视频| 色三级在线观看| 欧美黑人xxx| 欧美激情视频三区| 久久91导航| 亚洲一区二区三区成人在线视频精品 | 国产精品白丝在线| 免费中文字幕视频| 色悠悠亚洲一区二区| 国产精品女人久久久| 亚洲国产另类 国产精品国产免费| 嫩草精品影院| 久久久精品一区二区| 激情aⅴ欧美一区二区欲海潮| 国产精品久久久久久久久久久不卡| 国产精品99久久免费| 久久精品日韩精品| 婷婷亚洲最大| 精品欧美一区免费观看α√| 蜜臀av国产精品久久久久| 国产欧美视频一区| 国产日韩欧美a| 精品一区在线视频| 欧美日韩精品二区第二页| 亚洲欧美另类日韩| 最近2019中文字幕mv免费看 | 日本熟妇人妻中出| 国产**成人网毛片九色| 中文字幕第24页| 五月激情丁香一区二区三区| 亚洲一卡二卡在线观看| 日韩国产欧美精品一区二区三区| 浪潮av一区| 国产精品18久久久久久麻辣| 91亚洲精品视频在线观看| 一区二区不卡在线观看| 国产免费成人| 中文字幕18页| 亚洲欧美一区二区视频| 久久国产视频一区| 亚洲第一男人天堂| 搞黄网站在线观看| 国产精品吴梦梦| 国产成人一区| a在线视频观看| 国产白丝精品91爽爽久久| 色哟哟一一国产精品| 在线视频观看一区| 麻豆app在线观看| 97成人精品视频在线观看| 97一区二区国产好的精华液| 欧美aaa在线观看| 日韩电影一二三区| 国产成人av一区二区三区不卡| 亚洲高清免费观看高清完整版在线观看 | 亚洲韩国精品一区| 国产福利免费视频| 久久精品国产91精品亚洲| 久久av影院| 五月天亚洲综合小说网| 爽爽淫人综合网网站| 少妇光屁股影院| 午夜精品123| 丰满人妻一区二区| 欧美精品videos性欧美| 日韩成人在线观看视频| 免费观看国产视频在线| 老色鬼精品视频在线观看播放| 黄色裸体一级片| 欧美日韩国产三级| 精精国产xxxx视频在线| 成人激情视频在线观看| 亚洲成人三区| 制服下的诱惑暮生| 亚洲午夜私人影院| 日韩在线视频第一页| 91国产美女视频| 亚洲电影男人天堂| 99视频在线免费| 国产精品网站在线| 国产特级黄色片| 欧美激情综合亚洲一二区| 久久狠狠久久| 欧美成人精品欧美一级乱| 国产三级欧美三级日产三级99| 亚洲国产无线乱码在线观看| 日韩日本欧美亚洲| 日韩在线观看一区二区三区| 岛国大片在线播放| 久久午夜羞羞影院免费观看| 中文字幕免费高清在线观看| 久久久www成人免费精品| 视频一区国产| 久久综合九色综合88i| 久久噜噜亚洲综合| 91麻豆国产视频| 久久久久久久久久久91| 蜜臀av免费一区二区三区| 亚洲一区日韩精品| 亚洲综合在线观看视频| 欧美在线观看在线观看| 成人黄色av网站| 国产精品videosex极品| aa一级黄色片| 欧美日本一区二区三区四区| 亚洲www色| 欧美精品七区| 国产精品69久久久久水密桃| 久久夜靖品2区| 最近中文字幕日韩精品| 伊人久久大香线蕉av超碰| 国产1区2区在线| 亚洲欧美激情在线| 香蕉av在线播放| 91久久国产综合久久91精品网站 | 国产精品无码av无码| 亚洲欧美一区二区三区国产精品 | 欧洲成人一区| 国产免费裸体视频| 国产精品美女久久久久久久| 国产成人手机在线|