There is certainly no shortage of blog posts buried within the internet advising NOT to make price the main factor in the search for a solid, reliable app development partner. And the reasons for this are hardly scarce, either: hidden costs arising out of the shadows during the course of implementation; time spent deciphering cryptic language barrier issues to ensure proper understanding of objectives; questionable quality, etc. Yet, nonetheless, many companies today still continue choosing less expensive developers solely because they are… inexpensive, shall we say?
Unfortunately, shopping for the best price doesn’t necessarily mean a reduction in project costs but instead quite often leads to ghosted deadlines and expense overruns. Here we present the story of a location-based app project that Azoft started working on after it was handed off by another mobile developer who gave it a not so successful try.
Several years ago, a design company out of Australia came to Azoft with a fresh app idea. They wanted to develop an app that would allow users to easily locate friends and family using their iPhone, show routes on a map to their friends, and allow these friends to share their own locations. The app looked promising as there were very few location-based apps on the market along the same lines at that time, and so we started to put together a cost estimate for this potential client.
Project: Cost Estimate
The project included:
- Client for iPhone – development only, as design was provided by the company;
- Backend – which wasn't in the client’s plans but was required by the app’s user authentication function as well as for transmitting queries between iOS devices.
Total time estimate: 200 working hours
With all the implementation and testing necessary, the project would have been ready for the App Store in a matter of several weeks. However, the client contacted us saying that in the end they had instead chosen another development company, at twice less the cost – so we ended up losing the project.
Seven months later, we received an email from the client. The development team had finished their work, however the app still wasn't ready for official release: it still suffered from several critical bugs, it crashed, and it lacked certain key functions. Our development team suggested to first stabilize the app and then, if the client’s budget allowed (as the lion’s share had already been spent), incorporate the missing features.
We originally estimated 70 hours to rework the code and fix all bugs so that the app would qualify for inclusion in the App Store. After we started testing, it quickly became clear that 70 hours would not be sufficient: the app wouldn’t even launch and the coding quality was rather poor. It came to be that both server- and client-side aspects of the project required substantial reworking, and the final estimation tallied 100 working hours. This included the following fixes, and testing:
- Behavior stabilized
- Minor features added: made ‘Send’ button change to ‘Done’ after a location is sent; added sound and vibration to incoming message alerts; disabled modes for buttons, express replies upon request, etc.
- SQL injections fixed (required to protect database and server source code from corruption that could result from incorrect data being sent to server.Local Data Storage)
- Code rewriting
- Push notification testing and bug fixing
- Error processing
- App installation testing and bug fixing
- Correcting issues pertaining to empty or invalid XML files being sent over the iPhone
The key figures were quite disappointing:
- The app was released seven months behind schedule
- Cost was double the original budget amount
So even though our team managed to rescue the project and get the app into Apple’s App Store, the most valuable and irretrievable resource – time – was lost. In the interim several competing apps had been launched and were already gaining momentum in adopting users, severely challenging the odds of success for our client’s app.
However, this story does end on a bright note. Despite stiff competition, the app did manage to generate a decent following of users and currently it is still helping friends locate each other in the physical world. Resulting from the client’s decision to finally to abandon the dubious strategy of choosing a dev partner based on price alone, their project was rescued from the clutches of oblivion and we have retained this client ever since, successfully completing three more projects for them – on time, and on budget.