There are many agencies out there that offer development for mobile applications, but how do you choose the right one? The development of an app tailored to specific needs is not a commodity with clean parameters that can be acquired as easily as office supplies.
When you want to obtain software of a high quality
It’s more or less similar to a legal representation service where it is also impossible to define the scope of work and price of the legal case beforehand. Moreover, some agencies, especially the better ones, wouldn’t even respond to demands that specify the tasks and ask for a definite price. Instead, they prefer time & material contracts and more agile development techniques.
To choose an agency to work with is quite a complicated decision-making process where many factors must be taken into consideration. However, if you pay kind attention to them, it will help you enrich the final mosaic.
The times when an application could have been created by one developer are gone now. With the expansion of this field the number of people who are needed in the developing process is increasing. Ask your agency if all working positions are taken care of. It is absolutely OK to require CVs from all team members.
All these people need to work together, thus team communication is crucial. Although there are a variety of online communication tools, the best ideas are still born around the office coffee maker. That is why the best-synchronized teams all work together in one room.
If you are hiring an agency always ask for a well-synchronized team. The body shopping can be done for you by freelancers who would require lower rates.
To bring the design and programming departments to work next to each other is what makes a big difference in the development itself. Not only does it save time and lower risks because feedback can be delivered more effectively, but it also increases the quality of each step. The project manager can keep an eye on the priorities and shape them accordingly to the current situation more easily while working with an on-site team.
Outsourcing does not go along with quality, which is the reason why we at Ackee never outsource, and our team members always sit together in a shared office.
Another important aspect is the technologies used by the particular agency. As mentioned earlier, compared to bodyshopped freelancers, the agency should provide clear benefits, like substitutability of workers on all positions. As a client you shouldn’t even notice that there are some issues like sick days, days off or resignations. The prerequisite that can guarantee this to you is an integrated technological stack that is commonly known to all programmers (and sometimes designers as well) because all projects have the same architecture. At Ackee, it is MVVM and reactive programming. The Stackshare should not be the only thing visible, but also internally used tools like Github, for example.
Technologies used by the agency to build your software should always be up-to-date or even better: ahead-of-date. At Ackee for instance, we started to work with the programming language Kotlin half a year before it became the official language for Android – if it works like this, the client gets an app with a longer technological lifetime. Don’t fall for the agencies that are working on already receding technologies – it might seem well functioning now, but you are preparing yourself for a huge technological debt accompanied with increasing future costs.
The more technologies the agency is able to execute in-house, the less effort is needed to coordinate other subjects, the less friction areas appear and logically the fewer problems occur. It is essential to have an in-house backend team and an agency that can handle the newborn app with tools for continuous delivery as well as support from a DevOps team. You don’t want to pay the agency for the hours spent on every testing version of the app, do you? The designers’ job should be visible as well. Ask for the company profiles, such as the one on Dribbble.
At Ackee, we invest a lot of time and resources into technologies. Our programmers and designers frequently visit various conferences and we also lead internal researches and training programs. We open-source most of our know-how and share it on our blog. Our goal is to be the best in the field we are working in.
The last chapter is references. Don’t be fooled by the epic logo wall on an agency’s website; ask them what the original project was concretely about. Find out whether the agency delivered the complete package (draft, design, programming and service) or only worked on a partial order. Demand the contact details of the previous client and make sure the agency is telling you the truth about their collaboration. If they’ve been sincere with you, they should be happy to provide the details.
Last but not least, it is important to make sure that the agency has experience in your field of interest. Technologically there are not many differences across the different branches, but it is always a plus if the agency can provide a know-how that concerns your field. This is extremely important in integrative projects such as digitalization.
After 6 years of existence, we at Ackee have gathered a portfolio full of apps from a wide range of contexts, ranging from dating to banking.
If you tender an alarm clock with only one screen for your clients’ campaign or a banking app with an SAP integration, you are probably about to start a long term cooperation with the agency because, honestly, something like a final scope does not exist. If you want a good result, don’t underestimate the tender. Remember it is a technological process; don’t listen to the numbers only. Only after that the result will be worth it.