Incipia blog

Tips on How to Talk to App Developers

Gabe Kwakyi | February 6, 2017

To the non-technical world, developers can often be considered pedantic, fastidious or any one of many other non-flattering adjectives for difficult to deal with. Indeed, the gap in communication between developers and non-technical folks was so wide that it gave rise to an entire role dedicated to bridging this gap (project managers).

Yet, communication is a two-way street, and part of the breakdown in communication can often stem from the non-technical person’s side. For example, developers can easily become frustrated by a non-technical person's inability to adequately explain what they are looking for in specific details. Because the developer will be the one responsible to write the code and logic for the app, it’s important that they have a crystal clear understanding of what the vision is, rather than a vague idea that was not fully thought-through.

Issues can also arise around the implementation of a stakeholder's idea, wherein the developer may provide an estimate on time required to build for the vision that was articulated, only to left confused when the timing or cost fail to match the non-technical person’s expectations. In this case, rather than becoming fixated on the mismatch of expectations, it may be best to ask if there are alternative methods to accomplish the same outcome, which better align with the expectations on timeline or cost.

Read on to learn several best practices that can help your conversations with developers bear more fruit and less frustration.

Don't Try to Explain How to Build The App

First, it’s important to remember the fact that the developer is the expert whose opinion and help you're seeking to build your app. The most important role for you is to clearly articulate your vision in simple, non-ambiguous terms, mention any expectations on timeline or cost you may have and to answer the developer's questions on implementation specifics.

Let the developer tell you how to build the app and refrain from trying to extend to them your ideas as to how the database should be structured or how the search system will work. As the expert, it’s also the developer’s role to let you know the workload involved in adding a certain feature, so unless you have a strong technical background, check your opinions on what features are simple at the door. Consider the fact that being able to explain a feature simply does not always mean that it’s a simple feature. For example, building a rocket that can fly to the moon is easy to say, but in reality is a process that is so incredibly challenging a science that it gave rise to a popular idiom describing something that is highly complex. You may mean well in trying to become an active part of the process, but more often than not it will undermine your relationship with the developer you're talking to and build a divide that will cause them to view everything you say with a dose of skepticism.

Instead, get curious with the developer and ask what they think the best way to build your idea is. By inviting the developer to bring their expertise to the table to discuss the idea you are bringing to the table, it will go a ways to building a working relationship built on respect. While making assumptions is a bad practice, giving feedback once the implementation conversation gets going as to whether the developer is on the right track is a good practice, as it helps provide the developer with guidance and confidence as they figure out the best approach to bring your idea to life.

Don't Underestimate the Workload Involved

Related to the first point, it’s important to come into your conversation with the right expectations on the workload involved. The Internet is a wonderful thing, but like WebMD is not as sufficient as a doctor’s diagnosis, Quora threads are not sufficient for figuring out how much time or money will be involved in building your app. The price for your app will depend on your scope, timeline, design, integrations and many other factors unique to your vision.

The simple fact is that apps aren’t cheap to build or maintain; there’s a reason that developers are some of the highest paid professionals in the world. While you can save costs by hiring developers with less experience or from other countries, be aware that the opportunity cost often ends up being cost vs. quality.

To understand why apps cost so much to build, consider the fact that writing the code that turns your idea into app form is not the only thing that you are hiring a developer to do.

You’re also hiring them to come up with an architecture that makes the most sense given what you’re looking to create. Don’t forget that you will need a UX/UI designer as well, to create the design blueprints and graphics that the developer will need in order to create your app.

There is also work involved in gracefully handling any errors that can and will pop up, such as when a data source fails to send the requisite data (e.g. losing service), when users provide incorrect inputs (e.g. incorrect password) or when a user’s phone has run out of storage space. Error handling requires additional code to be written that does not expand the app’s functionality, but rather ensures that your app’s user experience doesn’t suffer when errors inevitably occur.

Testing the app to iron out the bugs is also something that developers must do when building an app. Furthermore, the larger a project is, the more logic is interwoven throughout the code, meaning the more moving pieces there are and the more chance there is that unanticipated results may occur. Bugs will slip through even the best developers’ fingers and QA processes, and it will take time to find, identify a fix and write the fix code for bugs that arise.

Acknowledging that building apps is a complex task and respecting how much work may actually go into building your app will help you maintain a mindset that any developer you talk to will most certainly appreciate. Additionally, asking questions and getting curious about complexities, rather than making assumptions and belittling the complexity of the work will help you start off on the right foot and form better relationships with developers.

That said, it’s possible that the developer you are asking to build your app (as in any industry) may try to take advantage of you by charging an exorbitant rate. If you are inexperienced in app development, begin by preparing yourself to hear a higher cost than you are probably anticipating, and then talk to another developer or technical person that you trust in order to help you vet the quotes you receive.

Do Squash Ambiguity

One of the things that will drive a developer most batty is when ambiguity exists in what you’re asking for. For many features, there are numerous ways to implement them. Consider a real-world analogy: the act of tie breaking. While the solution to breaking a tie may sound simple, the NFL, MLB, NHL and MLS all use significantly different approaches to doing so. So it goes with, say enabling users to be matched to one another based on their profile information. Developers will not want to take on the responsibility in deciding which attributes of a profile are eligible or more important than others when matching — as the product owner, it is your role to work out the details of your vision and communicate those to the developer.

Do Consider Flexing on the Implementation

In the end, your product vision is being translated into mobile app form, yet as in the above point, there are a thousand ways to skin the proverbial cat, meaning there may be a less difficult/costly/painful way to achieve your vision than you may at first think. For example, requiring your app to use a nested style navigation, rather than a tab bar navigation may end up being more difficult to implement or produce a worse user experience.

Even if you have a solid idea of how you want to implement the features of your app, if you take the initiative to express to your developer that you are open to considering alternatives, it will impress them and empower them to leverage their expertise to determine the best course of action for your app. There are many times when developers (or designers) may outline one approach for a feature, yet after other parts of the app are built and the rest of the app begins coming together, it may be advantageous to change those outlines. This is a good thing rather than a bad thing, as it means that your app is being forged in a more informed process, rather than being built to spec for a set of assumptions established before the development process began, with less information on hand. Telling your developer that they have some flexibility on implementation, so long as the proper outcome is satisfied will build a more positive relationship.

Good Ideas for Both Sides to Keep in Mind

One of the simplest tips is to abstain from using acronyms or jargon, like “user provisioning,” “scale” or “generic implementation.” Assuming that the other side is not familiar with the terminology that you are comfortable with will help prevent either side either becoming overwhelmed or feeling stupid for having to ask to define something said in a way that appears obvious, both of which shut down communication.

For concepts or ideas that may be complex, it’s also a good idea to over-explain them until asked to move on, rather than assuming an explanation is sufficient without being told so. We encapsulate this idea is by sometimes asking people to “explain it to you as though you're explaining it to a fifth grader.” By concentrating on conveying the idea in a form so pure that even a child can grasp it, you can avert the jargon, context or particulars that are less understandable to the other person, focusing their attention on the right things. Of course, details are eventually required in order to squash ambiguity, but at first it's important to convey your idea in a form as simple as possible, to allow the developer to wade into the pool, rather than pushing them into the deep end.

That's all for now, folks! Be sure to bookmark our blog, sign up to our email newsletter for new post updates and reach out if you're interested in working with us.

Incipia is a mobile app development and marketing agency that builds and markets apps for companies, with a specialty in high-quality, stable app development and keyword-based marketing strategy, such as App Store Optimization and Apple Search Ads. For post topics, feedback or business inquiries please contact us, or send an inquiry to