How to Choose a Software Development Company: The Buyer’s Checklist

How to choose a software development company — a buyer comparing two development proposals against a printed vendor evaluation checklist.

How to choose a software development company: check five things before comparing price — who actually writes your code (the senior-to-junior ratio), whether you own the repository outright, how they price, what happens after launch, and whether they’ll ever tell you no.

That is the order we would ask them in, and the order matters. The first two questions eliminate more vendors than the other three combined, because they are the two a poorly run shop cannot talk its way past.

How to choose a software development company: what actually separates vendors

Search this question and you get the same list from twenty different agencies: check their portfolio, assess their communication, read the reviews. None of that separates anyone. Nobody shows you the project that went sideways, every vendor is responsive while they are still selling, and a placement on a “Top 10 Developers” list is usually a media buy rather than an evaluation.

A useful evaluation question has one property: a vendor who is wrong for you cannot answer it well. Not “will not” — cannot. If a firm staffs your project with juniors, it cannot give you a senior-to-junior ratio without hurting itself. If it keeps your code in its own accounts, it cannot describe a clean handoff. The right questions do the sorting for you, and they do it in the first meeting rather than in month seven.

Five checks clear that bar. Ask them of every firm on your list — including ours. QOS Software is a custom software development company, and this checklist is written to be used against us too. Where our own answer is relevant it appears once, as a worked example of what a real answer sounds like, so you can hold everyone to the same standard.

Who actually writes your code — and how do they use AI?

The people in the pitch are frequently not the people on the keyboard. That is the oldest structural problem in this industry: a senior architect and a polished account lead sell the work, and the work lands on whoever is on the bench. You do not fix that by asking whether their developers are good. You fix it by asking for names.

Ask these, in writing:

  • Who specifically is on my team, what is each person’s title, and how many years have they been doing this? Names, not headcount.
  • What share of my billed hours will be worked by senior developers? Any firm that has thought about this can answer with a number. A firm that has not will answer with an adjective.
  • Will those names be in the contract, and what happens if one of them rolls off? Substitution is normal; silent substitution is not.
  • Who reviews the code before it merges, and are they on my project or outside it?

Then ask the question that did not exist three years ago and is now mandatory: how do you use AI in your development process? Evasion in either direction is a red flag. A vendor who claims to use none of it is either not telling you the truth or is billing you for typing that no longer needs a human. A vendor who leads with AI as a marketing slogan but cannot say who reviews the output is shipping code nobody has read.

The four follow-ups that get you a real answer: which parts of the workflow it touches (scaffolding and tests, or architecture decisions), who reviews what it produces and what their seniority is, whether AI-assisted work is billed at a different rate than human work, and whether any of your code or data leaves their environment — including whether it can be used to train a model. That last one belongs in the contract, not in a sales answer.

One more, and it costs you nothing: read what the firm has published about your own domain. Not case studies — those are written by marketers. Look for something technical and specific enough to be wrong, the way our 3PL integration checklist commits to an actual build order. You will learn more from five minutes of a vendor’s published thinking than from an hour of its capabilities deck.

Our own answer, for the record: a founder-led team of senior developers, with AI handling the junior-level work so builds ship faster, and a senior reviewing everything that merges — the reasoning behind that structure is on our why choose us page. Do not take our word for it; make every firm on your list answer the same two-part question and compare the answers.

Do you own the code outright?

Most buyers assume that paying for software means owning it. That assumption is contractual, not automatic, and the gap between the two is where a surprising number of projects get stuck. Ownership is decided by four things, and you can check all four before signing.

  • The assignment clause, not the phrase “work for hire.” Under US copyright law, a commissioned work only qualifies as a work made for hire if it falls into a short list of enumerated categories — and custom software generally is not one of them. A contract that says “work made for hire” and stops there can leave the copyright sitting with the developer. What you want next to it is a present assignment: all right, title, and interest, including copyright, assigned to you, effective on payment.
  • Repositories in your own accounts. Your organization on your git host, your cloud accounts, your domain registrar, your app-store listings. You invite the vendor in; the vendor does not invite you in. This single arrangement removes almost every ugly exit scenario before it can happen.
  • No per-seat runtime license on software you paid to build. If a vendor retains a license to reusable components it brought with it, that can be reasonable — but the components must be named in an exhibit, and your license to them must be perpetual, irrevocable, and transferable if you sell the business.
  • A third-party and open-source inventory. Ask for the list of open-source licenses in the build. A copyleft license buried in a product you intend to distribute is a real legal problem, and it is far cheaper to find in a spreadsheet than in diligence during a sale.

The test that cuts through all of it: “If we part ways next month, what exactly do I have?” A good answer is boring and specific — the repository, the deployment configuration, the credentials, the documentation, in your accounts, today. Ask for a repository transfer before the final payment, not after. Any firm that hesitates has just answered the question.

How do they price — and what should a quote contain?

There are three common pricing models. None of them is the correct one. The flag is a company that offers only one, because that means the model was chosen for its cash flow rather than for your project.

ModelBest forWhat to watch
Time and materialsDiscovery work, evolving scope, long-running products where the roadmap changesNo cap means no forcing function. Require a not-to-exceed amount per phase and a weekly burn report you actually read.
Fixed-scopeA deliverable you can specify in writing and are not going to change mid-flightThe vendor’s risk gets priced into the number, and every change becomes a change order. The spec and the assumptions carry the entire project.
Monthly capacity subscriptionContinuous improvement after launch, or a roadmap with no fixed end dateAsk what happens to unused capacity, how quickly you can scale up or down, and what the exit notice period is.

Whichever model you land on, the quote itself is the artifact worth grading. A real one itemizes: named deliverables rather than phases; an assumptions section; explicit exclusions; a change-order process with the rate stated in advance; who pays for third-party services and licenses; acceptance criteria; and payment milestones tied to delivered work rather than to the calendar.

The assumptions section is the quality signal, and it is the one most buyers skim. It is the vendor writing down what it believes to be true — how many user roles, which systems already have working APIs, who supplies the content, how many rounds of review. A quote with no assumptions section is either padded to cover the unknowns or about to become a change order. We would rather argue with you about an assumption in week one than invoice you for it in week nine.

For reference points on the money itself: our own model and tiers are published on our pricing page, and the broader market ranges are broken down in our 2027 custom software development cost guide. Compare a vendor’s number against the market, not against the other two quotes on your desk — three quotes from the same shortlist can all be wrong in the same direction.

Will they ever tell you not to build?

This is the cheapest question on the list and the most revealing. Ask it exactly like this: “If an off-the-shelf product already covers eighty percent of what I have described, what would you tell me?”

If you have not settled that question for yourself yet, our comparison of custom software vs off-the-shelf walks through how to tell which side you are on.

A good answer names the products. It then names the missing twenty percent and asks a follow-up question, because the whole decision lives there: if the missing twenty percent is the part that differentiates your business, or a compliance obligation you cannot configure your way out of, custom is justified. If the missing twenty percent is a preference, a report layout, or the way your last system used to work, you are about to spend real money reproducing a habit.

A weak answer skips straight to how flexible custom development is. A vendor who has never once talked a prospect out of a build is selling hours, not outcomes — and you will find that out later, during the change orders, rather than now.

The follow-up that confirms it: “Tell me about a project you turned down, and why.” Every firm that has been doing this seriously has one. A firm with no such story either has not been asked to do anything outside its range, or says yes to everything.

What happens after launch?

Launch is the middle of the project, not the end of it. The support arrangement is usually the thinnest page in the proposal and the one you will live inside the longest, so make it concrete before you sign.

  • The maintenance model, stated as a model. Retainer, hourly on request, or nothing at all — all three are legitimate answers, and “we will take care of you” is not one of them. Ask what the response window is for a production outage versus a cosmetic bug, and whether that window is written down anywhere.
  • Documentation you can name. A README that gets a new developer running locally in under an hour. A record of the architecture decisions and why they were made. A deployment and rollback runbook. An inventory of credentials and third-party accounts. Ask to see the equivalent artifacts from a past project, redacted.
  • The bus factor. How many people at that firm have actually worked in your system? If the honest answer is one, you have hired a freelancer with a logo and an invoicing department.
  • The offboarding clause. Ask it plainly: “How do we fire you?” It is a completely legitimate pre-contract question, and the answer should already exist — notice period, what you receive, what a transition costs, how long they will support the next team. We treat that question as a good sign about the buyer, not a bad one.

Our experience, stated plainly: the vendors who price offboarding openly are the safest ones to hire, because a firm that is comfortable describing your exit is not depending on trapping you to keep the revenue.

Do you need a development company at all?

Sometimes the right answer to “how to choose a software development company” is “do not hire one yet.” Four common situations point somewhere else entirely:

  • A configurable product plus a good implementer. If the workflow is genuinely standard, buying and configuring beats building, and the total cost is not close.
  • One small, well-scoped build with a single integration. A strong freelancer is frequently the better value here, and a good company will say so instead of quoting it.
  • You want engineers embedded in your team, under your management and your process — that is staff augmentation, and our sister company QOS Staffing does it.
  • The product itself is an AI agent or an automation workflow — that belongs with QOS Agentic, not with a general development shop.

And if what you actually need is somebody to run, patch, and monitor software you already own rather than build something new, that is managed IT, which is QOS MSP‘s work rather than ours.

Here is the anti-sell, and we mean it literally. If your project genuinely needs twenty or more concurrent engineers, formal PMO governance, or staffed twenty-four-hour support from day one, a founder-led senior team is the wrong shape for it. Hire a large systems integrator. That is the correct call, not a compromise, and any firm our size that tells you otherwise is bidding on a project it will have to staff by hiring strangers.

The same goes for a buyer who requires the entire delivery team physically on-site every day. That is a real requirement in some environments, and it is a mismatch with how most senior development teams work — including ours. Better to find that out in the first conversation than in month three.

What you can skip

Evaluation fatigue is real, and most of the traditional vendor-vetting ritual measures nothing. You can safely drop all of this:

  • The office tour. A nice office proves that a firm has a lease. It predicts nothing about the code.
  • “Top 10 Software Developers” badge listicles. Most of those directories charge for placement or for the badge, and the ranking criteria are rarely published. A badge is a marketing expense wearing the costume of an award.
  • The big-logo client wall. A recognizable logo often means a subcontract two layers deep, or one small project years ago. Ask instead: what did you build for them, who on your team worked on it, and can I speak to somebody who used it daily?
  • Demanding a local-only team. Timezone overlap and access to a decision-maker matter enormously. A ZIP code delivers neither on its own.
  • Headcount as a proxy for capacity. A firm with two hundred people is not necessarily giving you more than three of them, and a firm with twelve may be giving you its best four. Ask about the team assigned to you, which is the only number that affects your project.
  • Asking for free spec work or an unpaid prototype. It selects for whoever is least busy and most willing to guess, and it teaches the vendor that your requirements are negotiable before the work even starts. Pay for a short discovery instead, and keep the deliverable.

Frequently asked questions

What questions should I ask a software development company before hiring them?

Ask five, in this order. Who specifically writes the code, and what share of my billed hours are senior. How do you use AI, who reviews its output, and does any of my code or data leave your environment. Does the contract assign the intellectual property to me on payment, and will the repositories live in my own accounts. How do you price, and what does the quote itemize, including its assumptions. And what would you tell me if an off-the-shelf product already covered most of this. Send all five in writing to every firm on your shortlist and compare the written answers side by side, because sales calls are not comparable and written answers are.

What are red flags when hiring a software development company?

A firm that will not name the individual people on your team. An answer to the AI question that is either a flat denial or a slogan with no reviewer behind it. A contract that says work made for hire but never assigns copyright on payment. Repositories, cloud accounts, or domains held in the vendor’s name instead of yours. A quote with no assumptions section and no exclusions. A company that has never advised a prospect against building something. And an offboarding process nobody will describe before you sign. Any one of those is a conversation worth having. Three of them together is a different vendor.

Should I hire a local software development company?

Usually not as a requirement. What actually matters is timezone overlap during your working hours and direct access to someone who can change the plan, and a ZIP code delivers neither of those on its own. On-site presence earns its cost when the workflow being automated is physical and has to be observed in person, such as a warehouse floor, a plant, or a clinic intake desk, or when regulated data cannot leave a facility. Outside of those cases, insisting on a local-only team shrinks your shortlist without improving the software you get.

Which pricing model should a software development company use?

There is no single correct model, and treating one as correct is how buyers get burned. Time and materials suits discovery and evolving scope, but it needs a not-to-exceed amount per phase and a weekly burn report. Fixed-scope suits a deliverable you can specify in writing, and it prices the vendor’s risk into the number, so the specification and the assumptions carry the whole project. A monthly capacity subscription suits continuous improvement after launch. The real red flag is a company that offers only one model, because that means the model was chosen for its cash flow rather than for your project.

Is a freelancer better than a software development company?

For a small, well-scoped build with one integration and no compliance burden, a good freelancer is often the better value, and an honest company will tell you so rather than quote it. A company earns its premium when the work needs several skills at once, when delivery has to continue while somebody is on vacation or leaves, or when you need a contract, insurance, and a written support commitment standing behind the software. The question that decides it is not which is better in general. It is what happens to this system if the one person who built it disappears.

Where to start

Pick three of the five checks and send them to every firm on your shortlist in writing, on the same day, in the same words. Written answers are comparable; sales calls are not. The differences are usually obvious by the second reply.

The cheapest useful thing you can do this week costs nothing: write one page describing what the software has to do, who uses it, what it has to connect to, and what it must never do. That page is what makes vendor answers comparable in the first place, and it is the same page we would ask you for on day one. Any firm that cannot respond to one page with real questions is telling you something.

The honest trade-off: this much diligence is worth it when the software is a system your business will depend on. If you are buying a marketing site or a small internal tool, run the ownership check and the pricing check, skip the rest, and move faster — the process should never cost more than the thing you are buying.

QOS Software is a founder-led team of senior developers, with AI handling the junior-level work so builds ship faster. We have been building software under QOS since 2007. Today we work from Indianapolis and the Chicago metro, and with clients nationally. If you want to see how we answer our own checklist, our why choose us page lays it out question by question — and if you would rather just ask us directly, a short conversation will tell you more than another vendor demo. No cost, no obligation, and we will tell you if we are the wrong shape for the project.

Put this to work in your business

Talk with a QOS engineer about what you read here — practical answers, no sales pressure.
Schedule Introductory Meeting
There is no cost or obligation.