jump to navigation

Ramblings on Peer Collaborations September 27, 2015

Posted by Edwin Ritter in Project Management.
Tags: , , ,
add a comment

If you had the choice to work alongside someone or work alone, which would prefer? I know, the default answer is “it depends”. What if your experience was more agile team based or some collaborative approach with peers rather than working alone? What your answer be different?

In the increasingly Agile world, peer collaboration to deliver specific tasks will become more popular going forward. With one person being the driver that focuses on the tactics, the observer or navigator can focus on the big picture and strategic aspects.

This approach not only applies to programming –  it can be used in multiple parts of the organization. Examples include : finance, purchasing, engineering, sales and project management.

Working in pairs

Working in pairs

A brief overview of the Pair Programming technique includes:

  1. Start with a reasonably well-defined task before you sit down. A key part of the process is to get common understanding of current state and what the impact is with the task you will be working on. I also submit this includes support and debug (in whatever form that is) responsibilities after delivery.
  2. Agree on one tiny goal at a time Keep it simple – Define the approach, ensure you understand the task. This can be a visual of the workflow, a verbal review of the steps and/or a formal write up posted to a common repository. Agree on the best mechanism that works best with your partner and you to complete your goal. As you define the goal(s), you will find that you will…
  3. Rely on your partner, support your partner. A major benefit in this approach is to tap into your partners’ expertise. Also, your experience and expertise can compliment your partner.Stay committed and focused on the task at hand. When you have a partner with different skills, here is where working together pays off. Together, you both are smarter than when working alone. Use that to your advantage to define a solution and improve it when you….
  4. Talk a lot! Think out loud and often. In the early stages, you need to get the ‘creative juices’ going. Bouncing ideas off each other helps to sort out what is and is not feasible to solve the task at hand.
  5. Sync up frequently.  Avoid dominating the conversation and direction. Get feedback, ask questions and confirm you both have a common understanding. Work both the tactical and strategic levels and ensure agreement.
  6. Take a moment to celebrate as you complete tasks and overcome problems. Victories are always short lived – All too often, being successful gets overlooked. Take a moment to bask in the glow of your accomplishments. You probably learned a bit about yourself and your collaborator as well. Feel better? Good. Now, get back at it!
  7. Switch roles often—at least every half hour. Related to the driver and observer. As a guideline, switching on that interval may or may not be possible. Define a reasonable interval works for you both and then adhere to it. This may take some time initially to sort what works best. It may also impact office hours and the time commitment you both are willing to make for this effort.

I have use this approach with success in the past working with peer project managers.  I understand the hesitation by management to use this approach and to be successful.  Collaborating requires a higher level of trust and commitment up and across the organization. By definition, collaborating is a more social way of working that combines strengths and can reduce development cycles. The result is a better work product with fewer defects and delivered in a shorter time.

There are many sites that provide details on this agile technique. Here are a few references to get more background :

  1. How To pair Program
  2. Guide to Pair Programming
  3. Pair Programming

Comments invited. Are you comfortable working alongside someone? Would your management support this agile approach?