A good software developer won’t just listen to what you’re saying – they will also listen to what you’re trying to say and incorporate this into your planning.
You won’t need to speak geek because they’ll interpret your non-geek requirements accordingly. For example, they may recognize that two of your requirements are competing with each other, or that two could be rolled into one to save money.
Ideally your developer will also have an appreciation of the non-technical parts of your business, such as sales, and advise on how your product can be built to complement these. Remember that they’ve been building software for a long time and have seen a lot of successes and failures so their experience is a valuable resource. Make sure you listen when they speak up – good communication is a two-way street.
Finally, it helps if you have a personal rapport with the developer. It’s really important that you remain partners in the project and don’t devolve into adversaries. Clear and open communication is key to this. The best way I know to establish a developer’s communication level is to…. communicate with them! Organize a face-to-face meeting and make sure you have a chat about non-technical things too.
Many people choose to look offshore for a developer. Exchange rate differences between countries can save you a great deal of money when purchasing products or services, and this includes software development. For this reason, many western companies outsource their software development to places in Asia such as China or India.
The price offered by these offshore companies can be very appealing – I often see quotes at 30% of their western counterparts – however you must remember that this only represents value if the product is delivered to an equivalent level of quality and timeliness.
It is my experience that this is rarely the case. Specifically, communication becomes a major problem when dealing with offshore companies:
- The client and developers are usually in different time zones, so turnaround time on communication is massively slowed
- The developers do not always speak the same language as the client – certainly not to a comfortable conversational level. Many times the offshore company does have a fully conversant project manager, but this puts you a level removed from the developers themselves
To mitigate this, you must be prepared to write extremely detailed instructions in a manner that the developers can understand, which ironically requires a skill level akin to the developers themselves. This is why the companies that get the most value out of offshore development are other development companies that can outsource parts of their development process. My recommendation is to start with a local developer until you get an understanding of the development process and then slowly outsource parts of the project as you grow.
Communication is one of the most important factors to take into consideration when deciding on the right developer to develop your product. Spending a little extra time considering the communication between you and your developer of choice could save you in the long run.