Communication Skills: A Core Part of Software Engineering
When you imagine a typical software engineer, what do you imagine? A grim-looking, withdrawn person in glasses, who enjoys coding quietly, alone, and hates having to interact with other people? This stereotype should be long gone soon, as the software development world is changing, and soft skills like communication are on the rise.
All modern software development frameworks emphasize the importance of communication. One of the core values of the Agile manifesto is that “individuals and interactions are more important than processes and tools.” Does that sound counterintuitive? Let’s analyze what is behind this principle.
Imagine the following case. A software development team utilizes Scrum methodology. In the middle of the sprint, the product owner tells the project manager that another feature has to be added to this sprint. He recently learned that a competing company was going to deliver a similar functionality soon, and the team needs to implement it before the rivals to avoid being left in the dust.
The process tells us that no items can be added to the sprint after it has already started. However, the project manager understands the business need for such a change. She gives a rundown of the situation to the team, and they are motivated by the feeling of competition. The sprint is restructured, the feature is added and implemented, and even though another user story is postponed until the next sprint, the business goal is met. Everyone wins.
For another example, let’s have a look at software development lifecycle. It starts with preparing requirements. What if the product owner fails to convey his ideas clearly? The result may be a product that is vastly different from what he had in mind. After requirements are ready, the developer needs to study those carefully to design each feature. What if she sees any inconsistencies? If the developer fails to communicate these inconsistencies effectively to other members of the team, it can lead to major issues down the road. What if during testing, a quality assurance engineer describes bug improperly? A lot of precious time might be wasted.
As you can see, the software development flow requires regular and proactive communication in order to work smoothly.
Going back to scrum, each event that is enshrined in the methodology promotes effective and ongoing communication within the team. First of all is the “daily scrum,” where team members share updates: what they are currently working on and what they are planning to do in the next twenty-four hours. During this meeting, teammates discuss potential obstacles and their solutions. If it’s done well, this meeting ensures everyone on the team knows exactly where each other stands and can collaborate into resolve impediments.
Another important type of meeting is the retrospective, which is dedicated to analyzing the previous iteration’s upsides and downsides and creating a list of action items for future iterations. Through this process, the team has an opportunity to express their feedback and propose ideas for improvement. The scrum master’s main goal here is to have all participants actively involved, creating an environment in which everyone’s opinion matters. The scrum master has a similar goal in planning events, facilitating meaningful discussions to resolve disagreements and ensure the team is united in its estimation and understanding of the upcoming work.
These are just a few examples demonstrating that contemporary frameworks are based on the values of communication, collaboration, and transparency, which empower everyone on the team and make sure that everyone is heard.
All leading software development companies are trying to create an environment where communication is valued and viewed as a key team asset, where employees know that speaking their minds is safe and, moreover, appreciated. And research has shown these efforts paying off, in the software development industry and beyond: companies with effective communication strategies have 47 percent higher returns to shareholders, as well as lower employee turnover.
But how do you build such an atmosphere of trust and openness? The strategy may differ from company to company, but here’s how we do it at Syberry.
- We have an open-door policy. Any employee can turn to any other member of the company, including top management, to discuss the issues they deem important at any time. No need to wait for the next scheduled meeting.
- We keep in mind that it is better to overcommunicate than undercommunicate. Stanford university held an experiment that found that, even though 50 percent of communicators believed they got their message across, 2.5 percent of them were actually successful. Thus, when describing an idea or giving feedback, we encourage team members to make their narratives very detailed and take extra steps to ensure their audience understands the concept exactly as the team member intends.
- We provide all feedback in writing as well as verbally, because we know that if we rely solely on verbal communication, we run the risk of details being lost.
- We have clearly defined areas of responsibility: every team member knows what is expected from them and to whom they can turn in any given situation. This prevents us from losing precious time clarifying miscommunications.
- We use the most progressive and convenient tools for day-to-day communication, such as Slack and Microsoft Teams. Using these messengers gives many benefits: team members can meet online to save time, all essential information and updates are stored in the communication channel history, and other relevant documents — like planning documents, action items, and others — can be stored in the platforms for easy access.
- We organize regular teambuilding events. When company employees communicate in an informal atmosphere and get to know each other from a personal perspective, it boosts team spirit and contributes to higher trust.
- We provide our employees, especially those in management, with the opportunity to take communication courses on various educational platforms such as Coursera.
We will continue to expand this list to improve our team communication, as we realize that this skill is the heart of any flourishing business. Fortunately, the agile methodologies we apply are assisting us in accomplishing the mission.