May 1, 2013

Pairing when coding produces higher quality work and minimizes mistakes. When designing, collaboration can also increase creativity. I find my designs to be stronger and more polished when I pair. The constant feedback from my pair makes for a better design and adds more polish to the final design.

Pair programing is one part “driver” and one part “navigator”:

Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.

At 8th Light, pairing is part of our culture and provides many benefits:

Collaboration is Key

They say two minds are better than one, and it’s absolutely true. When you’re working alone, you can’t have your ideas validated, but when you put two creative minds on the same project so much can happen. Ideas come quickly, designs are more polished, and layouts become more refined. And just as I refactor my code, my pair can help me refactor my design. A second opinion can help guide you in the right direction and call out issues.

Fewer Mistakes

Another set of eyes will catch typos and simple mistakes when coding. It’s the job of the “observer” or “navigator” to watch for these simple mistakes but it’s also a good opportunity to learn from a more experienced pair. I might do some research or troubleshoot some issues while my pair works through something else. Just like how factories use quality control in production, I feel more confident showing off my work because I know someone was inspecting it as I wrote it.

Higher Quality Code

Pairing also allows you to refractor your code while you’re writing. For example, I might argue that two CSS classes could really be combined into one while my pair continues to work. Another set of eyes to watch you code allows one person to think about the overall design while the other continues to produce code. Pairing allows me to tap into someone else’s knowledge about better ways to write code, as well as share experiences and resources.

Instant Feedback

Getting instant feedback is really helpful. These tight feedback loops can speed up the design process without losing quality. I also find my creativity is increased when I pair, as I might come up with a few undeveloped ideas and then have the other designers help me grow them. Don’t be afraid to share your opinion of your pair’s work, either. Just be sure keep it constructive and not step on your pair’s toes.

Put Ownership Aside

The old saying still holds true; there is no “I” in team. It’s not important who created what, only that the final design delivers on what the client wants. I believe in a design culture where collaboration is key and everyone helps each other out. Helping out in this way can be as simple as providing feedback that will lead to a better user experience or a suggestion on a layout tweak.

The success of a pairing session shares a common goal: work together to create an outstanding product that the client will love.

If you’re feeling stuck or in need of some inspiration, give pairing a try. It really helps me and I know it will benefit you too. Thanks for reading!