Use Negotiation for Healthy Pair Programming and Better Solution
source link: https://spin.atomicobject.com/2022/08/31/negotiation-pair-programming/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
How to Use Negotiation for Healthy Pair Programming & Better Solutions
When pair programming on a task, there are always a ton of problems thrown at you. They can be as large as developing a database schema, to as small as naming a variable. When you’re solving these problems with another person, you’re bound to have disagreements.
You shouldn’t avoid these disagreements. In fact, you should welcome them. That’s because dissenting opinions and ideas can bring about the best solutions. But, how can we effectively disagree while keeping a healthy relationship with each other? If we treat each problem we come across like a negotiation, we can use a step-by-step process to turn these disagreements into solutions.
Separate yourself from your ideas.
When two people have different ideas on how to solve one problem, it’s easy to turn one idea into your own personal position. That can lead to waging a battle with the other on which idea would make the “right” solution. This position-based approach can be dangerous to our egos. When we stake a claim on our ideas and hold a position on a solution, we tend to associate our identity with the idea. This can lead to destructive outcomes, such as feeling let down when our idea isn’t used. Also, a new interest in “saving face” comes into play. In other words, we can fear that the outcome of solving the current problem will affect future decisions we are a part of.
We can avoid this by treating each idea you generate for a solution as a product of the pair, rather than as an extension of yourself. By doing this, we effectively separate our identities from our ideas and bypass any destructive outcomes. Furthermore, the ideas become more malleable, so you can form them together into a better solution.
Leave binary thinking to the computer.
Another reason positional negotiation is unfavorable is that it may prevent you from reaching the best solution. When we hold a position on an idea, we start to think in 1’s and 0’s. We become attached to our idea and our idea only and fail to consider any alternatives. More often than not, the best soluctually a combination of both ideas or of many different ones. Remember that you and your pair have a common interest in solving the problem. State your objective: clearly identify the problem if it hasn’t been explicitly stated. Focus on your common interest of solving that problem. Then invent options to meet its needs as a pair, rather than sticking to one personal position.
Brainstorm, brainstorm, brainstorm.
When trying to form a solution to a problem, it’s important to generate as many ideas as possible. Then, you can cut and slice them away to come to one solution. If you’re struggling to come up with the best variable name to use, for example, one thing to try is to rattle off a bunch of potential names to one another. More often than not, the best name becomes clear once you say it. Or, it may be even a combination of multiple names. Even if a generated idea would be a grossly inaccurate solution, at least the pair can agree that it’s not suitable. That, in itself, becomes the criteria for selecting a better solution.
Rely on objective criteria.
When you and your pair have filled up a pool of ideas, it’s time to dive in and figure something out. It’s best to rely on objective criteria to decide which solution is best. These criteria can come in the form of documentation, blog posts from reliable sources, books, or even input from another team member. It’s important to stay objective so that each person stays separated from the problem, while both can still craft the ideal solution. Only when both agree on a solution should you move forward with it. And, if you hold any reservations, it’s important to speak up before moving on, or expect to bear the weight of your dissatisfaction. If either person needs further convincing, search for more objective criteria.
Use Negotiation for Healthy Pair Programming & Better Solutions
Solving conflicts for mutual benefit is something we are bound to experience while pairing. Use these negotiation tactics to make your conflict resolution more efficient, find better solutions, and keep the relationship with your pair and your team healthy and strong.
For further reading on negotiation tips and strategies, check out Getting to Yes – Negotiating Agreement Without Giving In.
Recommend
-
86
chronicles of pair programming 2 {turnoff.us} RSS.sign...
-
26
Betty Snyder and I, from the beginning, were a pair. And I believe that the best programs and designs are done by pairs, because you can criticise each other, and find each others errors, and use the best ideas. ...
-
13
Pair programming is amazing! Except... when it's not. • pairing • I wrote a blog post in March about
-
6
Pair Programming Podcast: Play in new window |
-
6
Dos and Don’ts of Pair Programming - Study Suggests Togetherness and Expediency for Good Sessions May 01, 2021...
-
9
Tips for Navigating Your First Full-Time Job: Lessons from a Year of Pair Programming We frequently use the term “driving” at Atomic to describe one of the developer roles while
-
3
Discord for Work? Yes! As we approach more than 400 days of working remotely for Atomic Object, we have tried numerous ways to pair program v...
-
9
Using the Socratic Method in Pair Programming I had a mentor once who was a delight to work with. He was fun and smart and brought great, enthusiastic energy to pairing. But he also approached the collaboration in a w...
-
5
Easy Guide to Remote Pair Programming Jul 05, 2021 13 min read...
-
12
Pair Programming and Code Reviews Can Work, Sometimes.July 30th 2021 new story5Inspired in response to Chris...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK