#2 - TDD, Pair Programming, and Katas: Sessions Process to improve Pair programming Practice

Image - Peter Combee and I (Dan Torres) - Bowling Game Kata

Image - Peter Combee and I (Dan Torres) - Bowling Game Kata

When Peter Combee and I decided to practice Katas using pair programming, we discovered we spent too much time in each session, which clashed with our routines. In this article, I’ll explain how we improved our timing so that we didn’t conflict with other activities in our routine to get the most out of each session. 

Once we decided to have an hour to do these sessions weekly, we needed to organize how we would spend this hour. We then came up with a process that helped us become disciplined while also complying with the time that we had.

This process consists of three parts: 

Before the session. 5-10 min. 

It consisted of preparing each of our machines before recording the session. This part consisted of a checklist to prepare our machines:

* Check the display settings (we usually use a lower setting to make our viewers see the screen more clearly).

* Connect a second monitor (if needed).

* Create the StreamYard session with a clear Name and date.

* Turn on Do Not Disturbed.

* Clean any desktop apps. 

* Close all unrelated applications.

* Finally, individually check where we left off at the last session, using the notes from each previous session.

During the session:

Which consisted of reviewing the notes from the previous session together, where we left off to continue the session, record the session, and have an analysis to wrap up the session.

* Review the annotations improvements. 5-10 min. We would pick one improvement to focus on. 

* Continue and record the Kata. 25 min. To practice each point needed to continue, whether a new test or a refactor is missing. We would use a Pomodoro timer to keep track of time. With this technique, we would use deep focus to avoid getting distracted by chit-chatting or spending too much time thinking about a code solution.

* Push changes to the trunk. We would wrap up the session by pushing the changes.

* Analyze the session with Retrospectives. 15 min. We follow the Excellent, Good, and To Improve retrospectives and annotate the results to improve over time.

After the session:

It consisted of the next steps to follow for the next session.

* Review the session Individually. We needed to watch the recording to keep improving our communication, check pitfalls while coding, and check areas of improvement for testing or refactoring.

* Practice Individually. We kept learning about Katas, Refactor, or Pair Programming Individually during the week.

Conclusion:

In this article, we shared the process you may follow to improve the practice of Pair programming over time. You may use more time if needed, but one hour is sufficient to make this a good development habit. It’s not about speed but how much you can learn with a fixed schedule that lets you do other activities and not interrupt your routine. This may keep you motivated and disciplined to help you on your Pair programming journey.

We will share Pair Programming insights weekly as we continue our journey in Pair programming.

Stay tuned in the link below. In the meantime, stay safe!

Previous
Previous

#3 - TDD, Pair Programming, and Katas: How to overcome communication flaws.

Next
Next

#1 - TDD, Pair Programming, and Katas in iOS/Swift