DEV Community

Edward Huang
Edward Huang

Posted on • Originally published at on

How to Have an Effective Collaboration

Photo by Clay Banks on Unsplash

A software developer lies at the heart of a company's value delivery system.

We need to produce ideas with tangible value and gather new requirements by asking valuable questions to the stakeholder.

Translating everyone's desires into implantable action points while avoiding conflicts is key to becoming a pro developer.

Why Good Collaboration Helps you speed up Your Career?

It is important to have an effective collaboration to increase the quality of the product. Inefficient collaboration may cause increased lead times and quality issues with the product, and frustration within the company.

The best developers know when and how to create meetings so they don't waste everyone's time.

Software Engineers who are good at collaboration showcase leadership skills. Being seen as a great team leader creates trust and more opportunities for that individual.

effective collaboration increases success

Tips for Effective Meeting

Always Make A Meeting Notes

I will write down all the notes in my notepad during a meeting.

Sometimes, I screen-share my meeting notes with stakeholders on what I am writing while they talk. Toward the end of the meeting, I will recap or reiterate what they said based on my meeting notes.

Having meeting notes can help both parties to come back to it later to gain the source of the truth. When something is not clear in the later process of the project, we can come back to the meeting notes to understand what we have decided in the beginning. It also avoids any misunderstanding between both parties in the future.

If, at any point, they want the relevant stakeholder to reaffirm their request, they have official notes to do so. All this helps greatly avoid potential issues arising from bad/no collaboration. For example, a questionable feature is identified during a high-level meeting. If the software engineer is asked to explain the reason for its implementation, they must have a way to pass the baton to the stakeholder who raised the initial requirement.

Invite the Necessary People For Collaboration

Yes, you need to invite the correct people to collaborate effectively.

If it is a standup, you want to invite people in your team interested in information regarding status updates. If it is an engineer brainstorming session, there is no need to invite your director, who serves the project's accountability role, because they only care about making big-level decisions and signing off proposals.

RACI chart is a popular tool to identify various roles of people in the software development process. It organized people who attend meetings into four categories:

  • Responsible: those who do the job

  • Accountable: those who ultimately sign off on the job

  • Consulted: those whose opinions are valued but don't work directly on the job.

  • Informed: those who care about the status of the job

If you want to crank out a PR review, invite people who serve the role of responsible and consulted. You don't need other teammates not in the same project as you to be in your project's status meeting because it won't benefit them.

By knowing who to invite, you avoid wasting other people's time and make all of the party feel productive when collaborating.

Be Specific

Clarity saves people's time to think.

It cuts to the chase. Go straight to the point.

Research shows we are often too indirect and abstract.

A statement like "The project took longer than expected due to a change in approach." That might be revised as "Bob suggested another approach on the PR that requires a refactor in the codebase to make it more extensible. Although we need to extend the time to ship X product, it will be beneficial in the long term."

The same goes with the meeting description - it should convey purpose (what you want to get out of the meeting). It can be a message or a Google doc. If you are the owner of the meeting, write the agenda as if you were instructing someone else to run it.

Our words would carry more weight if we were more concrete and provided vivid images of goals. And our statements would also be judged more truthful.

Reach the Win-Win During Collaboration

All parties should come out of the meeting feeling they win something to achieve effective collaboration.

Why? A win-win situation helps all parties to do their best work because they are satisfied with the outcome of their meeting. If one party is not satisfied with the outcome - even though they committed to do the job, they are less likely to try hard to make it work. Because no one wants to work on someone else's idea, they all want to work on their idea.

When it comes to differences in opinion, it is always better to understand the motives and needs of one another.

When you understand their perusal interest and thoughts about the idea, you can explore their vision and ultimately get more favorable results.

Harvard Business Review has researched effective collaboration, and that teams who can arrive at an optimal solution to a problem are those whose solutions satisfy all the team members. They ask students to work in pairs to collaborate on dividing the orange. Each partner is told, without knowing the other's knowledge, the purpose of the action. The pairs who can achieve optimal solutions are the ones that are open about their interest in each other and are transparent when exploring solutions together.

Investigate your team's members personally by actively listening and asking questions, letting them know that you understand their needs and are trying to devise solutions that create more value.

Understanding other motives helps you construct a better contract and deal for the team.

Final Thoughts

Effective collaboration is important to be a successful engineer because an important part of the job is to gather, understand, and finalize requirements.

Without effective collaboration, you cannot showcase your impact to your manager because of a lack of visibility. It hurts your software engineer career and lowers your chance of getting promoted.

Collaboration is not an innate ability that some are better than others. It requires conscious awareness and deliberate practice to communicate between teams, understand each other's personal needs, and speak with clarity.

Putting these four tips into your collaboration tools arsenal allows you to collaborate effectively and become a great leader.

šŸ’” Want more actionable advice about Software engineering?

Iā€™m Edward. I started writing as a Software Engineer at Disney Streaming Service, trying to document my learnings as I step into a Senior role. I write about functional programming, Scala, distributed systems, and careers-development.

Subscribe to the FREE newsletter to get actionable advice every week and topics about Scala, Functional Programming, and Distributed Systems:

Top comments (0)