When my company took on a significant project delivering production-ready code in the entertainment space, we moved faster than our clients expected -- and this created a problem.
Our releases needed hot fixes, but we didn’t have enough access to their code and environments to do a Q&A cycle. So, when the product we developed didn’t work, we didn’t have the tools to fix it. And what was their response to this lack of clarity?
“You screwed up -- why should we give you access?”
Communication problems between developers and business people have existed for almost as long as software development itself. In the past, this was exacerbated by the inaccessibility of technical concepts for nontechnical people and sometimes the isolationist attitudes of developers themselves.
Fortunately, this dynamic is changing as tech becomes more accessible and development processes become more transparent. Learning to communicate effectively with developers is essential for any entrepreneur in the tech space. Failure to do so will certainly cost unnecessary time and money -- and possibly lead to project failure.
The following tips will facilitate more effective communication:
1. Iron out expectations.
When discussing an upcoming project, be very clear about expectations for the end result. A concept called scope creep affects many technical products after an abbreviated set of features is initially scoped, but additional features are added at a later date.
Seemingly trivial custom features -- such as a new button or widget -- can actually be very time-consuming to implement (and can get harder and more labor intensive as development progresses). If changes must be made, try to request them as soon as possible.
2. Open up and listen.
Communication with a development team is a two-way street. Entrepreneurs who get caught up in defining products might miss critical feedback from their teams regarding feasibility and timelines.
Accurately gauging implementation costs for software projects is difficult, but it’s also something good developers work hard to master. Development teams are adept at providing clear and honest feedback when things get delayed or off track.
An entrepreneur’s reaction to this feedback is also critical to future communication. Focus on what can be done to remediate the effects of the delay, and avoid assigning blame unless it becomes a pattern.
3. Remember: You get what you pay for.
Developers are no exception to this time-tested rule, and business owners really do get what they pay for, with very few exceptions. The outsourced team charging $10 per hour may sound attractive, but if the project fails to meet expectations, it is likely to cost more in the long run.
This doesn’t mean companies should hire only in-house developers, or that outsourcing is bad. But expectations should be correlated with cost. Don’t expect cheaper junior developers to architect solutions without outside help.
Conversely, expectations for more expensive developers should be higher and include clear and concise communication, regular updates and robust architecture. Delays will inevitably happen, but with higher-priced, more experienced staff, they should not be a regular occurrence.
4. Understand your team’s methodology.
To manage reasonable expectations, it’s important to know how a development team works. Some teams still use the more traditional waterfall method of development, but most modern teams use some form of agile management instead.
These development styles each present radically different experiences for those managing projects. Waterfall development tends to turn out complete features developed according to strict specs. Agile development, on the other hand, turns out features faster but often requires several iterations to work out the bugs.
Understanding which style your team uses tells you whether to focus on the specs up front or on dynamic feedback as the project progresses. When critiquing agile projects, remember to avoid introducing scope creep by instead focusing on the original features. Those can be added to a future iteration. My company always accepts valuable changes by having dedicated teams for clients. This way, we avoid scope altogether.
These tips will allow tech entrepreneurs to develop productive and amicable relationships based on mutual respect and to build trust with development teams. As you improve at managing these partnerships over time, you can develop better products faster and more efficiently than ever before.