With 5.28 billion mobile broadband subscriptions as of the end of 2018, it’s safe to assume that developing a mobile app would open a company to a world of opportunities. This, however, is common knowledge which is why the app marketplace today is very saturated, creating a winner takes all environment. Breaking into this requires careful scoping, strategic planning and picking a top-notch software development team.
What’s important however is that you have a good idea of the end product you would like to receive as its owner. It is your idea and ultimately your resources that wills the software development house into action.
Its to aid in this that we ask the questions below from all our clients.
1. Do you have a project description or other resources?
Most of the clients we work with tend to fall into three categories, which is why the resources we need from them tend to be different.
- Brand new project – A project description as can imagine will go along way towards helping us understand what you require and how we can help create it. Such documentation will help narrow the expectations of the end product by yourself, ensuring we have a good starting point to create a list of requirements, scope and an estimate.
- The takeover of an existing project – such clients usually have the documentation we need to get an understanding of the expected end product. What would be very helpful here, however, is access to the code of the app that’s in development so that we can gauge what’s been done, what remains and where further improvements are needed. Remember, the more we know what we are dealing with, the faster we can take over and get down to the actual work.
- Updating legacy apps – keeping your app updated is essential, considering the speed at which operating systems are upgraded, security vulnerabilities that keep popping up and the fast-changing requirements of the end-users. The updating of such apps require us to have all the documentation that was completed during the development of the app and access to the code in order to see the scale of the improvements needed. Depending on this analysis, we might decide to refactor the code or even write it from scratch again!
2. Who is going to be using it?
Developing an app for everyone isn’t very strategic. That’s why we encourage our clients to get a very strong idea of the end-users they are targeting. Such information is important as it helps us create user personas and really narrow what is required. Think on the below for example
- Will creating an app that requires very fast internet be useful for end-users who live in a nation with low bandwidth speeds?
- Would integrating NFC payments make sense if the banks in the target country do not support it?
- Would having a paid app make sense in a market that has low purchasing power? Wouldn’t it be wiser to make the app free and earn income via ads?
3. Which platform do you want the app to be in?
With two giants such as Android and iOS fighting for each others market share, it might be difficult to make a decision on which platform to host your app. This is where you should really pay attention to the data and user personas of the typical Android and iOS user.
Let’s say that you would like you to be available on both platforms. How would you like it to be developed? There are two options
- Native app development- refers to the individual frontend development for iOS and Android, the world’s top mobile operating systems. This type of development is the most mature form of frontend development and allows users to benefit from all the device-specific hardware and software available (GPS, camera and microphone). It is also very high performing, provides the users with a very intuitive UX and produces fewer bugs during development. The development of such apps, however, can be rather costly on account of the dual development that needs to be done.
- Cross-platform app development- refers to the building of one codebase for the app and running it across multiple platforms such as iOS and Android. This concept of sharing code components across the two major operating systems is fast gaining traction amongst developers and clients due to its ability to reduce the development time and costs. Such development, however, is not a perfect solution as cross-platform apps are not able to take advantage of all the native hardware and software features as with those that were developed natively. Lagging performance is also an issue due to inconsistent communication between a device’s native and non-native components.
- Hybrid app development- refers to the development of an app using technology reserved for developing websites and hosting it inside a native shell. These apps need to be written only once to be supported across many platforms and can access native device features such as GPS, camera and microphone once permission is granted. Such apps as you can imagine can reduce the time and cost of development, making it suitable for projects that must be deployed fast. One must, however, remember that the native shell creates an extra layer between the source code and the mobile platform, hindering the apps performance and the developer’s ability to debug. Another issue that you should really keep in mind when opting to develop a hybrid app is potential UX problems in your quest to make it look and feel native (focus too much on the iOS UX and it will have repercussions on the Android UX!)
4. Who is going to be managing the development?
Every project needs a manager from both ends in order to ensure its completion on time and budget. This is vital as the agile development practices we use in our projects is heavily dependent on feedback from the client.
It would be ideal if the project manager is supported by someone with a technical background in order to verify the decisions and suggestions made by the software house.
If you don’t have someone who fits the above description (especially the technical expert), you might want to consider hiring a consultant to do the same.
5. How is your budget looking?
The cost of app development varies based on a multitude of factors. What we see most often however are the costs for the below
- Research – embarking on developing a project based on an assumption is a recipe for disaster, which is why we insist on conducting thorough research on the end-user before even working on a wireframe. There can be no compromise on this.
- Design – what use is a great app that no one can use? Investing in the design of your User Interface (UI) and User Experience (UX) is pivotal in your quest to make your app be top of mind with your end-users.
- Development – this one is self-explanatory but should be mentioned as it will weigh the heaviest in the estimate you will be provided. The development of an app is done using monthly sprints in most software houses. Each sprint will usually add a new functionality to the app, letting you monitor the bang you’re getting for your buck.
- Quality Assurance – no app should be released without testing it for bugs. That’s why the QA team who handles the testing for bugs and usability very important. Fail to do this and you will have an app that is abandoned by your end-users.
- Marketing – no one will download your app if you don’t market it. This is out of the software developers purview but should be given careful consideration.
- Updates – quite often the most forgotten part of budgeting for the development of an app. App updates are very important if you are to retain your users by stay relevant and useful to your end-users.
Remember to not get caught up in not showing your hand when it comes to the budget. Software houses are not out to exploit you and can only provide an accurate idea of the product you can develop as per the budget you specify. This isn’t poker.
6. When do you want it?
Yesterday is not the answer many software houses are looking for. Great products require good planning, execution, monitoring and updates that simply aren’t possible with a very tight timeline. What is ideal however is if you would let the software house know of why the app is being built and whether there is a deadline such as a product launch for which the app will be pivotal. The software partner can, therefore, work backwards on the development stages mentioned in #4 and provide you with an estimated date in which the product will be ready.
Keep no secrets and inform your software development house of why and when you need the product. That’s what partners do after all, right?
7. Do you have competition? From whom?
Research on your competition is vital and will serve as a good stepping stone to figure out what is working, what is not working and most importantly, what you can do better (do some digging at the complaints and requests for new features on their review section).
Don’t have direct competitors? Look for indirect rivals.
This information is vital for your software development partner as it gives an idea of the design standards and features that the end-users of your app might be used to. Being inspired by best practices is not a crime. Outright plagiarism, however, is just sloppy and could cause issues in the long run.
8. How will you measure success?
The development and launch of an app is no easy endeavour which is why encourage our clients to think on hard metrics that they can use to monitor and measure success. These key performance indicators provide all the stakeholders with a goal to strive towards.
This definition of success can be measured by either one or many of the metrics outlined below
- Income earned- does the rate of income match expectations?
- Number of users- is the number of users as expected?
- Session length- how long is a user spending on your app?
- App rating and reviews- how is your app being received by its end-users?
- Retention rate-what is the % of users who use your app during a certain period of time?
- Churn rate- what is the % of users who stopped using the app during a certain period of time?
We hope the above has given you some food for thought, as it’s never a good idea to jump into building an app without a clear idea of its expectations. The next step is for you to select a software development partner who can match or even exceed the commitment to your idea. Need a little help? We have an in-depth analysis of 10 factors you need to consider when picking a software house.