Choosing a development company is mostly a due-diligence problem, not a technical one. This article covers what to ask before you sign, what a serious proposal contains, how to make sure you end up owning what you paid for, and the warning signs that a project is heading for trouble. It is written to be useful even if you go on to hire one of our competitors.
Write your own brief first, however rough
Most project disputes start in the same place: nobody wrote down what was being built. Before you approach anyone, put a page or two together covering:
- The business problem you are solving, in plain language.
- Who will use the system, and what each type of user needs to do.
- What it must connect to: accounting software, a payment gateway, your website.
- What the first release must include to be worth launching, and what can wait.
- Your real deadline, and what is driving it.
You do not need to specify screens or technology; that is the vendor’s job. But a company that gives you a firm price without asking for any of this is guessing, and a guessed price becomes a change-request argument later.
What a good proposal looks like
Judge proposals on substance, not design. A serious one contains most of the following:
- A written scope naming the modules, screens or features. “Mobile app with admin panel” is not a scope.
- Explicit exclusions and assumptions. What is left out matters as much as what is in, and good vendors write it down because it protects both sides.
- Phases with something visible at the end of each. You should be using a working part of the system every few weeks, not waiting months for a big reveal.
- The technology stack, named, with a reason why it suits your situation.
- Who does the work, and whether any of it is subcontracted or built by a team elsewhere.
- Payments tied to milestones, not to the calendar.
- What sits outside the price: VAT, hosting, third-party licences, app store developer accounts, SMS credits, gateway charges — normal costs, but visible before you sign.
Ownership: the part most buyers get wrong
This is where people get hurt years later, long after a build has gone well. Settle these in writing before you pay a deposit.
- Source code and intellectual property. Who owns the code once you have paid in full? Arrangements legitimately vary: full assignment to you, or ownership of your system with the vendor retaining a reusable framework underneath. Either can be fair. Nobody writing it down is not.
- The repository. Code should live in a Git account owned by your company, with the vendor added as a collaborator — not the reverse.
- Hosting, cloud and domain accounts. In your company’s name, billed to you, with the vendor granted access. Access can be revoked; ownership is harder to claw back.
- Third-party accounts. Payment gateway, maps and SMS APIs, analytics, and the Apple and Google developer accounts. An app published under a vendor’s developer account is awkward to move.
- Your data. A full export of the database, in a usable format, whenever you ask.
- Design files, documentation and credentials, listed as deliverables rather than promised verbally.
A simple test: ask what exactly you would be left holding if you parted ways the day after launch. A good vendor answers calmly and specifically.
Questions worth asking on the call
- Can I speak to the person who will actually write the code, not only the sales contact?
- What technology will you use, and what happens if the developer who knows it best leaves?
- Can you show me something you have built that I can open right now, or screen-share it if it is confidential?
- May I contact two clients directly, including one where something went wrong?
- How are changes to scope handled mid-project, and how are they priced?
The answers matter less than the manner: vendors used to these questions answer without defensiveness.
After launch is where projects quietly fail
Software that nobody maintains degrades immediately: operating systems update, payment gateways change their APIs, security patches appear. Separate three things that often get blurred together:
- Warranty — defects in what was delivered, fixed free, for a defined period after go-live.
- Support and maintenance — updates, monitoring, backups and small fixes, usually annual, with a response-time commitment.
- Change requests — new functionality, quoted separately.
Ask what happens if something breaks at nine in the evening, and who picks up the phone. Ask whether backups are taken, where they are stored, and whether a restore has ever been tested — a vendor who has never tested a restore does not have backups, only hope.
Warning signs
- No written scope — just a price and a friendly conversation.
- Vague timelines: “two to three months”, with no phases and no definition of done.
- Refusing to name the stack, or answering in buzzwords. There is no legitimate reason to hide it.
- No direct access to the developers. Everything routed through a salesperson often means the build is happening somewhere you cannot see.
- A large upfront payment with no deliverable attached to it.
- Everything is possible and nothing is out of scope. A vendor who never pushes back has not read your requirements.
- Reluctance to put ownership terms in writing, or pressure to sign because a discount expires.
Checking the company is real
Ask for a copy of the trade licence — mainland or free zone, both are normal in the UAE — and check the name on it matches the entity on the quotation and the bank account you are asked to pay. If you have any doubt about what a licence permits, your licensing authority or a company formation agent can confirm it rather than the vendor. Then look for evidence beyond paperwork: systems you can open, clients who will take your call, profiles that match what the proposal claims.
What actually drives the price
If two quotes differ wildly, the scope almost certainly differs too. Cost is driven by the number of user roles and the permissions behind them, integrations with systems you do not control, how much design is custom rather than templated, offline working, Arabic and right-to-left layouts, testing and security expectations, and how much old data must be migrated. A mobile app on iOS and Android and an internal custom system for five people sit at very different points on that scale, though both get called “an app”.
Price ranges published online are very rough, because they describe wildly different scopes. The only sound comparison is to give every vendor the same brief, ask for a price against the same feature list, then read what each excluded. Our own position is to quote a fixed price after a short discovery call rather than guessing on a first phone call — and to treat anyone who does otherwise with caution, ourselves included.
If you want a second opinion
If you have a proposal in front of you and want a sanity check on the scope, the assumptions or the ownership clauses, we are happy to read it with you, whether or not we are bidding. If you are still working out what to build, that conversation is usually more useful anyway.
You can reach us at metapro.ae/contacts, by email at [email protected], or on +971 4 430 1882.

