Why is communication so critical for us?
You can't deny that communication is critical not only in a software development company, but also to all companies providing any services or products. Communication in a software company has different aspects that need to be taken under consideration.
According to the Scrum methodology communication during a software development process is a must and it encompasses different aspects of development work. It appears the form of:
- Daily scrums - short meetings to discuss daily issues
- Sprint planning - usually one day of meetings which covers the scheduling and planning needs of the upcoming monthly sprint (if you have longer sprints, then you might check whether you are Scrumbut through filling our questionnaire to define how Scrum you are)
- Sprint review - meetings at the end of each sprint aimed at collaborating and optimizing values
- Sprint retrospective - a meeting organized after the sprint review to discuss improvements and how to implement them in the next sprint
So no communication or bad communication in a software development team means there are gaps in the software development process.
While I just emphasized on communication during the software development process that obliges mostly the software development team, still there are even more communication aspects that need to be taken into consideration in a software development company: bilateral personal communication between team members and management representatives (PM or company owner) is extremely important because it encourages motivation and good morale for employees; outdoor communication between employees, for example team buildings, also contributes to maintaining a good team spirit.
In addition to that, probably the most important communication is communication with clients because your business depends on their satisfaction. A good company may not have complaints by clients but in the few cases it might happen, will most likely not be related to code quality, developers work, ethics in the company, but will be related to communication. The client always prefers to be updated… in a timely manner. Therefore if you keep this in mind, the software development company you manage delights your clients.
Achieve client satisfaction through a regular communication with client representatives
The client feels involved when you regularly update them. They are relieved and you build trust when contacting them with your latest news about their project progress. The most important topics on which you need to update the client are as follow:
- Delay of development work due to unexpected issues - although your software development team is expected to catch up in a sprint timeframe, sometimes some unexpected issues that slow down the process may appear and it might take some time for the team to discuss them and take a specific decision accordingly
- A client's system is down, if you maintain or host a client's system that your development team has created - imagine how confusing it is if an angry client calls you to ask why his system is down. The best thing is to call them first and notify them about the issue identified with the system, ensuring that the software development team has already taken actions to resolve the problem. After that don't forget to update the client regularly in short periods about the fixing progress
- Your client’s work that you considered as low priority is at the end of the development team working schedule- and unfortunately you have forgotten to inform the client about that, supporting your explanation with “decent and reasonable” arguments.
Communication with clients is an important process during software development, it is a bilateral process, and therefore smooth communication with clients must be ensured in any situation.
Consider what to do to improve your communication process
Organize a meeting with the Scrum Master, the Product Owner and the senior developers to discuss the gaps in the communication with clients - what issues you came across, in what situations do they appear, what is the team doing to overcome them and check if there is any regularity and parallels among all cases and make conclusions.
You need to get the full picture and based on this create procedures, if necessary, which would be relevant to your development team specifics and your specific processes in the company. Ensure that these procedures will fit all your needs aimed at a smooth communication process with clients through giving them transparency and updating them, if necessary.
Very important and I would say obligatory to software development companies is the use of tools as part of the daily workflow and communication flow. There are a variety of them to be researched and selected based on price against value according to your specific needs. Some examples are:
- git- flow (GitHub)- extremely relevant to software development companies that are regularly doing versioned releases of products
- Jira– ideal choice for Scrum companies when it is about organizing the workflow of tasks that need to be “Done” during a single sprint into a Sprint Backlog
- YouTrack– similar to Jira, aimed at administration of software development team work and project management but focuses on query-based issue search.
Using tools is always helpful to keep yourself as an owner or a PM updated with the latest work issues and based on the available information in the tool to keep the clients updated about their product development progress.
A client's satisfaction is based on the quality of the final product which in all cases is related to regular communication with the client: discussing their requirements, updating them about the project progress, discussing issues with them and informing them about issue fixes.
In today's high-tech world you need to be aware of all sources that are aimed at supporting smooth communication. Use them in your daily work as they would only add value if you use them consistently and this will make your company really professional in the software development market.
What tools do you use and how do they help you in communication with clients?
Do you have special procedures in your company related to communication with clients?