The 8 Most Important Questions You Can Ask a Mobile Developer
With so many software companies and mobile developers, how do you choose? The best way to start is to ask the right questions.
How to Make this Post a One-Minute Read
The TLDR section lists down the important questions you can ask when looking for a mobile developer.
To skip to a specific question, click on that question in the TLDR section.
TLDR:
These are the most important things you can ask a software developer or vendor before starting a project with them:
What industries do you have experience in?
How will you test my app to ensure its quality?
Will my software tests be automated?
What failover measures will you have in place?
Will my app meet quality guidelines for Google Play and App Store?
What does your non-disclosure agreement cover?
Will I have exclusive ownership to my app?
Where can I view your portfolio?
Once you have access to their portfolio, you can:
- Install their app
- Play around with it
- Find out if the user experience (UX) you had is the samee UX that you want for your customers
But there is one magic, fool-proof, solve-it-all question does not exist. To find out if a developer or software vendor is the best fit for your business, it takes some understanding of the software development process and asking questions that matter.
What industries do you have experience in?
This question helps you know which domain a programmer has expertise in. Domain expertise is a set of relevant skills, knowledge, and experience in a business niche. This matters because, as an example, developers who have an excellent portfolio in building educational apps are likely to be good at building your own educational app.
A software company that has experience in your industry is also likely to have customer affinity. Customer affinity is an understanding of what customers need and how they will use a software product. Good code do not mean anything unless it solves something. As Martin Fowler writes:
The real intellectual challenge of business software is figuring out what the real contribution of software can be to a business.
How will you test my app?
From a software development side, testing should cover code quality to ensure that the app is secure and can be efficiently updated or enhanced. From a customer perspective, the app should look good and accomplish the tasks it is intended to do.
Testing is almost synonymous with product quality.
Things you need to know:
Testing is not always part of an app development package
Some vendors charge testing as a separate service
Testing can slow down or speed up the release of your app
There are different tests for different mobile devices and operating systems
Types of mobile app testing:
Security testing. This validates whether an app is secure from attacks and does not leak sensitive data.
Installation testing. This measures how well an app installs and uninstalls on different devices.
Certification testing. This ensures that a mobile app complies with guidelines set by Google Play, App Store, and other platforms for application distribution.
Interrupt testing. This tests how an app behaves when it is stopped unexpectedly while running. An app needs to be tested how it responds when:
- the battery is removed unexpectedly
- a call comes in
- the network connection is lost
Ideally, a mobile app should be able to resume to its previous state after an interruption.
Usability. This tests how easy and efficient it is to use an app.
Compatibility. This ensures that an app works well on different mobile devices and operating systems.
Interface testing. This tests the buttons, navigation menu, and all the bits that users interact with. The goal is to make sure that the app looks good and feels good.
Memory testing. This ensures that a mobile app does not use up more memory than it is designed to. Because mobile devices have a more limited memory compared to laptops and tablets, memory testing significantly affects how fast and responsive an app is.
Approaches to Mobile Testing:
Automated. Automation is when a tester uses tools and lists of commands (called scripts) to perform tests. Automated testing makes it possible to release newer versions of an app faster.
Manual. A human developer performs the testing without the use of test scripts. Manual testing is often used for usability, ad-hoc, and exploratory testing.
Knowing these approaches, it is worth asking the next question:
Will my software tests be automated?
Automation allows for new software versions to be deployed faster. A software partner will usually automate tests in the following scenarios:
An existing software is upgraded to a new version.
A new build needs to be tested rapidly.
The same set of tests needs to be done repeatedly.
The same function needs to be tested for larger amounts of data and inputs.
Software needs to be tested how much load it can handle and how it will perform under heavier loads.
What failover measures will you have in place?
A mobile app relies on a primary system when it runs. However, a primary system is not guaranteed to work all the time. A system failure leads to poor productivity or loss in revenue.
It is important that your mobile app developer has a failover measure so that an app continues to work even if the primary system fails.
How can I get reassurance that my app meets Play Store's quality guidelines?
A mobile app needs to meet quality guidelines so that it can be published on Google Play Store. The same is true for App Store and other platforms for app distribution.
Outsourcing your software development can be a risky process. By asking the right questions, you can minimize risks and increase the chances of project success.
What does your NDA cover?
It is important to sign a non-disclosure agreement (NDA) or a written contract for copyright assignment. It is a legal document that declares your ownership of the app, its content, and the source code. This step is extremely important, particularly, if your application holds customized features or intellectual properties for your business.
Will I have exclusive ownership of my app?
The ownership of an app is a nuanced discussion. On one hand, you can argue that the functionalities, features, content and user flow that you pitched in should exclusively belong to you. On the other hand, a software developer or vendor can maintain that certain content and code used in your project belongs to them.
A software partner can also assert that they own proprietary technology used in building an app.
Additionally, a software developer or vendor can claim ownership to images and icons that they created.
However, you can assert that the icons and images that were specifically made for your app are part of the service that you pay for. The crucial step is to ask for an intellectual property agreement to determine ahead of time which parts of your app you can own.
Do you have specific questions about your custom software development?