|
| 1 | +--- |
| 2 | +layout: default |
| 3 | +title: A Pairing Session Template |
| 4 | +permalink: /template |
| 5 | +meta: A template to help guide your pair programming session |
| 6 | +--- |
| 7 | + |
| 8 | +{% include article-top.html %} |
| 9 | +# 結對會話模板 |
| 10 | +<!-- # A Pairing Session Template --> |
| 11 | +> 幫助你如何引導一個結對會議的模板 |
| 12 | +<!-- > A template to help guide your pair programming session --> |
| 13 | +
|
| 14 | +這是您下一次配對會話的模板: |
| 15 | +<!-- Here's a template for your next pairing session: --> |
| 16 | + |
| 17 | +```text |
| 18 | +[ ] 大聲同意高水平目標。 |
| 19 | +[ ] 將工作分解為少數幾個任務,並對它們進行優先排序。 |
| 20 | +[ ] 確定您的操作/導航角色的交換策略。 |
| 21 | +[ ] 配置 git 共享信用。 |
| 22 | +[ ] 消除干擾。 |
| 23 | +[ ] 工作。 |
| 24 | +[ ] 通過簡單的回溯來分析這個會議。 |
| 25 | +``` |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +<!-- ```text |
| 30 | +[ ] Agree on the high-level goal out loud. |
| 31 | +[ ] Break the work into a handful of tasks and prioritize them. |
| 32 | +[ ] Decide your driver/navigator swapping strategy. |
| 33 | +[ ] Configure git to share credit. |
| 34 | +[ ] Eliminate distractions. |
| 35 | +[ ] Work. |
| 36 | +[ ] Analyze the session with a mini retro. |
| 37 | +``` --> |
| 38 | + |
| 39 | +讓我們更多地討論每個步驟。 |
| 40 | +Let's talk more about each step. |
| 41 | + |
| 42 | + |
| 43 | +## 1.大聲同意高水平目標 |
| 44 | + |
| 45 | +<!-- ## 1. Agree on the high-level goal out loud --> |
| 46 | + |
| 47 | +大聲說出您希望高水平完成的工作。 |
| 48 | + |
| 49 | +<!-- State **out loud** what you hope to accomplish at a high level. --> |
| 50 | + |
| 51 | +您可能會覺得兩個人不可能在沒有達成共識的情況下就開始配對,但這其實非常容易。 |
| 52 | +<!-- You wouldn't think it'd be possible for two people to start pairing without agreement about where they're headed, but it's surprisingly easy. --> |
| 53 | + |
| 54 | + |
| 55 | +## 2.將工作分解為幾個任務(並優先處理它們) |
| 56 | + |
| 57 | +<!-- ## 2. Break the work into a handful of tasks (and prioritize them) --> |
| 58 | + |
| 59 | +值得嘗試將您的高層次目標分解為幾個較小的步驟。 |
| 60 | + |
| 61 | +<!-- It's worth trying to break your high-level goal into a handful of smaller steps. --> |
| 62 | + |
| 63 | +這有很多好處: |
| 64 | +<!-- This has a number of benefits: --> |
| 65 | + |
| 66 | +- 使目標不那麼嚇人。 |
| 67 | +<!-- - It makes the goal less intimidating. --> |
| 68 | +- 您會更容易發現死胡同和陷阱。 |
| 69 | +<!-- - You'll spot dead ends and pitfalls more easily. --> |
| 70 | +- 您可以按優先級對任務列表進行排序。 |
| 71 | +<!-- - You can sort your task list by priority. --> |
| 72 | +- 您更有可能注意到完成任務 C 會使 B 變得更容易,並適當地重新排序。 |
| 73 | +<!-- - You're more likely to notice that accomplishing task C would make B easier, and reorder appropriately. --> |
| 74 | +- 您可以根據當前的能量水平來決定一項任務。 |
| 75 | +<!-- - You can decide on a task based on your current energy levels. --> |
| 76 | +- 它為您提供了一個清晰的地方來放置您在工作時想到的新任務。 |
| 77 | +<!-- - It gives you a clear place to put new tasks you think of while working. --> |
| 78 | + |
| 79 | + |
| 80 | +[某些人](https://www.jamesshore.com/Agile-Book/pair_programming.html)喜歡將每個任務寫在自己的索引卡上。它們的堆放在導航者面面前。 每張卡片是執行中斷時提出筆記或想法的記錄地方。 |
| 81 | +<!-- [Some folks](https://www.jamesshore.com/Agile-Book/pair_programming.html) like to write each task on its own index card. The stack of them lives in front of the navigator. Each card can be a nice home for notes or ideas to bring up when there is a break in the action. --> |
| 82 | + |
| 83 | + |
| 84 | +## 3.確定您的操作/導航角色的交換策略。 |
| 85 | +<!-- ## 3. Decide what will trigger a driver/navigator swap --> |
| 86 | + |
| 87 | +除非您已經知道哪種方法最適合您,否則我強烈建議您使用番茄鐘技巧: |
| 88 | +<!-- Unless you already know what works best for you, I strongly recommend the Pomodoro Technique: --> |
| 89 | + |
| 90 | +1.編寫 25 分鐘。 |
| 91 | +<!-- 1. Code for 25 minutes. --> |
| 92 | +2.休息 5 分鐘。 |
| 93 | +<!-- 2. Take a 5 minute break. --> |
| 94 | +3.交換驅動角色。 |
| 95 | +<!-- 3. Switch drivers. --> |
| 96 | + |
| 97 | +還有其他[配對編程樣式](/pair-programming-guide/styles)可以嘗試看看。 |
| 98 | +<!-- Other [pair programming styles](/pair-programming-guide/styles) exist if you wish to try them. --> |
| 99 | + |
| 100 | + |
| 101 | +## 4.配置git共享成果 |
| 102 | +<!-- ## 4. Configure git to share credit --> |
| 103 | + |
| 104 | +如果你們兩個共同貢獻了代碼,則兩個名字都應出現在提交中(commit)。 |
| 105 | +<!-- If two of you work on some code, both your names should appear on the commit. --> |
| 106 | + |
| 107 | +這個git的[方便指南](https://help.github.com/articles/creating-a-commit-with-multiple-authors/)可以教你如何適當的設定 git。 |
| 108 | +<!-- Here's [a handy guide](https://help.github.com/articles/creating-a-commit-with-multiple-authors/) to configuring git appropriately. --> |
| 109 | + |
| 110 | +Bonus:GitHub 本身就了解這一點,並且會在提交方面標註作者。 |
| 111 | + |
| 112 | +<!-- Bonus: GitHub understands this natively and will give you both credit for the commit. --> |
| 113 | + |
| 114 | +有一些工具可以使此操作變得更加容易: |
| 115 | +<!-- A few tools exist to make this even easier: --> |
| 116 | + |
| 117 | +- [git pair](https://github.com/chrisk/git-pair) |
| 118 | +- [git duet](https://github.com/git-duet/git-duet) |
| 119 | +- [git-together](https://github.com/kejadlen/git-together) |
| 120 | + |
| 121 | + |
| 122 | +## 5.消除干擾 |
| 123 | +<!-- ## 5. Eliminate distractions --> |
| 124 | + |
| 125 | +對您的成員和您將要做的工作表示尊重。 |
| 126 | +<!-- Show respect for your pair and the work you're about to do. --> |
| 127 | + |
| 128 | +- 不要帶手機。如果不行,請使其靜音。 |
| 129 | +<!-- - Don't bring your phone. Silence it if you do. --> |
| 130 | +- 在要結對的電腦裝置上禁用通知。(開啟勿擾) |
| 131 | +<!-- - Disable notifications on the machine you're using to pair. --> |
| 132 | +- 關閉電子郵件/ Slack / Twitter / 聊天室(IRC)。切勿讓其他顯示器(螢幕)分散注意力。 |
| 133 | +<!-- - Close email/Slack/Twitter/IRC. Never keep something distracting on a second monitor. --> |
| 134 | + |
| 135 | + |
| 136 | +## 6.工作 |
| 137 | +<!-- ## 6. Work --> |
| 138 | + |
| 139 | +做吧! |
| 140 | +<!-- Do the work! --> |
| 141 | + |
| 142 | + |
| 143 | +不要忘記: |
| 144 | +<!-- Don't forget: --> |
| 145 | + |
| 146 | +- *導航時:* 問問題而不是提出要求。 |
| 147 | +<!-- - *When navigating:* ask questions rather than making demands. --> |
| 148 | +- *操作時:* 指出您在做什麼以及為什麼。 |
| 149 | +<!-- - *When driving:* dictate what you're doing and why. --> |
| 150 | +- 過度溝通方面的錯誤。 |
| 151 | +<!-- - Err on the side of over-communication. --> |
| 152 | +- 休息一下。 |
| 153 | +<!-- - Take lots of breaks. --> |
| 154 | +- 經常交換角色。 |
| 155 | +<!-- - Swap roles frequently. --> |
| 156 | +- 做可能會起作用的最簡單的事情(目前為主)。 |
| 157 | +<!-- - Do the simplest thing that could possibly work (for now). --> |
| 158 | +- 避免使用這些 [pairing antipatterns](/pair-programming-guide/antipatterns). |
| 159 | +<!-- - Avoid these [pairing antipatterns](/pair-programming-guide/antipatterns). --> |
| 160 | + |
| 161 | + |
| 162 | + |
| 163 | +## 7.進行迷你復古 |
| 164 | + |
| 165 | +<!-- ## 7. Perform a mini retro --> |
| 166 | +會議結束後花幾分鍾思考一下這個過程中的經驗。 |
| 167 | +<!-- Spend a few minutes after your session reflecting on the experience. --> |
| 168 | + |
| 169 | + |
| 170 | +首先,討論什麼事情是進展順利。 |
| 171 | +<!-- First, discuss what went well. --> |
| 172 | + |
| 173 | + |
| 174 | +然後,考慮什麼會使下一個會議提高 1%。 |
| 175 | +<!-- Then, consider what would make the next session 1% better. --> |
| 176 | + |
| 177 | + |
| 178 | +可能需要改進的地方: |
| 179 | +<!-- Possible areas for improvement: --> |
| 180 | + |
| 181 | +* **專心**:注意力分散了嗎? |
| 182 | +<!-- * **Focus**: did distractions sneak in? --> |
| 183 | +* **溝通**:長時間沒有說話嗎? |
| 184 | +<!-- * **Communication**: were there long stretches of no talking? --> |
| 185 | +* **緩步的進行**:會議在任何時候都感覺像是在受苦(grind)嗎? |
| 186 | +<!-- * **Pacing**: did the session feel like a grind at any point? --> |
| 187 | +* **責任劃分**:您是否很好地劃分了工作? |
| 188 | +<!-- * **Division of responsibility**: did you split the work up well? --> |
| 189 | +* **程式碼質量**:您的最終產品是否高質量? |
| 190 | +<!-- * **Code quality**: was your end-product high-quality? --> |
| 191 | + |
| 192 | + |
| 193 | +<!-- |
| 194 | +{% |
| 195 | +include navigation-buttons.html |
| 196 | +previous-title="Your First Pairing Session" |
| 197 | +previous-url="/pair-programming-guide/your-first-pairing-session" |
| 198 | +next-title="Pair Programming Styles" |
| 199 | +next-url="/pair-programming-guide/styles" |
| 200 | +%} |
| 201 | + --> |
0 commit comments