As the Driver
The driver’s job is execute on the plan that is formulated between the driver and navigator, turning your concepts into real production output. You are the person on the ground, operating the machinery that will result in new features or bug fixes. I’ve often found the driver role to be much easier, as the more active my hands are on the keyboard, the less easily distracted I am. However, narrowing your focus too much can be detrimental to a good pairing session. Your navigator is your partner and you should be using them.
Don’t Do Too Much
As the driver it can be easy to fall into the trap of trying to solve every problem. However it isn’t your role to be the problem solver, but rather to implement solutions that are determined by the driver/navigator team. If you identify a problem in the current strategy, bring it up, even if the solution seems obvious. It will keep the navigator more engaged and their perspective will improve the final output.
Don’t Shut Out the Navigator
One of the most difficult things to balance as the driver is total communication. You are in control of the tools, and with that power comes the responsibility of explaining how you are using them.
I find that narrating most of my decisions and actions is helpful in revealing my intentions not only to my navigator, but to myself as well. You may feel as though you are over-communicating, or you may not be comfortable providing access to your literal stream of consciousness, and that’s okay.
But remember — the decisions you make internally can always be improved or validated by a second opinion, so speak up about the actions you're taking as much as you can. Ask questions, even if you think you know the answers. Having your navigator act almost like a second subconscious that can process ideas and problems for you asynchronously is a great advantage.
What If It's Still Not Working?
If pair programming still isn't working for you after trying these different methods, don't panic! Pairing doesn’t always work in every situation. Maybe you and your partner have different schedules. Maybe the type of work that your project needs does not lend itself well to pairing. Maybe you two are fundamentally incompatible. It happens. Don’t be afraid to stop pairing and work solo.
Pairing relationships are often elliptical, with the ratio of pairing to solo work waxing and waning as the project and environment dictates. Keep these tips in mind when you've decided to pair, but don't force something that's not working. In the end, delivering well-developed and well-tested products through agile, repeatable processes is most important.
Looking for a team of pair programming experts to help with your next IoT project? Contact us today.