Development and maintenance of information systems is a big expense. In Ackee, we focus on the whole process of application creation from its specification through the design and development to the testing. That is why we know that the road from the idea to a finished app in the store can be complicated, long and expensive. So how to make sure that your application does not cost too much?
Do Not Reduce the Process, but the Scope
In case you would like to hear that in order to reduce costs, you can simply cross out design or testing, we will unfortunately disappoint you right at the beginning. From the long term perspective, crossing out in the process of app development does not pay off. Instead, you can try to reduce the scope.
Start by selecting your target group. Who will use your application and why? Try to describe what such a user looks like, what they are like and what they like to do. Try to imagine the user. Do you have the picture in your head? Now ask yourself if the user really needs the particular feature. That is more or less how user research is done. Even though the investment into user research can seem needless, in the end, crossing out useless functionalities will save you a lot more.
Side note: If you ask users whether they would like a certain feature, they will most likely respond they would. So for the question “Would you like to have the possibility to listen to music in our new e-book reader?”, you will probably receive a positive answer. But the question “Do you listen to music while reading a book?” might easily have a negative answer.
Especially in agile development, it is very tempting to implement every feature that somebody on the team comes up with. However, headlong adding of functions or feature creep leads to chaotic, complicated and very hard to use the result.
Think Through the Assignment
Now you know who you are making the app for and what it should do. Now comes the question how. A task assigned by a couple of words usually is not enough for designers and developers. The person responsible for the assignment does not deal with implementation details, but designers and developers must work with them all the time. If you say that you want search functionality for example, you have to have it thought through how the application will behave in case nothing is found or in case that millions of results are found. Simple concepts often do not have a simple solution, therefore it is necessary to familiarize everybody with your vision in detail. In the case that developers do not know the vision, they tend to create their own which does not have to be in line with yours at all.
Do Things Simply
There is a beauty in simplicity. But simple solutions are not so easy to devise. You have to invest significant effort and obviously time as well to think through all the options. And more so if the solution is supposed to be universal and robust to changes.
Requirements often change continuously throughout the development and with that the solving these requirements becomes more and more complicated. The further you are in the development process, the more complicated and expensive the solution of serious deficiencies becomes. A logical flaw found only at the testing phase is multiplicatively more expensive than a flaw found during the design of the application. That is why it pays off to focus enough attention to all phases.
And How to Make it Happen?
The most important person who can influence the mentioned factors is the Product Owner (PO). The task of this role is to take your vision and transfer it to the developers. That means creating their assignment (for example in the form of User Stories) and further work on it with them. During the process, this role can determine what is important during the product development and what is not. To know what you do not want from the product is often just as important as knowing what you do.
An experienced Product Owner can help you set up the roadmap of the project which will help you avoid the creation of the above mentioned feature creep solution. Without a Roadmap, agile development becomes more a ramble than a road toward a set goal. The role is to be the complex connection between the business and their requirements and the development.
Do Not Underestimate Technologies
Whether the application is developed by an internal team or the development is outsourced to an external company, the success of each project requires a strong technological partner. The chosen team can directly develop the application or just oversee the development. Without including the experienced team who is strong in technologies, you will needlessly examine blind alleys which can increase the costs significantly.
Therefore you should pay close attention to the selection of the technological partner who will be directly responsible for the technical quality of your application. A poor choice can lead to lower quality of the resulting product, technological debt and further costs.
It is possible to save on the development of a mobile application in many ways, but not all of them make sense in the long term. In case that you want to save costs in a smart way, think carefully about who is the target user and what purpose you are creating the app for. Put effort into the design of the application and favour simple solutions. In case you are unsure about anything, invest into an experienced Product Owner who will help you through the entire process.
In case you decide to cooperate with an external team, choose a partner that you can fully trust. During the whole process of app development, this partner will be the source of many valuable insights on what to watch out for or how to deal with different technological issues. If you take this advice, you will probably save time and money which you could otherwise use in the future for fixing ill-considered decisions.