精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品丝袜一区| 午夜欧美视频| 欧美日韩高清在线播放| 亚洲视频小说| 国产毛片毛片毛片毛片| 狠狠88综合久久久久综合网| 亚洲国产成人精品久久久国产成人一区 | 欧美精品高清| 国产精品久久午夜| 999精品视频一区二区三区| 日韩av一区二区在线播放| 久久av资源| 3d成人h动漫网站入口| 999一区二区三区| 国产三级电影在线| 美女性感视频久久| 欧美精品久久久久久久久久| 久久亚洲无码视频| 亚洲乱码一区| 在线观看视频欧美| av女优在线播放| 成年人在线看| 成人午夜av影视| 国产美女精品视频免费观看| 久久精品国产av一区二区三区| 亚洲欧美tv| 日韩一级片在线观看| 免费观看成人网| 日本在线视频网址| 中文字幕精品一区二区三区精品| 国产经典一区二区三区| 亚洲中文字幕在线观看| 国产亚洲网站| 欧美丰满少妇xxxxx做受| 欧美另类z0zxhd电影| 国产精品色悠悠| 精品视频在线观看免费| 久久国产小视频| 日韩电视剧免费观看网站| 手机精品视频在线| 91成人在线| 欧美日韩综合视频| av在线免费观看国产| 无遮挡动作视频在线观看免费入口| 成人精品免费网站| 亚洲一区二区三| 国产又粗又猛又爽| 日韩av一区二区在线影视| 久久人人爽人人爽人人片av高请| 三级全黄做爰视频| 日韩精品一区二区三区免费观影 | 天堂av网在线| 丁香五精品蜜臀久久久久99网站| 成人午夜两性视频| 伊人久久国产精品| 日韩av一区二区三区四区| 国产不卡av在线| 日本免费精品视频| 国产精品久久久久9999高清| 欧美极品少妇xxxxⅹ免费视频| 欧美色图亚洲视频| 香蕉久久网站| 久热精品在线视频| 青花影视在线观看免费高清| 先锋资源久久| 久久国产精品久久国产精品| 成人在线观看免费完整| 亚洲精品一区二区在线看| www日韩欧美| 亚洲一二三在线观看| 久久久久久久久久久久久久| xx视频.9999.com| 自拍偷拍你懂的| 爽成人777777婷婷| 久久久国产一区| 日韩精品一区二区三区在线视频| 日韩中文在线电影| 久久中文久久字幕| 2021亚洲天堂| 亚洲成人资源| 97av在线播放| 日本视频www色| 激情成人综合网| 99在线视频免费观看| 色香蕉在线视频| 成人av午夜影院| 欧美午夜精品久久久久免费视| 国产一级在线观看| 亚洲视频在线观看三级| 成人免费毛片在线观看| 国产ktv在线视频| 在线看国产一区| 日本高清免费观看| 欧美绝顶高潮抽搐喷水合集| 永久免费精品影视网站| 国内偷拍精品视频| 免费在线亚洲| 亚洲一区二区三区久久| 日韩三级电影网| 亚洲天堂2014| 国产精品97在线| 狂野欧美性猛交xxxx| 亚洲第一福利网站| 美国美女黄色片| 国内精品福利| 国产剧情日韩欧美| 婷婷在线免费观看| 国产精品久久久久久久久久久免费看 | www.com日本| 亚洲涩涩av| 中文字幕一区电影| 圆产精品久久久久久久久久久| 久久狠狠一本精品综合网| 国产精品情侣自拍| 国产黄a三级三级看三级| www.亚洲在线| 亚洲欧美综合一区| a级影片在线| 欧美在线视频日韩| 日韩精品――色哟哟| 亚洲精品一级二级三级| 日韩中文理论片| 日本不卡一二区| 中日韩视频在线观看| 国产精品视频自拍| 日韩一级片免费看| 国产视频911| 精品99在线视频| 亚洲伊人精品酒店| 精品伊人久久97| 久久97人妻无码一区二区三区| 久久国产精品99国产| 91在线中文字幕| 天堂av电影在线观看| 亚洲一区在线看| 亚洲小视频网站| 亚洲人成精品久久久| 色综合视频一区中文字幕| 伊人久久久久久久久久久久| 粉嫩av一区二区三区粉嫩| 亚洲看片网站| 成人勉费视频| 亚洲免费av网址| 久久无码精品丰满人妻| 麻豆成人免费电影| 欧美日韩在线播放一区二区| 日本h片在线| 欧美精品第一页| 蜜桃精品一区二区| 亚洲最新av| 91牛牛免费视频| 丁香在线视频| 欧美性黄网官网| 95视频在线观看| 在线看片不卡| 成人免费网站在线看| www.av在线播放| 色综合久久久久网| 日本黄色免费观看| 亚洲午夜av| 999国内精品视频在线| 国产二区三区在线| 在线观看日韩电影| 蜜桃视频最新网址| 蜜芽一区二区三区| 视频一区二区在线观看| 午夜日韩成人影院| 日韩精品www| 草久久免费视频| 久久久久久久久久久99999| 成熟丰满熟妇高潮xxxxx视频| 成人av综合网| 欧美激情视频网址| 亚洲精华国产精华精华液网站| 综合中文字幕亚洲| 国产精品自在自线| 国产在线日韩| 国产综合第一页| 色吧亚洲日本| 国产丝袜一区二区三区免费视频| 在线观看亚洲欧美| 久久免费国产精品| 亚洲免费999| 亚洲国产一成人久久精品| 成人激情视频在线播放| h视频在线免费观看| 日韩精品一区二区三区在线观看| 激情五月婷婷小说| 国产传媒欧美日韩成人| 欧日韩免费视频| 色88888久久久久久影院| 青青a在线精品免费观看| 日本一本草久在线中文| 欧美色偷偷大香| 午夜国产福利一区二区| 成年人国产精品| 日日噜噜夜夜狠狠久久丁香五月 | 26uuu亚洲伊人春色| 国产青青草在线| 欧美人与性动xxxx| 欧美精品色哟哟| 国产色爱av资源综合区| 日本中文字幕影院| 激情文学一区| 欧美日韩一区二区三| 少妇高潮一区二区三区99| 中文字幕亚洲欧美一区二区三区| 蜜桃久久一区二区三区| 欧美视频第一页| 成人无码精品1区2区3区免费看| 国产在线日韩欧美| 欧美 日韩 国产在线观看| 欧美丝袜激情| 久久福利电影| 日韩福利影视| 性色av一区二区三区免费| 经典三级在线| 日韩欧美国产精品| 麻豆久久久久久久久久| 亚洲精品免费看| 亚洲午夜福利在线观看| 狠狠色伊人亚洲综合成人| 青青草成人免费在线视频| 久久高清免费| 国产精品精品软件视频| 亚洲免费看片| 欧美一区二区三区免费视| 久久精品视频观看| 亚洲国产中文字幕久久网| 91好色先生tv| 色综合久久88色综合天天| 顶臀精品视频www| 国产香蕉久久精品综合网| 三上悠亚 电影| 奇米888四色在线精品| 日韩欧美猛交xxxxx无码| 91久久久精品国产| 日本一区二区三区视频在线播放 | 成人女保姆的销魂服务| 日韩电影大全网站| 国产69精品久久久久9999| 黄色网在线免费观看| 一本色道久久88亚洲综合88| 日韩一区二区三区在线观看视频| 在线不卡中文字幕| 日本视频www色| 欧美日韩国产中文字幕 | 成人午夜免费福利| 51精品秘密在线观看| 中文字幕欧美色图| 欧美性猛片aaaaaaa做受| 久久国产视频一区| 亚洲一区二区三区四区五区黄| 懂色av粉嫩av蜜臀av一区二区三区| 久久久影视传媒| 国产chinese中国hdxxxx| 本田岬高潮一区二区三区| 亚洲欧美日韩网站| 日韩国产一区二| 久久网站免费视频| 99精品视频免费观看视频| 成人免费毛片网| 国产日韩一区| 成人综合视频在线| 在线视频日韩| 99精品在线免费视频| 欧美人成网站| 伊人再见免费在线观看高清版 | 亚洲三级免费| 又大又硬又爽免费视频| 综合久久十次| 欧洲精品一区二区三区久久| 韩国在线视频一区| 欧美高清中文字幕| 亚洲天堂偷拍| 欧美精品99久久| 免费视频一区| 欧美婷婷精品激情| 另类小说视频一区二区| 天天干天天av| 久久av资源网| 95视频在线观看| 99国产精品久| 自拍偷拍中文字幕| 国产亚洲综合性久久久影院| 成年人免费观看视频网站| 国产亚洲精品免费| 成人欧美一区二区三区黑人一| 中文字幕av免费专区久久| 精品伦精品一区二区三区视频密桃| 国产精品久久久久久久午夜片| 亚洲色偷偷综合亚洲av伊人| 亚洲精品一卡二卡| 日本一级淫片色费放| 五月婷婷激情综合网| 中文字幕第一页在线播放| 欧美福利视频一区| 肥臀熟女一区二区三区| 亚洲免费视频在线观看| 九七电影韩国女主播在线观看| 色综合老司机第九色激情| 松下纱荣子在线观看| 国产精品成人av在线| 999色成人| 欧洲在线视频一区| 亚洲成人二区| www.av毛片| 日韩av在线免费观看不卡| 亚洲污视频在线观看| av网站免费线看精品| 亚洲精品国产精品国自| 亚洲综合色丁香婷婷六月图片| 天堂а√在线中文在线新版 | 亚洲第一网站在线观看| 51精品国自产在线| 精品久久久久久亚洲综合网站| 亚洲欧美第一页| 中文字幕中文字幕在线十八区| 2021久久精品国产99国产精品| 91p九色成人| 久久久免费看| 一区二区三区四区电影| 成人在线免费在线观看| 国产在线日韩欧美| 国产精品成人99一区无码| 亚洲精品成人a在线观看| 销魂美女一区二区| 精品国产不卡一区二区三区| eeuss影院www在线观看| 奇门遁甲1982国语版免费观看高清 | 久久久美女毛片| 日本一级二级视频| 欧美影院一区二区三区| www.久久精品.com| 久久的精品视频| 欧美成人app| 久久精品国产理论片免费| 欧美一区二区| 天天干天天曰天天操| 国产欧美精品一区二区色综合朱莉| 国产亚洲第一页| 欧美一区二区三区白人| 米奇777四色精品人人爽| 日本精品视频在线| 开心激情综合| 91午夜在线观看| 天堂资源在线中文精品| 扒开jk护士狂揉免费| 亚洲6080在线| www香蕉视频| 久久综合久久八八| 欧美午夜网站| 超碰免费在线公开| 美日韩一级片在线观看| 国产精品高清无码在线观看| 91高清视频免费看| 欧美中文在线| 欧美中文在线观看| 色婷婷久久久| 老司机午夜av| 久久久99免费| 亚洲综合图片网| 日韩成人在线视频观看| 婷婷综合六月| 日本10禁啪啪无遮挡免费一区二区| 一区二区激情| 成人在线电影网站| 欧美性猛交xxxx乱大交3| 天堂а√在线8种子蜜桃视频 | 91一区二区三区| 日韩欧美高清| 亚洲一区二区在线视频观看| 亚洲精品国产a| 粉嫩av一区二区夜夜嗨| 高清亚洲成在人网站天堂| 日韩有吗在线观看| 俄罗斯av网站| 欧美激情一二三区| 在线观看黄色国产| 中文字幕在线看视频国产欧美| 欧美风情在线视频| 99re99热| 国产白丝精品91爽爽久久| 九九精品免费视频| 在线午夜精品自拍| 国产在线一区不卡| 97超碰免费观看| 99精品视频在线观看| 日韩电影在线观看一区二区| 揄拍成人国产精品视频| 欧美成人精品三级网站| 天堂а√在线中文在线| av电影一区二区| 亚洲天堂五月天| 精品中文字幕乱| 人人网欧美视频| 波多结衣在线观看| 国产精品免费免费| 欧美一级特黄aaaaaa大片在线观看| 97在线视频免费播放|