Rednaxela Terrace is a street in Hong Kong. The name might look familiar if you squint: that’s Alexander spelled backwards. How’d that happen?
English is written and read from left to right, but Chinese is read from right to left. The name was probably transcribed by a Chinese city clerk operating under their own understanding of language.
Similarly, many misunderstandings between entrepreneurs and developers come from differing expectations. We featured Andy’s crash course in developer-speak on the Modern Logic blog, and today, he’s providing Part 2. Let’s go beyond recognizing words to understanding the underlying expectations developers have when entering a new project. Here are 7 tips developers want YOU to know!
Developers Are Problem Solvers
Your Developer’s job is problem solving! You might have a great idea for a feature you want to add to your app- but the developer says no. Why not? Isn’t it easy? In truth, something that seems simple may be impossible. It’s because the job of a software developer is by-and-large assembling large, pre-built components into a finished thing.
For example, maybe you want a Map in your app. It’s easy to drop in a pre-built map component from Apple, or Google, or an open maps project. Now suppose you want to change the color used to fill in park areas on that map, or apply an overlay color that doesn’t obscure the street names. If the prebuilt component doesn’t support that, your only option is to create a new map component from whole cloth – something that would take years of work. So, adding a map might be an hour’s work, but something as seemingly simple as changing the colors on the map is years of work.
This is why a nifty feature on Facebook or Twitter might not be right for your app. Those companies have massive teams devoted to every single aspect of their app. The finished product is beguiling in its apparent simplicity, but underneath is tremendous complexity.
Prepare to Choose Trade-Offs
Quality, feature set and budget are all competing in any development project. You have to choose the balance.
That’s why it’s best to trust your designer or developer. Boring is better because it’s going to get you to your goals faster.
For example, ordinary buttons are easy to recognize, support accessibility (screen readers, variable font size), can be localized without additional complexity, and support automated testing. Platforms have conventions. Trust your designer to put features together in a way that users will expect.
If you’re new to software development, you may not realize how common bugs are. Mistakes are made all the time, which is why investing in time to test and fix bugs is critical to making good software. Pressuring a team to deliver more features without increasing the time and budget allowed means there will be more bugs. It might be a worthwhile trade-off, if the new features are essential to your customer journey. If it’s not core- is that worth the risk?
You’d be surprised at how often a small change can have unexpected consequences. In a worst-case scenario, tweaking a margin on some text could make some core functionality stop working!
Communicate Your Needs
The best way to communicate with your development team is to get down to brass tacks in the first meeting- avoid getting bogged down by the details. In the initial meetings, explain what the technology needs to do to make your business succeed. Focus on the big picture. Just choose one customer journey. Resist getting side tracked on fonts or colors or the login screen. All of this can come later.
Focus On Your Customer
You know your customer best! What does your customer really need? Remember: the first impression isn’t a deal breaker. A boring button does the job and gets out of the way. Predictable is professional- save the wow factor for where it matters.
Understand the Scope of Your Project
Dream big, but build diamonds. It takes intense pressure, heat, and time to make a diamond. You started the dream. Now it’s time to be bored, waiting for it to be built.
Try to be willing to let things stay in the backlog. Check in on your project. Ask yourself, “is this something we can do later?” Anticipate needing to make changes later on. Consider having a future planning discussion with a project manager separate from the weekly development discussions.
Remember: We’re Part of Your Team
Just as you want transparency among your own team members, we look for it from you. Don’t be afraid to take notes and ask questions. You aren’t a developer, so no one will be surprised if you don’t understand. Remember: we’re both working together to create a successful app in the end.
Take Home: Before Your First Meeting
Set yourself up for success in the first meeting by following these tips:
- Be able to explain the problem the app needs to solve. Give your development team a running start by being clear what your needs are.
- Tell us: Who is the first customer for your app? Knowing what that first customer needs will help make decisions.
- Pick a product owner who is responsible for communicating decisions to the developers.
- Don’t expect to build the app in the first meeting. Meetings are only one part of the communication process. Think about how you want to communicate with the team as you continue, whether it’s email, Slack, texts, or phone calls.