About once a week, we receive a call from an individual or company with a mobile application that's been built by a development agency and the relationship has broken down. More often than not the agency is offshore. They’ve lost contact with the developer, it wasn't built to the specification or the quality is not up to the expected standard. Typically we’re told that the app is 95% ready but the client is struggling to get the app over the line and ready for release:
"The short story is that I've spent £20k on an app that has been plagued by poor code quality: poor app performance, bugs that appear when previously fixed and very slow turnaround times on simple changes. I need to finish the app and fully launch it. I've still got seed funding to complete it. The risk of continuing with the current supplier (who I really want to succeed) is too great. "
A trusting relationship
A mutually trusting relationship is the single most important factor when outsourcing development of your product to a third party. You need to trust that they’ll make good decisions on your behalf and they need to understand that you trust them to do so. A breakdown of trust is the only reason that we would part ways with a client. The following four steps outline a few things you should consider whilst making your decision.
Step 1: Meet the developers in person
The first step to making a good decision is to always go and visit the development team at their office, in person. Make sure you meet the developers and not just the business development manager or project manager. Meet the individuals who will actually be building your product. This doesn’t rule out an offshore team. If you are investing the amount of money required to build a mobile app, then you should factor in the cost for regular overseas visits.
Making an initial visit is an important first step to building a good working relationship. It also allows you to assess if there is a good cultural and professional fit. A trusting, long-term relationship is only possible by having regular, face-to-face contact.
Step 2: Agree a Payment Schedule that protects you and the developer
Don’t pay lots, but do pay some money up front. Agree a schedule that means you make small payments throughout the project. If you are getting early signs that the relationship isn’t working, you can go elsewhere.
Step 3: Ensure regular access to the Source Code
You don’t want to be in a position where you’ve paid a load of money (even in increments) but you lose contact with the developer and you can’t get access to the code. Protect yourself by agreeing on a schedule for Source Code delivery or access to the developer’s repository.Having access to the code also means that you can review it yourself, have it reviewed by someone else in your organisation or by a third party. You want to be sure you are getting what you paid for and the code is being written to the standard you expect.
Step 4: Confirm the architecture of the project and the development process in advance
The architecture of a mobile application dramatically affects the likelihood of another developer being able to take it on in the future. It is important that industry standards are used; for native mobile apps this is currently MVP or MVVM.
It is also important that you talk with the developer about their process. Ensure they include steps such as peer-review, automated testing and manual QA. Having these conversations in advance will give you confidence that they are building to the latest standards. It will also give you a better chance of being able to move the project to another developer.
Outside of having a good quality Contract and Statement Of Work, these are the biggest steps you can take to protect yourself when working with any development agency. Particularly if you are looking to work with an overseas company.
We are not against working with offshore developers (in fact some our client’s have amazing offshore, in-house teams for their backend development). However, you do have to be careful to ensure you get the level of transparency and accountability that you need. Especially when you are spending serious money on software.
At Brightec we are completely UK based, we give our clients direct access to our development team through Slack and in person. Payments are made on a sprint by sprint basis and code is delivered to our clients every sprint.