How to Choose a Software Development Company: 10 Criteria and 8 Red Flags
How to choose a software development company: 10 evaluation criteria, 8 red flags, the right way to compare quotes, and a pre-contract checklist.
Before Comparing Vendors, Write Down What You Actually Need
Most outsourcing disasters are not caused after the contract is signed — they are caused before the first quote is requested. When requirements are vague, every vendor quotes a guess, the quotes you receive cannot be compared, and the cost of guessing wrong lands entirely on you.
Prepare a one-page requirements document before approaching anyone. No jargon needed:
- The problem to solve: one or two sentences on the current pain and the change you expect.
- Target users and context: who uses it, in what situation, at roughly what scale.
- Core flows: 3–5 main paths, e.g. "customer books online → merchant confirms in the back office → reminder sent automatically".
- Must-haves and explicit non-goals: writing down what you will NOT build matters as much as what you will.
- Budget range and deadline: an honest range lets vendors judge feasibility.
If you struggle to prioritize features, borrow the MoSCoW method — our startup MVP budget guide walks through it. Keep this document handy: when comparing vendors later, every one of them must receive the exact same version.
10 Evaluation Criteria — Every One of Them Verifiable
There is only one principle for evaluating vendors: ignore adjectives, verify facts. "We are very experienced" is an adjective; "here are three similar projects and clients you can call" is a fact. Each of the ten criteria below comes with a way to check it:
| Criterion | How to Verify | What Passing Looks Like |
|---|---|---|
| Real cases and reference clients | Ask for contactable references | Willing to provide them, with projects similar to yours |
| Communication quality and responsiveness | Observe the pre-sales exchange | Replies on point; asks clarifying questions instead of rushing to quote |
| Quote transparency | Request an itemized quote | Line items by feature module or milestone, each with an amount |
| Source code and IP ownership | Ask directly; require it in the contract | Full ownership transfers to you upon final payment |
| Staged acceptance | Ask how payments map to deliveries | 2–3 milestones; you pay each installment after seeing working results |
| Warranty and maintenance | Ask about warranty length, scope and maintenance pricing | Clear warranty terms; maintenance fees follow a published formula |
| Security practices | Ask how passwords are stored, access controlled, personal data handled | Concrete answers, not "we take security seriously" |
| Industry experience | Ask about same-industry or same-type systems | Can discuss industry specifics — regulations, edge cases, workflows |
| Team composition | Ask who actually works on your project and whether it is subcontracted | Named roles for your point of contact and developers; no full-project subcontracting |
| Contract completeness | Read every clause before signing | Covers scope, change process, acceptance criteria, IP, confidentiality, termination |
For reference clients there is an advanced move: do not ask for one, ask for three kinds — a current client of 12+ months (long-term quality), a completed project (whether handover was clean), and a project that nearly failed (how problems get handled). Vendors willing to offer the third kind are usually the ones that survive scrutiny.
8 Red Flags — Any One of Them Deserves a Pause
- A quote far below market rate: cheap is not generosity, it is cost-shifting. Industry surveys point to the usual playbook — junior teams learning on your project, skipped testing and code review, and the gap recovered later through "additional items". Fixing an abandoned system often costs more than rebuilding it; see our guide to rescuing failed outsourced systems.
- "Yes" to everything: a vendor who instantly answers "no problem" to every request has not thought about how to build it. A professional answer includes constraints and alternatives.
- Vague IP clauses: wording like "reusable components remain the vendor's property" or "IP jointly owned" gives the vendor a standing claim over your product's core features — a landmine for vendor migration and investor due diligence.
- Refusing staged acceptance: insisting on "half upfront, half on delivery" with no checkpoints in between asks you to gamble blind with hundreds of thousands.
- Evasive communication: dodging detailed questions and answering every timeline with "we'll see" — it only gets worse after delivery.
- Unverifiable portfolio: a slick case list with no live URLs, no contactable clients, or screenshots that are obviously template mockups.
- No answer on security basics: a team that cannot explain how it stores passwords should not be trusted with your members' personal data.
- A one-line quote: a single total is equally untrustworthy at NT$300K or NT$800K — you cannot tell whether your scopes match, and every future dispute has nothing to anchor on.
Comparing Quotes the Right Way: Line Items, Not Totals
The correct process: send the exact same requirements document to 2–3 vendors, then compare line items instead of totals. When two quotes differ by 2x, the most common cause is not that someone is ripping you off — it is that the two vendors understood the scope differently. One included the admin panel, deployment and warranty; the other only priced the front end. Comparing item by item surfaces the gap immediately; for what a healthy quote is made of, see our custom development cost guide.
Two field rules:
- Question the lowest bid before you are tempted by it: if the lowest quote undercuts the next one by more than 30%, assume missing scope or quality trade-offs until the vendor can explain, item by item, where the savings come from.
- Start with a pilot project: one of the most effective risk reducers in outsourcing. Begin with something under NT$100K deliverable in 2–4 weeks — a standalone module, a scraper, an internal tool — and let real collaboration test communication, quality and delivery discipline. It beats any sales deck.
The Final Pre-Contract Checklist
Before paying any deposit, tick every box:
- Source code and IP transfer fully to you upon final payment — written into the contract
- The project is split into 2–3 milestones, each with concrete, testable acceptance criteria
- Warranty length and scope are explicit; post-warranty maintenance pricing is confirmed
- The process and pricing for change requests are agreed now, not "we'll discuss later"
- An NDA is signed; your business ideas and data are protected
- You have actually spoken to at least one reference client
- The contract has a termination clause covering rights to work completed so far
Confirming all seven items costs you roughly an extra week. What it prevents is rework and legal disputes measured in the hundreds of thousands. If a vendor resists any single item, that alone is worth reconsidering the engagement.
Good Standards Filter Vendors for You
These criteria may look strict, but they are not — delivering source code, staged acceptance, itemized quotes and a signed NDA are the passing grade of software outsourcing, not bonus points. A healthy vendor is never inconvenienced by this checklist; they welcome clients who know the rules, because clear rules save both sides money.
These are the same standards EFFECT holds itself to: 50+ projects, 30+ business clients, 98% satisfaction, with source code delivered, milestones accepted in stages, and every quote itemized. If you have a project to commission, bring your requirements to a free 30-minute consultation (NDA protected) — even if we are not the right fit, you will leave with a scope clear enough to take to any vendor for comparison.
FAQ
Should I choose a large company or a small team?
It depends on project size and the collaboration you want. Large firms have mature processes and deep benches, but small-to-mid projects often get assigned to junior staff behind layers of account managers. Small teams decide fast and usually give you direct access to senior engineers, though you should check staffing backup and business continuity. Rather than judging by size, return to verifiable criteria: references, staged acceptance, source code ownership and contract completeness. For small-to-mid systems, the right small team often outperforms a big firm on value.
Two quotes differ by 2x — should I take the cheaper one?
Not yet. A 2x gap almost always means the two vendors understood the scope differently. Request itemized quotes from both and compare line by line — the usual gaps are the admin panel, deployment, warranty and data migration. If the cheaper vendor is still far lower after scopes are aligned, ask them to explain exactly where the savings come from. If they cannot, the price is usually funded by junior staffing or skipped testing, and change fees plus rework will eat the difference back.
Why does source code ownership matter so much?
Without the source code, the vendor holds your system hostage: switching maintainers, hiring anyone to add features, even passing investor due diligence all get blocked. The sneakier risk is vague wording — 'jointly owned' or 'reusable components remain the vendor's property' gives the vendor a standing claim over your core features. The correct arrangement: the contract states that source code and IP transfer fully to you upon final payment, and at handover you actually receive the complete codebase and deployment documentation.
I have no technical background — how do I do acceptance testing?
Acceptance tests behavior, not code, so no technical background is required. Before work starts, turn every feature into operable acceptance items — for example, 'register with a phone number, receive an SMS code, reset a forgotten password' — then walk through each item hands-on at acceptance. Combined with staged delivery, you only verify one milestone's scope at a time, which keeps the load manageable. For higher-value projects, a small fee for an independent engineer to audit the code and documentation is money well spent.
Let EFFECT walk this with you
EFFECT offers a free 30-minute consultation — a senior consultant helps you clarify requirements, budget and timeline. All ideas stay strictly confidential (NDA Compliant).
Book a Free Consultation