Effective communication is arguably the most important aspect of a custom software development project. Good communication facilitates teamwork, while a lack thereof can stop a project dead in its tracks.
Getting information across and being understood in turn is key to a successful IT project implementation. The client communicates their needs to the developer, who must translate those needs into features that work with the chosen technology. Once underway, regular, two-way communication keeps a project moving along and allows you to discover issues earlier than you otherwise might.
It’s an axiom that the earlier you discover an issue, the easier it is to fix.
Here are some key ideas about how to communicate effectively with whoever is developing your information system.
1. Be respectful and honest.
Above all else, everyone should communicate respectfully and honestly with each other. Honesty means airing differences of opinion or bringing up issues as soon as they come up, and respect means focusing on the situation or behaviour rather than zeroing in on the person.
2. Provide as much background information as you can.
This could be in the form of documentation, reports, business rules, and old-fashioned conversations. The better the developer understands your workflow, the more effective the application will be in the end.
3. Devote regular attention to the project.
Communicate on a regular schedule, check-in to make sure things are on track. This might be weekly, biweekly, or daily, depending on the stage of development.
4. Decide on channels of communication.
Will you have conference calls, meetings, or video chats to discuss progress? Will problems be addressed between meetings by email? Who is taking care of what kind of requests? Is there a particular network that is convenient for keeping stakeholders up to speed?
5. It doesn’t have to be fancy.
A numbered list of items in an email is the most basic form of feedback. Separate and number the individual items, don’t bury them in a long paragraph with many other topics to be addressed. The important thing is to be clear about what needs to be addressed and by whom.
6. Focus on one area at a time.
If possible, deal with early issues before moving on so that effort is not spread out over too many areas at once. Establish key, required features as completely as possible, and expand from there. On the other hand, if one or two issues can’t be resolved until more development has been done, it’s reasonable to set it aside and come back to it later.
7. Be available to reply to questions promptly.
That way the developer doesn’t get stuck waiting for an answer, possibly stalling progress on the whole project.
8. Ask detailed, open-ended questions.
Often, answers to complex questions don’t fit into a neat “Yes” or “No” format, but rather “It depends.” Allow developers to explain the pros and cons of a particular approach. Make sure you understand the factors involved that affect the outcome. There could be questions of usability, development time, complexity, or technological constraints.
9. Ask the question a different way.
Try rephrasing the question if the first answer seems unclear to you. Sometimes asking the question a different way leads to a more complete answer.
10. Be as specific as you can.
When giving feedback, saying “It didn’t work when I clicked a button,” is not as helpful as “I was on the invoice layout and I clicked “Print”, but got an error message that said the chosen printer was not available.” The more detail you can give, the easier it is for developers to identify and fix problems.
Go forth and communicate
Keeping communication going throughout a custom software development project is key to making it a success. Sharing information is important so that team members can fully understand the requirements, be responsive to issues, and ultimately, create a more effective product.
Devoting attention to regular communication shows others that you care about their contribution to the project and encourages them to be open with you in turn. Being open and available means that people know they’ll be dealt with honestly and with respect for their skills. When everyone’s pulling together you can achieve great things.
Click here for a case of bad communication!