🔝 Top 7 tips to optimize communication in a software project

🔝 Top 7 tips to optimize communication in a software project

Along my journey as a software engineer, I gathered some tips I wish I had when starting my career. Now is time to share it with you!

🗣️ 1. Over-communicate

That's very general, but also very true. Most of the issues you could find are mostly communication issues.

Do not hesitate to over-communicate. When you ask yourself "Should I give this information ?", the answer is always yes.

We are lucky to have asynchronous communication tools, so people can afford a fair amount of information and make the sorting by themselves.

📝 2. Summarize meetings

When a member of the team has a call with the customer, or a meeting with some developers, or any meaningful conversation, there must be a summary somewhere.

It helps the absent people to get the informations, and the others to remember what was discussed and decided.

At the end of the meeting, you should clearly know the upcoming actions and the person in charge, and write them down. Writing something such as "Jérémy takes the action of implementing this feature" will increase commitment to actually perform the task.

🚨 3. Raise alerts!

When something does not seem right, or you feel like the team is not going the right way, do not hesitate to tell it. You can tell it to your fellow developers, your project manager, or directly to the full team.

Most of the time, people share the same concerns but they do not actually tell it. By telling it, your team will be thankful, it will lower overall frustration.

Sometimes, just by discussing you will realize that there is no issue, sometimes there is something wrong and you will be able together to find solutions to fix the problem, or at least find the best alternative.

By raising an alert, you avoid silent frustrations and avoid mistakes that could lead to a big loss in terms of time and money.

Your managers will always be thankful for raising an alert.

💬 4. Setup appropriate chat channels

Here is the structure I like (on Slack for the example):

  • channel #myproject: everyone on your team is there, developers, product owners, designers. This is the channel for general information about projects, such as deadlines, global choices, meetings.
  • channel #myproject-backend and channel #myproject-frontend : all developers are there. In each channel, you will discuss backend or frontend accordingly to the channel name. We also put developers from another part of the stack because this way they can follow the discussions if they want to, and most importantly they can directly reach the other part in their own channel.

Capture d’écran 2020-12-08 à 16.05.11.png In this example, the backend developer writes in #myproject-frontend to announce a new deployment.

🤐 5. Avoid one-on-one communication

One-on-one communications are very convenient, but the drawback can be dramatic.

Imagine a team where people only speak using one-on-one, and you only get information that way. Even though it would be a funny experience, you will certainly lose a lot of information, and end up breaking the dynamic of the

🇬🇧 6. Use English only

A software project team should use the same language, and English is of course the chosen one. Even if you all speak the same native language that is not English, you don't know what the future is holding, and who will work on that project later on.

If you are an international team, there is nothing more frustrating than not understanding what your members of the team are telling because they use something else than English.

And finally, you will be able to improve your English level!

🙌 7. Acknowledge your failures and your successes

A team needs time to learn to work together efficiently. It is a known process in project management, often defined as the 5 stages of team development: forming, storming, forming, performing, adjourning.

team steps.png

To reach the "performing" step as soon as possible, you have to be honest with your team. You can use meetings such as retrospectives to identify the main issues in your organization. Do it often in order to continuously improve your team communication.

Also, do not forget to acknowledge your success. When the team, or someone in particular, does a great job, you must tell It! A good team is happy to work together because they are doing great work, and it is something you want to encourage.

Conclusion

I hope those tips will enable better communication in your projects and will spend some awesome time in that kind of team.

Please share some of your own tips or some examples of great moments you had on your projects!

Thanks for reading !