cyphersec A blog about Web Application Security and .NET development best practices

25Apr/090

Driving and Navigating

When you start pairing, except to feel clumsy and fumble-fingered as you drive. You may feel that your navigator sees ideas and problems much more quickly than you do. She does - the navigator have more time to think that drivers do. The situation will be reversed when you navigate. Pairing will feel natural in time.

When navigating, expect to feel like you want to step in and take the keyboard away from your partner. Relax; your driver will often communicate an idea with both words and code. He'll make typos and little mistakes - give him time to correct them himself.

Use your extra brainpower to think about the greater picture. What other tests do you need to write? How does this code fit into the rest of the system? Is there duplication you need to remove? Can the code be more clear? Can the overall design be better?

v121327195232941 (1)As navigator, help your driver be more productive. Think about what's going to happen next and be prepared with suggestions. When I'm navigating, I like to keep an index card in front of me. Rather than interrupting the driver when I think of an issue, I write my ideas of the index card and wait for a break in the action to bring them up. At the end of the pairing session, I tear up the card ad throw it away.

Similarly, when a question aries, take a moment to look up the answer while the driver continues to work. Some teams keep spare laptops on hand for this purpose. If you need more than a few minutes, research the solution together. Sometimes the best way to do this is to split up. pursue parallel lines of inquiry, and come back together to share what you have learned. Spike solutions are a particularly powerful approach.

As you pair, switch roles frequently - at least every half hour, and possibly every few minutes. If you're navigating and find yourself telling the driver which keys to press, ask for the keyboard. If you're driving and need a break, pass the keyboard off to your navigator.

Pairing Tips:

  • Pair on everything you'll need to maintain.
  • Allow pairs to form fluidly rather than assigning partners.
  • Switch partners when you need a fresh perspective.
  • Avoid pairing with the same person fore more than a day at a time.
  • Sit comfortably, side by side.
  • Produce code through conversation. Collaborate, don't critique.
  • Switch driver and navigator roles frequently.

About Alessio Marziali

Alessio Marziali (MCTS) is a Security Consultant with 10 years of experience developing secure applications with Microsoft .NET in a variety of sectors in UK and Italy. Published technical author with two ASP.NET books currently available for purchase and OWASP Code Crawler Project Leader.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.