You are ready to get your app built, but where do you start? How do you find the right mobile app developer? There are lots of options to choose from large mobile app development agencies to freelance mobile developers and everything in between.
When you find your mobile app developer, how do you know they are the right one? This guide gives a few fundamental questions to help weed out the pretenders from the contenders.
Let’s start with the basics.
How do you store and share source code?
We share a Github (or BitBucket, etc) repo with you, so you can access and review our work at any time. We follow industry standard best practices for source control.
😱 When to run:
We will send code to you anytime you ask….
We do not need version control — we backup our machine nightly.
Bottom line on Version Control.
Awesome source repositories are available for free or close to it. There is no reason for any developer not to use version control for mobile app development. Your app source code is your a critical business asset. We suggest signing up for an account at Bitbucket (or Github) and inviting your development team to your repo. This way you never lose control of your code.
A non-technical product manager, may not understand the source code, but it is critical to have control of in case something happens to your developer.
How will you collaborate with our product team?
We provide regular weekly updates via video conference, are available via chat, email, etc as needed. We use _________ (Trello, SmartSheet, Basecamp, et al.) to manage our backlog of work. To start we will work with you on initial scope and priority of tasks to match your budget and schedule. Ongoing, you have access to this tool to monitor progress and reprioritize remaining work for your mobile app development.
😱 When to run:
We will send you the product when it is complete.
Bottom line on collaboration
Regular, scheduled updates are critical to success. Doing the wrong work will kill your schedule (and budget) faster than most technical roadblocks.
Work backlog (todo list) needs to be managed in a tool; otherwise critical items can get dropped and no-core features can creep up costing you time and money. There are tons of good tools and something as simple as a Google Sheet works for simple projects.
Collaboration is a two-way street, the best mobile app developer will fail to deliver if the Product Owner is not engaged and providing regular feedback. Make sure your in-house team is ready to support
How do you mitigate the OWASP Top Ten Mobile Security Risks?
We take security seriously at ________ and is huge subject. Here are five basic things we do make sure all our applications have a secure foundation.
- We use prefer to build natively on Android and iOS. This removes an unneeded layer and vector for attacks.
- Start new projects with the latest (stable) version of tools.
- Encrypt all data moving off the phone.
- Store as little data as possible.
- Request as few mobile permissions as needed. Less permissions also ease the app approval process.
😱 When to run:
Bottom line on Securty
Application security is big deal and it is a dangerous world out there. The risk is a function of your applications and business. For high-risk applications (very large footprint to attack or very sensitive data), security and compliance are problems best left to a team of experts. For the rest of us, use well known supported and secure tool chains and follow development best practices.
How do you plan to test the new mobile application?
As features are built out during mobile application development, we build automated tests to make sure everything stays working! We will roll new versions of the application from internal testing, to external beta testing and finally to general availability. We also instrument our code, to watch for problems that crop up in the wild because they will.
In most cases, we do rely on you, the product owner, to provide domain expertise to validate the desired functionality.
😱 When to run:
🤔 We click on few buttons but depend on you to test most of the functionality.
Bottom line on Testing
It is often said that👇
An untested line of code is a broken line of code.
Ok, maybe this is not said that often but it should be! Testing may add some work at first, but in the long run, it makes any project easier to build features that delight your customers instead of spending money fighting bugs.
At this point, both XCode and Android Studio have provided so much framework around unit testing and ui testing that it is no longer reasonable to claim it takes too long to generate tests.
How would you attack this problem? (after you explain what you are trying to do)
Do you have a whiteboard? I can show you…
😱 When to run:
🤔 Buzzword. Buzzword. Buzzword. Trust us.
Bottom line on Listening
If you can not explain your problem and the mobile app developer reflect back an understandable plan of attack — then things are not going to work out. This plan will be wrong and incomplete, a good developer can draw you a map of where the hard things live and what features are easy. This on-the-fly plan will not have a price attached and may have black boxes that need to be filled in by other experts, but it should make you comfortable that your development team can listen to you AND speak in a language you can understand.
Is that it?
What about technical chops? Red Black Trees? Bloom filters? Data compression? Technical skills are important, but projects are often killed by the simple things, so make sure you get that right first.
Orange Robot is customer software development firm that designs and builds native mobile applications and back-end server solutions.