Szymon Królikowski
•
16/1/23
•
6
min
Effective communication is a crucial aspect of any work, but it’s especially true for complex tasks such as software development. It allows team members to collaborate effectively and deliver high-quality products on time according to client needs, ensuring a stable and healthy work environment.
In WAYF, we work agile and strive to learn from our and others’ mistakes constantly. Below you can find our observations after some of our project retrospectives which made us improve our communication methods.
What we usually do at the beginning of our project is to set up a clear Definition of Done, Definition of Ready, as well as task templates. DoD is a method that ensures a common understanding of the “Done” increment. Thanks to the agreement between the team and client, what does it mean to treat our tasks as “Done”? We can be confident that there won’t be any misconceptions or unfinished work, corrections or improvements after the team closes a task. You can ask about it during the project kickoff or schedule a separate discussion to cover this topic. An example of DoD could be:
Contrary to DoD, DoR and task templates support a shared understanding of what exactly needs to be done within a certain task. Both may include a business description, documentation, design links, acceptance criteria, and other agreed points. Remember that DoR is a set of points that must be filled within the task to take it into progress, and task templates are concrete tools to ease its adoption.
Asking questions, even if they may seem "stupid," is crucial for understanding complex topics and problems. This is especially true in software development, where a lack of understanding can lead to costly mistakes and delays. Make sure you create a safe space within the team to encourage others, especially junior members, to ask what is unclear to them. Ask a few general questions to ensure everyone is on the same page with the basics. Remind your team that it is better to ask now than in a month ;)
Encourage open communication channels and avoid private messaging on project-related topics so that everyone is aware of the agreements made within the team. Even if you write directly to a person, do it on the project channel and mention him/her in a way others are just informed about it. If division, what should be kept on the channel from what is better to be written privately makes issues for your team - agree on its rules and post them within your documentation space.
Everyone knows the feeling of being on an inefficient call. It is a waste of time for you and money for your organisation. That’s why you should ensure that the meeting you attend needs your presence and, if so - what its goal is and how it will be structured. Even if you didn’t receive information like that before, check it with other attendees at the beginning of your conversation. Ask, for instance, “what is our goal for this meeting? What would we like to achieve? Who should participate in the discussion and who should be just informed about it?”.
Effective meetings are an essential factor of good communication, but in WAYF, we are most focused on async communication methods. Slack guidelines, well-prepared documentation, regular, written summaries or agreement over a certain time to respond are good ways to optimise your work.
In addition to these strategies, teams should avoid assuming everyone has the same level of knowledge and understanding. Don’t go into too much detail, especially concerning your domain, which is not commonly known by others. Be precise in wording but adjust the level of generalisation to the information recipients.
Effective communication is a critical component of successful software development. It is not easy and natural for each team, so following a few rules will help you to master them. What we recommend based on our experience coming from past projects is: setting up your own communication rules within the team, creating a safe space for free speech and asking questions, keeping it simple and transparent and paying attention to time which is often wasted during unproductive calls.
What is your take on efficient communication? Share your thoughts in the comment below.
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.