App Academy

Software Stuff

Turning Disagreements Into Wins as a Team

Disagreements happen a lot in software engineering. That’s because everyone has their own ideas on how to solve problems, and let’s be honest, we engineers have strong opinions. But here’s the thing: disagreeing isn’t bad. In fact, it can help us come up with even better solutions and make us all better at what we do: they can be opportunities for growth and improvement. Here’s how to make the most out of disagreements, not just in software teams but in all aspects of life:

1. Ask for Feedback Early and Often

Got a new idea or project plan? Share it with your team early on. Ask them what they think. This not only shows you value their input but also gets you ready to hear different viewpoints without taking it personally.

Example:

Imagine you’re working on a new feature. Before you dive too deep, you share your initial plans with your team. One colleague suggests a different approach you hadn’t considered, which simplifies the development process. By being open to feedback from the start, you’ve saved time and improved the project.

2. Be Curious, Not Confrontational

Before you jump in with your own opinion, try to really understand where the other person is coming from. Ask questions. You might find out they have a point, or you’ll be better prepared to explain your own perspective.

Example:

Your team debates whether to use Technology A or B for a project. Instead of insisting on your preference for Technology A, you ask your teammate why they prefer B. Through discussion, you learn about B’s advantages in this particular context, which you hadn’t considered. This openness leads to a better-informed decision.

3. Talk Nice

Words matter. Instead of saying someone’s idea is bad, suggest an alternative nicely. Maybe start with, “What about trying this way?” It keeps the conversation friendly and open.

Example:

In a meeting, someone criticises your idea. Instead of getting defensive, you respond, “That’s an interesting point. How do you think we could address that issue?” This shifts the tone from confrontational to collaborative, opening up the conversation for constructive feedback.

4. Explain Your Thinking

When you suggest something different, tell them why. It shows you’re not just disagreeing to be difficult but that you’ve really thought about it and want the best for the project.

Example:

You suggest a new tool that you think will improve the team’s workflow. Instead of just stating your preference, you share a brief case study of how this tool increased productivity in another project. By providing context and evidence, you help your team see the value of your suggestion.

5. It’s Not About You

Remember, the goal is to find the best solution, not to “win” the argument. Keeping your ego out of it makes it easier to see the other side and find a compromise if needed.

Example:

During a code review, a colleague points out a flaw in your logic. Instead of taking it personally, you thank them for the catch and fix the error. This not only improves the code but also strengthens the team’s culture of constructive feedback.

6. Data is King

When there’s a tough choice to make, look at the facts and data. Decisions should be based on solid info, not just who’s been around the longest or speaks the loudest.

Example:

There’s a debate about which feature to prioritise next. You gather data on user requests and feedback, showing a clear preference from your user base. This data-driven approach helps the team decide objectively, focusing on what’s best for the product.

7. Pick Your Battles

Some things just aren’t worth arguing about. Like code style—it’s more important that everyone follows the same rules than which rules you follow. Save your energy for the big decisions.

Example:

Your project team is split over adopting a new code formatter tool. You prefer Tool A for its flexibility, but your colleagues are leaning towards Tool B for its simplicity and integration with your current workflow. After a spirited discussion, you all decide to run a short trial with both tools on different modules to see which one truly fits your needs better. This experiment not only resolves the disagreement but also turns it into an opportunity for team learning and exploration. Ultimately, the team chooses Tool B based on the trial results, and you support the decision, appreciating that the process led to a consensus built on direct experience rather than personal preference.

8. Stick With the Team Decision

Once the team decides, go with it, even if it wasn’t your first choice. And if you wrote down why you decided what you did, anyone new can understand the reasoning without starting the whole debate over.

Example: After a heated debate, your team decides to take a direction you’re not fully on board with. Instead of holding a grudge, you commit to the decision and work towards its success. Later, the decision leads to unexpected positive outcomes, reminding you of the value of team unity.

Whether you’re in a software team or navigating life’s many challenges, embracing disagreements as opportunities for growth is a powerful soft skill. It fosters innovation, strengthens relationships, and leads to better outcomes. By applying these strategies, you can turn potential conflicts into wins for everyone involved.

References

Getting Past No: Negotiating in Difficult Situations

Leave a comment

HOME

Hope you’ll enjoy Swifty Posts!